vuexy 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1439) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +70 -0
  3. data/Rakefile +8 -0
  4. data/app/assets/config/vuexy_manifest.js +11 -0
  5. data/app/assets/fonts/feather/fonts/feather.eot +0 -0
  6. data/app/assets/fonts/feather/fonts/feather.svg +849 -0
  7. data/app/assets/fonts/feather/fonts/feather.ttf +0 -0
  8. data/app/assets/fonts/feather/fonts/feather.woff +0 -0
  9. data/app/assets/fonts/feather/iconfont.css +568 -0
  10. data/app/assets/fonts/flag-icon-css/LICENSE +21 -0
  11. data/app/assets/fonts/flag-icon-css/README.md +70 -0
  12. data/app/assets/fonts/flag-icon-css/css/flag-icon.css +1538 -0
  13. data/app/assets/fonts/flag-icon-css/css/flag-icon.min.css +1 -0
  14. data/app/assets/fonts/flag-icon-css/flags/1x1/ad.svg +158 -0
  15. data/app/assets/fonts/flag-icon-css/flags/1x1/ae.svg +9 -0
  16. data/app/assets/fonts/flag-icon-css/flags/1x1/af.svg +434 -0
  17. data/app/assets/fonts/flag-icon-css/flags/1x1/ag.svg +15 -0
  18. data/app/assets/fonts/flag-icon-css/flags/1x1/ai.svg +772 -0
  19. data/app/assets/fonts/flag-icon-css/flags/1x1/al.svg +5 -0
  20. data/app/assets/fonts/flag-icon-css/flags/1x1/am.svg +6 -0
  21. data/app/assets/fonts/flag-icon-css/flags/1x1/ao.svg +14 -0
  22. data/app/assets/fonts/flag-icon-css/flags/1x1/aq.svg +14 -0
  23. data/app/assets/fonts/flag-icon-css/flags/1x1/ar.svg +144 -0
  24. data/app/assets/fonts/flag-icon-css/flags/1x1/as.svg +34 -0
  25. data/app/assets/fonts/flag-icon-css/flags/1x1/at.svg +7 -0
  26. data/app/assets/fonts/flag-icon-css/flags/1x1/au.svg +13 -0
  27. data/app/assets/fonts/flag-icon-css/flags/1x1/aw.svg +189 -0
  28. data/app/assets/fonts/flag-icon-css/flags/1x1/ax.svg +19 -0
  29. data/app/assets/fonts/flag-icon-css/flags/1x1/az.svg +8 -0
  30. data/app/assets/fonts/flag-icon-css/flags/1x1/ba.svg +15 -0
  31. data/app/assets/fonts/flag-icon-css/flags/1x1/bb.svg +6 -0
  32. data/app/assets/fonts/flag-icon-css/flags/1x1/bd.svg +7 -0
  33. data/app/assets/fonts/flag-icon-css/flags/1x1/be.svg +8 -0
  34. data/app/assets/fonts/flag-icon-css/flags/1x1/bf.svg +8 -0
  35. data/app/assets/fonts/flag-icon-css/flags/1x1/bg.svg +8 -0
  36. data/app/assets/fonts/flag-icon-css/flags/1x1/bh.svg +12 -0
  37. data/app/assets/fonts/flag-icon-css/flags/1x1/bi.svg +16 -0
  38. data/app/assets/fonts/flag-icon-css/flags/1x1/bj.svg +15 -0
  39. data/app/assets/fonts/flag-icon-css/flags/1x1/bl.svg +8 -0
  40. data/app/assets/fonts/flag-icon-css/flags/1x1/bm.svg +98 -0
  41. data/app/assets/fonts/flag-icon-css/flags/1x1/bn.svg +76 -0
  42. data/app/assets/fonts/flag-icon-css/flags/1x1/bo.svg +8 -0
  43. data/app/assets/fonts/flag-icon-css/flags/1x1/bq.svg +6 -0
  44. data/app/assets/fonts/flag-icon-css/flags/1x1/br.svg +46 -0
  45. data/app/assets/fonts/flag-icon-css/flags/1x1/bs.svg +14 -0
  46. data/app/assets/fonts/flag-icon-css/flags/1x1/bt.svg +125 -0
  47. data/app/assets/fonts/flag-icon-css/flags/1x1/bv.svg +14 -0
  48. data/app/assets/fonts/flag-icon-css/flags/1x1/bw.svg +8 -0
  49. data/app/assets/fonts/flag-icon-css/flags/1x1/by.svg +60 -0
  50. data/app/assets/fonts/flag-icon-css/flags/1x1/bz.svg +238 -0
  51. data/app/assets/fonts/flag-icon-css/flags/1x1/ca.svg +12 -0
  52. data/app/assets/fonts/flag-icon-css/flags/1x1/cc.svg +19 -0
  53. data/app/assets/fonts/flag-icon-css/flags/1x1/cd.svg +13 -0
  54. data/app/assets/fonts/flag-icon-css/flags/1x1/cf.svg +16 -0
  55. data/app/assets/fonts/flag-icon-css/flags/1x1/cg.svg +13 -0
  56. data/app/assets/fonts/flag-icon-css/flags/1x1/ch.svg +10 -0
  57. data/app/assets/fonts/flag-icon-css/flags/1x1/ci.svg +8 -0
  58. data/app/assets/fonts/flag-icon-css/flags/1x1/ck.svg +12 -0
  59. data/app/assets/fonts/flag-icon-css/flags/1x1/cl.svg +14 -0
  60. data/app/assets/fonts/flag-icon-css/flags/1x1/cm.svg +15 -0
  61. data/app/assets/fonts/flag-icon-css/flags/1x1/cn.svg +20 -0
  62. data/app/assets/fonts/flag-icon-css/flags/1x1/co.svg +8 -0
  63. data/app/assets/fonts/flag-icon-css/flags/1x1/cr.svg +8 -0
  64. data/app/assets/fonts/flag-icon-css/flags/1x1/cu.svg +14 -0
  65. data/app/assets/fonts/flag-icon-css/flags/1x1/cv.svg +17 -0
  66. data/app/assets/fonts/flag-icon-css/flags/1x1/cw.svg +15 -0
  67. data/app/assets/fonts/flag-icon-css/flags/1x1/cx.svg +15 -0
  68. data/app/assets/fonts/flag-icon-css/flags/1x1/cy.svg +6 -0
  69. data/app/assets/fonts/flag-icon-css/flags/1x1/cz.svg +13 -0
  70. data/app/assets/fonts/flag-icon-css/flags/1x1/de.svg +8 -0
  71. data/app/assets/fonts/flag-icon-css/flags/1x1/dj.svg +14 -0
  72. data/app/assets/fonts/flag-icon-css/flags/1x1/dk.svg +5 -0
  73. data/app/assets/fonts/flag-icon-css/flags/1x1/dm.svg +153 -0
  74. data/app/assets/fonts/flag-icon-css/flags/1x1/do.svg +6749 -0
  75. data/app/assets/fonts/flag-icon-css/flags/1x1/dz.svg +5 -0
  76. data/app/assets/fonts/flag-icon-css/flags/1x1/ec.svg +146 -0
  77. data/app/assets/fonts/flag-icon-css/flags/1x1/ee.svg +8 -0
  78. data/app/assets/fonts/flag-icon-css/flags/1x1/eg.svg +42 -0
  79. data/app/assets/fonts/flag-icon-css/flags/1x1/eh.svg +16 -0
  80. data/app/assets/fonts/flag-icon-css/flags/1x1/er.svg +14 -0
  81. data/app/assets/fonts/flag-icon-css/flags/1x1/es.svg +581 -0
  82. data/app/assets/fonts/flag-icon-css/flags/1x1/et.svg +15 -0
  83. data/app/assets/fonts/flag-icon-css/flags/1x1/eu.svg +28 -0
  84. data/app/assets/fonts/flag-icon-css/flags/1x1/fi.svg +17 -0
  85. data/app/assets/fonts/flag-icon-css/flags/1x1/fj.svg +139 -0
  86. data/app/assets/fonts/flag-icon-css/flags/1x1/fk.svg +91 -0
  87. data/app/assets/fonts/flag-icon-css/flags/1x1/fm.svg +12 -0
  88. data/app/assets/fonts/flag-icon-css/flags/1x1/fo.svg +13 -0
  89. data/app/assets/fonts/flag-icon-css/flags/1x1/fr.svg +8 -0
  90. data/app/assets/fonts/flag-icon-css/flags/1x1/ga.svg +8 -0
  91. data/app/assets/fonts/flag-icon-css/flags/1x1/gb-eng.svg +5 -0
  92. data/app/assets/fonts/flag-icon-css/flags/1x1/gb-sct.svg +4 -0
  93. data/app/assets/fonts/flag-icon-css/flags/1x1/gb-wls.svg +9 -0
  94. data/app/assets/fonts/flag-icon-css/flags/1x1/gb.svg +16 -0
  95. data/app/assets/fonts/flag-icon-css/flags/1x1/gd.svg +14 -0
  96. data/app/assets/fonts/flag-icon-css/flags/1x1/ge.svg +21 -0
  97. data/app/assets/fonts/flag-icon-css/flags/1x1/gf.svg +5 -0
  98. data/app/assets/fonts/flag-icon-css/flags/1x1/gg.svg +17 -0
  99. data/app/assets/fonts/flag-icon-css/flags/1x1/gh.svg +6 -0
  100. data/app/assets/fonts/flag-icon-css/flags/1x1/gi.svg +33 -0
  101. data/app/assets/fonts/flag-icon-css/flags/1x1/gl.svg +13 -0
  102. data/app/assets/fonts/flag-icon-css/flags/1x1/gm.svg +10 -0
  103. data/app/assets/fonts/flag-icon-css/flags/1x1/gn.svg +8 -0
  104. data/app/assets/fonts/flag-icon-css/flags/1x1/gp.svg +8 -0
  105. data/app/assets/fonts/flag-icon-css/flags/1x1/gq.svg +37 -0
  106. data/app/assets/fonts/flag-icon-css/flags/1x1/gr.svg +25 -0
  107. data/app/assets/fonts/flag-icon-css/flags/1x1/gs.svg +215 -0
  108. data/app/assets/fonts/flag-icon-css/flags/1x1/gt.svg +216 -0
  109. data/app/assets/fonts/flag-icon-css/flags/1x1/gu.svg +40 -0
  110. data/app/assets/fonts/flag-icon-css/flags/1x1/gw.svg +14 -0
  111. data/app/assets/fonts/flag-icon-css/flags/1x1/gy.svg +10 -0
  112. data/app/assets/fonts/flag-icon-css/flags/1x1/hk.svg +37 -0
  113. data/app/assets/fonts/flag-icon-css/flags/1x1/hm.svg +13 -0
  114. data/app/assets/fonts/flag-icon-css/flags/1x1/hn.svg +18 -0
  115. data/app/assets/fonts/flag-icon-css/flags/1x1/hr.svg +71 -0
  116. data/app/assets/fonts/flag-icon-css/flags/1x1/ht.svg +141 -0
  117. data/app/assets/fonts/flag-icon-css/flags/1x1/hu.svg +8 -0
  118. data/app/assets/fonts/flag-icon-css/flags/1x1/id.svg +7 -0
  119. data/app/assets/fonts/flag-icon-css/flags/1x1/ie.svg +8 -0
  120. data/app/assets/fonts/flag-icon-css/flags/1x1/il.svg +15 -0
  121. data/app/assets/fonts/flag-icon-css/flags/1x1/im.svg +37 -0
  122. data/app/assets/fonts/flag-icon-css/flags/1x1/in.svg +25 -0
  123. data/app/assets/fonts/flag-icon-css/flags/1x1/io.svg +192 -0
  124. data/app/assets/fonts/flag-icon-css/flags/1x1/iq.svg +10 -0
  125. data/app/assets/fonts/flag-icon-css/flags/1x1/ir.svg +521 -0
  126. data/app/assets/fonts/flag-icon-css/flags/1x1/is.svg +21 -0
  127. data/app/assets/fonts/flag-icon-css/flags/1x1/it.svg +16 -0
  128. data/app/assets/fonts/flag-icon-css/flags/1x1/je.svg +67 -0
  129. data/app/assets/fonts/flag-icon-css/flags/1x1/jm.svg +23 -0
  130. data/app/assets/fonts/flag-icon-css/flags/1x1/jo.svg +25 -0
  131. data/app/assets/fonts/flag-icon-css/flags/1x1/jp.svg +20 -0
  132. data/app/assets/fonts/flag-icon-css/flags/1x1/ke.svg +23 -0
  133. data/app/assets/fonts/flag-icon-css/flags/1x1/kg.svg +24 -0
  134. data/app/assets/fonts/flag-icon-css/flags/1x1/kh.svg +155 -0
  135. data/app/assets/fonts/flag-icon-css/flags/1x1/ki.svg +48 -0
  136. data/app/assets/fonts/flag-icon-css/flags/1x1/km.svg +28 -0
  137. data/app/assets/fonts/flag-icon-css/flags/1x1/kn.svg +24 -0
  138. data/app/assets/fonts/flag-icon-css/flags/1x1/kp.svg +24 -0
  139. data/app/assets/fonts/flag-icon-css/flags/1x1/kr.svg +41 -0
  140. data/app/assets/fonts/flag-icon-css/flags/1x1/kw.svg +22 -0
  141. data/app/assets/fonts/flag-icon-css/flags/1x1/ky.svg +125 -0
  142. data/app/assets/fonts/flag-icon-css/flags/1x1/kz.svg +66 -0
  143. data/app/assets/fonts/flag-icon-css/flags/1x1/la.svg +21 -0
  144. data/app/assets/fonts/flag-icon-css/flags/1x1/lb.svg +44 -0
  145. data/app/assets/fonts/flag-icon-css/flags/1x1/lc.svg +17 -0
  146. data/app/assets/fonts/flag-icon-css/flags/1x1/li.svg +43 -0
  147. data/app/assets/fonts/flag-icon-css/flags/1x1/lk.svg +22 -0
  148. data/app/assets/fonts/flag-icon-css/flags/1x1/lr.svg +28 -0
  149. data/app/assets/fonts/flag-icon-css/flags/1x1/ls.svg +173 -0
  150. data/app/assets/fonts/flag-icon-css/flags/1x1/lt.svg +16 -0
  151. data/app/assets/fonts/flag-icon-css/flags/1x1/lu.svg +16 -0
  152. data/app/assets/fonts/flag-icon-css/flags/1x1/lv.svg +16 -0
  153. data/app/assets/fonts/flag-icon-css/flags/1x1/ly.svg +25 -0
  154. data/app/assets/fonts/flag-icon-css/flags/1x1/ma.svg +4 -0
  155. data/app/assets/fonts/flag-icon-css/flags/1x1/mc.svg +15 -0
  156. data/app/assets/fonts/flag-icon-css/flags/1x1/md.svg +98 -0
  157. data/app/assets/fonts/flag-icon-css/flags/1x1/me.svg +4 -0
  158. data/app/assets/fonts/flag-icon-css/flags/1x1/mf.svg +16 -0
  159. data/app/assets/fonts/flag-icon-css/flags/1x1/mg.svg +16 -0
  160. data/app/assets/fonts/flag-icon-css/flags/1x1/mh.svg +17 -0
  161. data/app/assets/fonts/flag-icon-css/flags/1x1/mk.svg +5 -0
  162. data/app/assets/fonts/flag-icon-css/flags/1x1/ml.svg +16 -0
  163. data/app/assets/fonts/flag-icon-css/flags/1x1/mm.svg +157 -0
  164. data/app/assets/fonts/flag-icon-css/flags/1x1/mn.svg +16 -0
  165. data/app/assets/fonts/flag-icon-css/flags/1x1/mo.svg +9 -0
  166. data/app/assets/fonts/flag-icon-css/flags/1x1/mp.svg +267 -0
  167. data/app/assets/fonts/flag-icon-css/flags/1x1/mq.svg +16 -0
  168. data/app/assets/fonts/flag-icon-css/flags/1x1/mr.svg +13 -0
  169. data/app/assets/fonts/flag-icon-css/flags/1x1/ms.svg +75 -0
  170. data/app/assets/fonts/flag-icon-css/flags/1x1/mt.svg +79 -0
  171. data/app/assets/fonts/flag-icon-css/flags/1x1/mu.svg +17 -0
  172. data/app/assets/fonts/flag-icon-css/flags/1x1/mv.svg +24 -0
  173. data/app/assets/fonts/flag-icon-css/flags/1x1/mw.svg +55 -0
  174. data/app/assets/fonts/flag-icon-css/flags/1x1/mx.svg +346 -0
  175. data/app/assets/fonts/flag-icon-css/flags/1x1/my.svg +13 -0
  176. data/app/assets/fonts/flag-icon-css/flags/1x1/mz.svg +33 -0
  177. data/app/assets/fonts/flag-icon-css/flags/1x1/na.svg +29 -0
  178. data/app/assets/fonts/flag-icon-css/flags/1x1/nc.svg +16 -0
  179. data/app/assets/fonts/flag-icon-css/flags/1x1/ne.svg +6 -0
  180. data/app/assets/fonts/flag-icon-css/flags/1x1/nf.svg +47 -0
  181. data/app/assets/fonts/flag-icon-css/flags/1x1/ng.svg +18 -0
  182. data/app/assets/fonts/flag-icon-css/flags/1x1/ni.svg +137 -0
  183. data/app/assets/fonts/flag-icon-css/flags/1x1/nl.svg +16 -0
  184. data/app/assets/fonts/flag-icon-css/flags/1x1/no.svg +7 -0
  185. data/app/assets/fonts/flag-icon-css/flags/1x1/np.svg +29 -0
  186. data/app/assets/fonts/flag-icon-css/flags/1x1/nr.svg +21 -0
  187. data/app/assets/fonts/flag-icon-css/flags/1x1/nu.svg +39 -0
  188. data/app/assets/fonts/flag-icon-css/flags/1x1/nz.svg +42 -0
  189. data/app/assets/fonts/flag-icon-css/flags/1x1/om.svg +348 -0
  190. data/app/assets/fonts/flag-icon-css/flags/1x1/pa.svg +23 -0
  191. data/app/assets/fonts/flag-icon-css/flags/1x1/pe.svg +16 -0
  192. data/app/assets/fonts/flag-icon-css/flags/1x1/pf.svg +75 -0
  193. data/app/assets/fonts/flag-icon-css/flags/1x1/pg.svg +31 -0
  194. data/app/assets/fonts/flag-icon-css/flags/1x1/ph.svg +33 -0
  195. data/app/assets/fonts/flag-icon-css/flags/1x1/pk.svg +24 -0
  196. data/app/assets/fonts/flag-icon-css/flags/1x1/pl.svg +15 -0
  197. data/app/assets/fonts/flag-icon-css/flags/1x1/pm.svg +16 -0
  198. data/app/assets/fonts/flag-icon-css/flags/1x1/pn.svg +148 -0
  199. data/app/assets/fonts/flag-icon-css/flags/1x1/pr.svg +23 -0
  200. data/app/assets/fonts/flag-icon-css/flags/1x1/ps.svg +24 -0
  201. data/app/assets/fonts/flag-icon-css/flags/1x1/pt.svg +57 -0
  202. data/app/assets/fonts/flag-icon-css/flags/1x1/pw.svg +20 -0
  203. data/app/assets/fonts/flag-icon-css/flags/1x1/py.svg +157 -0
  204. data/app/assets/fonts/flag-icon-css/flags/1x1/qa.svg +20 -0
  205. data/app/assets/fonts/flag-icon-css/flags/1x1/re.svg +16 -0
  206. data/app/assets/fonts/flag-icon-css/flags/1x1/ro.svg +18 -0
  207. data/app/assets/fonts/flag-icon-css/flags/1x1/rs.svg +1571 -0
  208. data/app/assets/fonts/flag-icon-css/flags/1x1/ru.svg +16 -0
  209. data/app/assets/fonts/flag-icon-css/flags/1x1/rw.svg +13 -0
  210. data/app/assets/fonts/flag-icon-css/flags/1x1/sa.svg +55 -0
  211. data/app/assets/fonts/flag-icon-css/flags/1x1/sb.svg +26 -0
  212. data/app/assets/fonts/flag-icon-css/flags/1x1/sc.svg +23 -0
  213. data/app/assets/fonts/flag-icon-css/flags/1x1/sd.svg +22 -0
  214. data/app/assets/fonts/flag-icon-css/flags/1x1/se.svg +27 -0
  215. data/app/assets/fonts/flag-icon-css/flags/1x1/sg.svg +26 -0
  216. data/app/assets/fonts/flag-icon-css/flags/1x1/sh.svg +798 -0
  217. data/app/assets/fonts/flag-icon-css/flags/1x1/si.svg +29 -0
  218. data/app/assets/fonts/flag-icon-css/flags/1x1/sj.svg +26 -0
  219. data/app/assets/fonts/flag-icon-css/flags/1x1/sk.svg +25 -0
  220. data/app/assets/fonts/flag-icon-css/flags/1x1/sl.svg +92 -0
  221. data/app/assets/fonts/flag-icon-css/flags/1x1/sm.svg +187 -0
  222. data/app/assets/fonts/flag-icon-css/flags/1x1/sn.svg +17 -0
  223. data/app/assets/fonts/flag-icon-css/flags/1x1/so.svg +20 -0
  224. data/app/assets/fonts/flag-icon-css/flags/1x1/sr.svg +6 -0
  225. data/app/assets/fonts/flag-icon-css/flags/1x1/ss.svg +21 -0
  226. data/app/assets/fonts/flag-icon-css/flags/1x1/st.svg +26 -0
  227. data/app/assets/fonts/flag-icon-css/flags/1x1/sv.svg +645 -0
  228. data/app/assets/fonts/flag-icon-css/flags/1x1/sx.svg +105 -0
  229. data/app/assets/fonts/flag-icon-css/flags/1x1/sy.svg +27 -0
  230. data/app/assets/fonts/flag-icon-css/flags/1x1/sz.svg +92 -0
  231. data/app/assets/fonts/flag-icon-css/flags/1x1/tc.svg +107 -0
  232. data/app/assets/fonts/flag-icon-css/flags/1x1/td.svg +77 -0
  233. data/app/assets/fonts/flag-icon-css/flags/1x1/tf.svg +15 -0
  234. data/app/assets/fonts/flag-icon-css/flags/1x1/tg.svg +24 -0
  235. data/app/assets/fonts/flag-icon-css/flags/1x1/th.svg +17 -0
  236. data/app/assets/fonts/flag-icon-css/flags/1x1/tj.svg +182 -0
  237. data/app/assets/fonts/flag-icon-css/flags/1x1/tk.svg +24 -0
  238. data/app/assets/fonts/flag-icon-css/flags/1x1/tl.svg +22 -0
  239. data/app/assets/fonts/flag-icon-css/flags/1x1/tm.svg +324 -0
  240. data/app/assets/fonts/flag-icon-css/flags/1x1/tn.svg +22 -0
  241. data/app/assets/fonts/flag-icon-css/flags/1x1/to.svg +21 -0
  242. data/app/assets/fonts/flag-icon-css/flags/1x1/tr.svg +9 -0
  243. data/app/assets/fonts/flag-icon-css/flags/1x1/tt.svg +17 -0
  244. data/app/assets/fonts/flag-icon-css/flags/1x1/tv.svg +48 -0
  245. data/app/assets/fonts/flag-icon-css/flags/1x1/tw.svg +23 -0
  246. data/app/assets/fonts/flag-icon-css/flags/1x1/tz.svg +25 -0
  247. data/app/assets/fonts/flag-icon-css/flags/1x1/ua.svg +15 -0
  248. data/app/assets/fonts/flag-icon-css/flags/1x1/ug.svg +41 -0
  249. data/app/assets/fonts/flag-icon-css/flags/1x1/um.svg +117 -0
  250. data/app/assets/fonts/flag-icon-css/flags/1x1/us.svg +117 -0
  251. data/app/assets/fonts/flag-icon-css/flags/1x1/uy.svg +55 -0
  252. data/app/assets/fonts/flag-icon-css/flags/1x1/uz.svg +30 -0
  253. data/app/assets/fonts/flag-icon-css/flags/1x1/va.svg +500 -0
  254. data/app/assets/fonts/flag-icon-css/flags/1x1/vc.svg +21 -0
  255. data/app/assets/fonts/flag-icon-css/flags/1x1/ve.svg +29 -0
  256. data/app/assets/fonts/flag-icon-css/flags/1x1/vg.svg +246 -0
  257. data/app/assets/fonts/flag-icon-css/flags/1x1/vi.svg +32 -0
  258. data/app/assets/fonts/flag-icon-css/flags/1x1/vn.svg +20 -0
  259. data/app/assets/fonts/flag-icon-css/flags/1x1/vu.svg +27 -0
  260. data/app/assets/fonts/flag-icon-css/flags/1x1/wf.svg +16 -0
  261. data/app/assets/fonts/flag-icon-css/flags/1x1/ws.svg +22 -0
  262. data/app/assets/fonts/flag-icon-css/flags/1x1/ye.svg +16 -0
  263. data/app/assets/fonts/flag-icon-css/flags/1x1/yt.svg +16 -0
  264. data/app/assets/fonts/flag-icon-css/flags/1x1/za.svg +29 -0
  265. data/app/assets/fonts/flag-icon-css/flags/1x1/zm.svg +39 -0
  266. data/app/assets/fonts/flag-icon-css/flags/1x1/zw.svg +51 -0
  267. data/app/assets/fonts/flag-icon-css/flags/1x1/zz.svg +4 -0
  268. data/app/assets/fonts/flag-icon-css/flags/4x3/ad.svg +157 -0
  269. data/app/assets/fonts/flag-icon-css/flags/4x3/ae.svg +9 -0
  270. data/app/assets/fonts/flag-icon-css/flags/4x3/af.svg +434 -0
  271. data/app/assets/fonts/flag-icon-css/flags/4x3/ag.svg +16 -0
  272. data/app/assets/fonts/flag-icon-css/flags/4x3/ai.svg +772 -0
  273. data/app/assets/fonts/flag-icon-css/flags/4x3/al.svg +5 -0
  274. data/app/assets/fonts/flag-icon-css/flags/4x3/am.svg +6 -0
  275. data/app/assets/fonts/flag-icon-css/flags/4x3/ao.svg +14 -0
  276. data/app/assets/fonts/flag-icon-css/flags/4x3/aq.svg +7 -0
  277. data/app/assets/fonts/flag-icon-css/flags/4x3/ar.svg +144 -0
  278. data/app/assets/fonts/flag-icon-css/flags/4x3/as.svg +34 -0
  279. data/app/assets/fonts/flag-icon-css/flags/4x3/at.svg +7 -0
  280. data/app/assets/fonts/flag-icon-css/flags/4x3/au.svg +12 -0
  281. data/app/assets/fonts/flag-icon-css/flags/4x3/aw.svg +187 -0
  282. data/app/assets/fonts/flag-icon-css/flags/4x3/ax.svg +19 -0
  283. data/app/assets/fonts/flag-icon-css/flags/4x3/az.svg +8 -0
  284. data/app/assets/fonts/flag-icon-css/flags/4x3/ba.svg +13 -0
  285. data/app/assets/fonts/flag-icon-css/flags/4x3/bb.svg +6 -0
  286. data/app/assets/fonts/flag-icon-css/flags/4x3/bd.svg +7 -0
  287. data/app/assets/fonts/flag-icon-css/flags/4x3/be.svg +8 -0
  288. data/app/assets/fonts/flag-icon-css/flags/4x3/bf.svg +8 -0
  289. data/app/assets/fonts/flag-icon-css/flags/4x3/bg.svg +8 -0
  290. data/app/assets/fonts/flag-icon-css/flags/4x3/bh.svg +12 -0
  291. data/app/assets/fonts/flag-icon-css/flags/4x3/bi.svg +16 -0
  292. data/app/assets/fonts/flag-icon-css/flags/4x3/bj.svg +15 -0
  293. data/app/assets/fonts/flag-icon-css/flags/4x3/bl.svg +8 -0
  294. data/app/assets/fonts/flag-icon-css/flags/4x3/bm.svg +102 -0
  295. data/app/assets/fonts/flag-icon-css/flags/4x3/bn.svg +76 -0
  296. data/app/assets/fonts/flag-icon-css/flags/4x3/bo.svg +8 -0
  297. data/app/assets/fonts/flag-icon-css/flags/4x3/bq.svg +6 -0
  298. data/app/assets/fonts/flag-icon-css/flags/4x3/br.svg +46 -0
  299. data/app/assets/fonts/flag-icon-css/flags/4x3/bs.svg +14 -0
  300. data/app/assets/fonts/flag-icon-css/flags/4x3/bt.svg +125 -0
  301. data/app/assets/fonts/flag-icon-css/flags/4x3/bv.svg +14 -0
  302. data/app/assets/fonts/flag-icon-css/flags/4x3/bw.svg +8 -0
  303. data/app/assets/fonts/flag-icon-css/flags/4x3/by.svg +63 -0
  304. data/app/assets/fonts/flag-icon-css/flags/4x3/bz.svg +238 -0
  305. data/app/assets/fonts/flag-icon-css/flags/4x3/ca.svg +12 -0
  306. data/app/assets/fonts/flag-icon-css/flags/4x3/cc.svg +19 -0
  307. data/app/assets/fonts/flag-icon-css/flags/4x3/cd.svg +6 -0
  308. data/app/assets/fonts/flag-icon-css/flags/4x3/cf.svg +16 -0
  309. data/app/assets/fonts/flag-icon-css/flags/4x3/cg.svg +13 -0
  310. data/app/assets/fonts/flag-icon-css/flags/4x3/ch.svg +10 -0
  311. data/app/assets/fonts/flag-icon-css/flags/4x3/ci.svg +8 -0
  312. data/app/assets/fonts/flag-icon-css/flags/4x3/ck.svg +12 -0
  313. data/app/assets/fonts/flag-icon-css/flags/4x3/cl.svg +14 -0
  314. data/app/assets/fonts/flag-icon-css/flags/4x3/cm.svg +15 -0
  315. data/app/assets/fonts/flag-icon-css/flags/4x3/cn.svg +20 -0
  316. data/app/assets/fonts/flag-icon-css/flags/4x3/co.svg +8 -0
  317. data/app/assets/fonts/flag-icon-css/flags/4x3/cr.svg +8 -0
  318. data/app/assets/fonts/flag-icon-css/flags/4x3/cu.svg +14 -0
  319. data/app/assets/fonts/flag-icon-css/flags/4x3/cv.svg +17 -0
  320. data/app/assets/fonts/flag-icon-css/flags/4x3/cw.svg +15 -0
  321. data/app/assets/fonts/flag-icon-css/flags/4x3/cx.svg +15 -0
  322. data/app/assets/fonts/flag-icon-css/flags/4x3/cy.svg +6 -0
  323. data/app/assets/fonts/flag-icon-css/flags/4x3/cz.svg +13 -0
  324. data/app/assets/fonts/flag-icon-css/flags/4x3/de.svg +8 -0
  325. data/app/assets/fonts/flag-icon-css/flags/4x3/dj.svg +14 -0
  326. data/app/assets/fonts/flag-icon-css/flags/4x3/dk.svg +5 -0
  327. data/app/assets/fonts/flag-icon-css/flags/4x3/dm.svg +153 -0
  328. data/app/assets/fonts/flag-icon-css/flags/4x3/do.svg +6749 -0
  329. data/app/assets/fonts/flag-icon-css/flags/4x3/dz.svg +5 -0
  330. data/app/assets/fonts/flag-icon-css/flags/4x3/ec.svg +146 -0
  331. data/app/assets/fonts/flag-icon-css/flags/4x3/ee.svg +8 -0
  332. data/app/assets/fonts/flag-icon-css/flags/4x3/eg.svg +42 -0
  333. data/app/assets/fonts/flag-icon-css/flags/4x3/eh.svg +16 -0
  334. data/app/assets/fonts/flag-icon-css/flags/4x3/er.svg +9 -0
  335. data/app/assets/fonts/flag-icon-css/flags/4x3/es.svg +581 -0
  336. data/app/assets/fonts/flag-icon-css/flags/4x3/et.svg +15 -0
  337. data/app/assets/fonts/flag-icon-css/flags/4x3/eu.svg +28 -0
  338. data/app/assets/fonts/flag-icon-css/flags/4x3/fi.svg +16 -0
  339. data/app/assets/fonts/flag-icon-css/flags/4x3/fj.svg +139 -0
  340. data/app/assets/fonts/flag-icon-css/flags/4x3/fk.svg +93 -0
  341. data/app/assets/fonts/flag-icon-css/flags/4x3/fm.svg +12 -0
  342. data/app/assets/fonts/flag-icon-css/flags/4x3/fo.svg +13 -0
  343. data/app/assets/fonts/flag-icon-css/flags/4x3/fr.svg +8 -0
  344. data/app/assets/fonts/flag-icon-css/flags/4x3/ga.svg +8 -0
  345. data/app/assets/fonts/flag-icon-css/flags/4x3/gb-eng.svg +5 -0
  346. data/app/assets/fonts/flag-icon-css/flags/4x3/gb-sct.svg +4 -0
  347. data/app/assets/fonts/flag-icon-css/flags/4x3/gb-wls.svg +9 -0
  348. data/app/assets/fonts/flag-icon-css/flags/4x3/gb.svg +16 -0
  349. data/app/assets/fonts/flag-icon-css/flags/4x3/gd.svg +14 -0
  350. data/app/assets/fonts/flag-icon-css/flags/4x3/ge.svg +19 -0
  351. data/app/assets/fonts/flag-icon-css/flags/4x3/gf.svg +5 -0
  352. data/app/assets/fonts/flag-icon-css/flags/4x3/gg.svg +19 -0
  353. data/app/assets/fonts/flag-icon-css/flags/4x3/gh.svg +6 -0
  354. data/app/assets/fonts/flag-icon-css/flags/4x3/gi.svg +33 -0
  355. data/app/assets/fonts/flag-icon-css/flags/4x3/gl.svg +13 -0
  356. data/app/assets/fonts/flag-icon-css/flags/4x3/gm.svg +15 -0
  357. data/app/assets/fonts/flag-icon-css/flags/4x3/gn.svg +8 -0
  358. data/app/assets/fonts/flag-icon-css/flags/4x3/gp.svg +8 -0
  359. data/app/assets/fonts/flag-icon-css/flags/4x3/gq.svg +37 -0
  360. data/app/assets/fonts/flag-icon-css/flags/4x3/gr.svg +23 -0
  361. data/app/assets/fonts/flag-icon-css/flags/4x3/gs.svg +210 -0
  362. data/app/assets/fonts/flag-icon-css/flags/4x3/gt.svg +216 -0
  363. data/app/assets/fonts/flag-icon-css/flags/4x3/gu.svg +40 -0
  364. data/app/assets/fonts/flag-icon-css/flags/4x3/gw.svg +14 -0
  365. data/app/assets/fonts/flag-icon-css/flags/4x3/gy.svg +10 -0
  366. data/app/assets/fonts/flag-icon-css/flags/4x3/hk.svg +37 -0
  367. data/app/assets/fonts/flag-icon-css/flags/4x3/hm.svg +13 -0
  368. data/app/assets/fonts/flag-icon-css/flags/4x3/hn.svg +18 -0
  369. data/app/assets/fonts/flag-icon-css/flags/4x3/hr.svg +71 -0
  370. data/app/assets/fonts/flag-icon-css/flags/4x3/ht.svg +141 -0
  371. data/app/assets/fonts/flag-icon-css/flags/4x3/hu.svg +8 -0
  372. data/app/assets/fonts/flag-icon-css/flags/4x3/id.svg +7 -0
  373. data/app/assets/fonts/flag-icon-css/flags/4x3/ie.svg +8 -0
  374. data/app/assets/fonts/flag-icon-css/flags/4x3/il.svg +15 -0
  375. data/app/assets/fonts/flag-icon-css/flags/4x3/im.svg +37 -0
  376. data/app/assets/fonts/flag-icon-css/flags/4x3/in.svg +25 -0
  377. data/app/assets/fonts/flag-icon-css/flags/4x3/io.svg +186 -0
  378. data/app/assets/fonts/flag-icon-css/flags/4x3/iq.svg +10 -0
  379. data/app/assets/fonts/flag-icon-css/flags/4x3/ir.svg +521 -0
  380. data/app/assets/fonts/flag-icon-css/flags/4x3/is.svg +21 -0
  381. data/app/assets/fonts/flag-icon-css/flags/4x3/it.svg +16 -0
  382. data/app/assets/fonts/flag-icon-css/flags/4x3/je.svg +67 -0
  383. data/app/assets/fonts/flag-icon-css/flags/4x3/jm.svg +21 -0
  384. data/app/assets/fonts/flag-icon-css/flags/4x3/jo.svg +25 -0
  385. data/app/assets/fonts/flag-icon-css/flags/4x3/jp.svg +20 -0
  386. data/app/assets/fonts/flag-icon-css/flags/4x3/ke.svg +23 -0
  387. data/app/assets/fonts/flag-icon-css/flags/4x3/kg.svg +24 -0
  388. data/app/assets/fonts/flag-icon-css/flags/4x3/kh.svg +155 -0
  389. data/app/assets/fonts/flag-icon-css/flags/4x3/ki.svg +48 -0
  390. data/app/assets/fonts/flag-icon-css/flags/4x3/km.svg +28 -0
  391. data/app/assets/fonts/flag-icon-css/flags/4x3/kn.svg +24 -0
  392. data/app/assets/fonts/flag-icon-css/flags/4x3/kp.svg +24 -0
  393. data/app/assets/fonts/flag-icon-css/flags/4x3/kr.svg +41 -0
  394. data/app/assets/fonts/flag-icon-css/flags/4x3/kw.svg +22 -0
  395. data/app/assets/fonts/flag-icon-css/flags/4x3/ky.svg +122 -0
  396. data/app/assets/fonts/flag-icon-css/flags/4x3/kz.svg +66 -0
  397. data/app/assets/fonts/flag-icon-css/flags/4x3/la.svg +21 -0
  398. data/app/assets/fonts/flag-icon-css/flags/4x3/lb.svg +44 -0
  399. data/app/assets/fonts/flag-icon-css/flags/4x3/lc.svg +17 -0
  400. data/app/assets/fonts/flag-icon-css/flags/4x3/li.svg +43 -0
  401. data/app/assets/fonts/flag-icon-css/flags/4x3/lk.svg +22 -0
  402. data/app/assets/fonts/flag-icon-css/flags/4x3/lr.svg +28 -0
  403. data/app/assets/fonts/flag-icon-css/flags/4x3/ls.svg +173 -0
  404. data/app/assets/fonts/flag-icon-css/flags/4x3/lt.svg +16 -0
  405. data/app/assets/fonts/flag-icon-css/flags/4x3/lu.svg +16 -0
  406. data/app/assets/fonts/flag-icon-css/flags/4x3/lv.svg +16 -0
  407. data/app/assets/fonts/flag-icon-css/flags/4x3/ly.svg +23 -0
  408. data/app/assets/fonts/flag-icon-css/flags/4x3/ma.svg +4 -0
  409. data/app/assets/fonts/flag-icon-css/flags/4x3/mc.svg +15 -0
  410. data/app/assets/fonts/flag-icon-css/flags/4x3/md.svg +100 -0
  411. data/app/assets/fonts/flag-icon-css/flags/4x3/me.svg +4 -0
  412. data/app/assets/fonts/flag-icon-css/flags/4x3/mf.svg +16 -0
  413. data/app/assets/fonts/flag-icon-css/flags/4x3/mg.svg +16 -0
  414. data/app/assets/fonts/flag-icon-css/flags/4x3/mh.svg +19 -0
  415. data/app/assets/fonts/flag-icon-css/flags/4x3/mk.svg +5 -0
  416. data/app/assets/fonts/flag-icon-css/flags/4x3/ml.svg +16 -0
  417. data/app/assets/fonts/flag-icon-css/flags/4x3/mm.svg +146 -0
  418. data/app/assets/fonts/flag-icon-css/flags/4x3/mn.svg +16 -0
  419. data/app/assets/fonts/flag-icon-css/flags/4x3/mo.svg +9 -0
  420. data/app/assets/fonts/flag-icon-css/flags/4x3/mp.svg +267 -0
  421. data/app/assets/fonts/flag-icon-css/flags/4x3/mq.svg +16 -0
  422. data/app/assets/fonts/flag-icon-css/flags/4x3/mr.svg +13 -0
  423. data/app/assets/fonts/flag-icon-css/flags/4x3/ms.svg +75 -0
  424. data/app/assets/fonts/flag-icon-css/flags/4x3/mt.svg +81 -0
  425. data/app/assets/fonts/flag-icon-css/flags/4x3/mu.svg +17 -0
  426. data/app/assets/fonts/flag-icon-css/flags/4x3/mv.svg +19 -0
  427. data/app/assets/fonts/flag-icon-css/flags/4x3/mw.svg +54 -0
  428. data/app/assets/fonts/flag-icon-css/flags/4x3/mx.svg +348 -0
  429. data/app/assets/fonts/flag-icon-css/flags/4x3/my.svg +13 -0
  430. data/app/assets/fonts/flag-icon-css/flags/4x3/mz.svg +33 -0
  431. data/app/assets/fonts/flag-icon-css/flags/4x3/na.svg +29 -0
  432. data/app/assets/fonts/flag-icon-css/flags/4x3/nc.svg +16 -0
  433. data/app/assets/fonts/flag-icon-css/flags/4x3/ne.svg +6 -0
  434. data/app/assets/fonts/flag-icon-css/flags/4x3/nf.svg +45 -0
  435. data/app/assets/fonts/flag-icon-css/flags/4x3/ng.svg +18 -0
  436. data/app/assets/fonts/flag-icon-css/flags/4x3/ni.svg +137 -0
  437. data/app/assets/fonts/flag-icon-css/flags/4x3/nl.svg +16 -0
  438. data/app/assets/fonts/flag-icon-css/flags/4x3/no.svg +7 -0
  439. data/app/assets/fonts/flag-icon-css/flags/4x3/np.svg +26 -0
  440. data/app/assets/fonts/flag-icon-css/flags/4x3/nr.svg +21 -0
  441. data/app/assets/fonts/flag-icon-css/flags/4x3/nu.svg +39 -0
  442. data/app/assets/fonts/flag-icon-css/flags/4x3/nz.svg +42 -0
  443. data/app/assets/fonts/flag-icon-css/flags/4x3/om.svg +348 -0
  444. data/app/assets/fonts/flag-icon-css/flags/4x3/pa.svg +24 -0
  445. data/app/assets/fonts/flag-icon-css/flags/4x3/pe.svg +16 -0
  446. data/app/assets/fonts/flag-icon-css/flags/4x3/pf.svg +76 -0
  447. data/app/assets/fonts/flag-icon-css/flags/4x3/pg.svg +26 -0
  448. data/app/assets/fonts/flag-icon-css/flags/4x3/ph.svg +35 -0
  449. data/app/assets/fonts/flag-icon-css/flags/4x3/pk.svg +24 -0
  450. data/app/assets/fonts/flag-icon-css/flags/4x3/pl.svg +15 -0
  451. data/app/assets/fonts/flag-icon-css/flags/4x3/pm.svg +16 -0
  452. data/app/assets/fonts/flag-icon-css/flags/4x3/pn.svg +145 -0
  453. data/app/assets/fonts/flag-icon-css/flags/4x3/pr.svg +23 -0
  454. data/app/assets/fonts/flag-icon-css/flags/4x3/ps.svg +24 -0
  455. data/app/assets/fonts/flag-icon-css/flags/4x3/pt.svg +57 -0
  456. data/app/assets/fonts/flag-icon-css/flags/4x3/pw.svg +20 -0
  457. data/app/assets/fonts/flag-icon-css/flags/4x3/py.svg +157 -0
  458. data/app/assets/fonts/flag-icon-css/flags/4x3/qa.svg +20 -0
  459. data/app/assets/fonts/flag-icon-css/flags/4x3/re.svg +16 -0
  460. data/app/assets/fonts/flag-icon-css/flags/4x3/ro.svg +18 -0
  461. data/app/assets/fonts/flag-icon-css/flags/4x3/rs.svg +1562 -0
  462. data/app/assets/fonts/flag-icon-css/flags/4x3/ru.svg +16 -0
  463. data/app/assets/fonts/flag-icon-css/flags/4x3/rw.svg +13 -0
  464. data/app/assets/fonts/flag-icon-css/flags/4x3/sa.svg +55 -0
  465. data/app/assets/fonts/flag-icon-css/flags/4x3/sb.svg +26 -0
  466. data/app/assets/fonts/flag-icon-css/flags/4x3/sc.svg +23 -0
  467. data/app/assets/fonts/flag-icon-css/flags/4x3/sd.svg +22 -0
  468. data/app/assets/fonts/flag-icon-css/flags/4x3/se.svg +27 -0
  469. data/app/assets/fonts/flag-icon-css/flags/4x3/sg.svg +28 -0
  470. data/app/assets/fonts/flag-icon-css/flags/4x3/sh.svg +795 -0
  471. data/app/assets/fonts/flag-icon-css/flags/4x3/si.svg +29 -0
  472. data/app/assets/fonts/flag-icon-css/flags/4x3/sj.svg +26 -0
  473. data/app/assets/fonts/flag-icon-css/flags/4x3/sk.svg +25 -0
  474. data/app/assets/fonts/flag-icon-css/flags/4x3/sl.svg +16 -0
  475. data/app/assets/fonts/flag-icon-css/flags/4x3/sm.svg +187 -0
  476. data/app/assets/fonts/flag-icon-css/flags/4x3/sn.svg +19 -0
  477. data/app/assets/fonts/flag-icon-css/flags/4x3/so.svg +20 -0
  478. data/app/assets/fonts/flag-icon-css/flags/4x3/sr.svg +6 -0
  479. data/app/assets/fonts/flag-icon-css/flags/4x3/ss.svg +21 -0
  480. data/app/assets/fonts/flag-icon-css/flags/4x3/st.svg +26 -0
  481. data/app/assets/fonts/flag-icon-css/flags/4x3/sv.svg +645 -0
  482. data/app/assets/fonts/flag-icon-css/flags/4x3/sx.svg +105 -0
  483. data/app/assets/fonts/flag-icon-css/flags/4x3/sy.svg +22 -0
  484. data/app/assets/fonts/flag-icon-css/flags/4x3/sz.svg +92 -0
  485. data/app/assets/fonts/flag-icon-css/flags/4x3/tc.svg +102 -0
  486. data/app/assets/fonts/flag-icon-css/flags/4x3/td.svg +16 -0
  487. data/app/assets/fonts/flag-icon-css/flags/4x3/tf.svg +15 -0
  488. data/app/assets/fonts/flag-icon-css/flags/4x3/tg.svg +24 -0
  489. data/app/assets/fonts/flag-icon-css/flags/4x3/th.svg +19 -0
  490. data/app/assets/fonts/flag-icon-css/flags/4x3/tj.svg +181 -0
  491. data/app/assets/fonts/flag-icon-css/flags/4x3/tk.svg +24 -0
  492. data/app/assets/fonts/flag-icon-css/flags/4x3/tl.svg +22 -0
  493. data/app/assets/fonts/flag-icon-css/flags/4x3/tm.svg +324 -0
  494. data/app/assets/fonts/flag-icon-css/flags/4x3/tn.svg +22 -0
  495. data/app/assets/fonts/flag-icon-css/flags/4x3/to.svg +21 -0
  496. data/app/assets/fonts/flag-icon-css/flags/4x3/tr.svg +9 -0
  497. data/app/assets/fonts/flag-icon-css/flags/4x3/tt.svg +17 -0
  498. data/app/assets/fonts/flag-icon-css/flags/4x3/tv.svg +48 -0
  499. data/app/assets/fonts/flag-icon-css/flags/4x3/tw.svg +23 -0
  500. data/app/assets/fonts/flag-icon-css/flags/4x3/tz.svg +23 -0
  501. data/app/assets/fonts/flag-icon-css/flags/4x3/ua.svg +15 -0
  502. data/app/assets/fonts/flag-icon-css/flags/4x3/ug.svg +41 -0
  503. data/app/assets/fonts/flag-icon-css/flags/4x3/um.svg +117 -0
  504. data/app/assets/fonts/flag-icon-css/flags/4x3/us.svg +117 -0
  505. data/app/assets/fonts/flag-icon-css/flags/4x3/uy.svg +62 -0
  506. data/app/assets/fonts/flag-icon-css/flags/4x3/uz.svg +30 -0
  507. data/app/assets/fonts/flag-icon-css/flags/4x3/va.svg +500 -0
  508. data/app/assets/fonts/flag-icon-css/flags/4x3/vc.svg +19 -0
  509. data/app/assets/fonts/flag-icon-css/flags/4x3/ve.svg +29 -0
  510. data/app/assets/fonts/flag-icon-css/flags/4x3/vg.svg +248 -0
  511. data/app/assets/fonts/flag-icon-css/flags/4x3/vi.svg +32 -0
  512. data/app/assets/fonts/flag-icon-css/flags/4x3/vn.svg +20 -0
  513. data/app/assets/fonts/flag-icon-css/flags/4x3/vu.svg +27 -0
  514. data/app/assets/fonts/flag-icon-css/flags/4x3/wf.svg +16 -0
  515. data/app/assets/fonts/flag-icon-css/flags/4x3/ws.svg +24 -0
  516. data/app/assets/fonts/flag-icon-css/flags/4x3/ye.svg +16 -0
  517. data/app/assets/fonts/flag-icon-css/flags/4x3/yt.svg +16 -0
  518. data/app/assets/fonts/flag-icon-css/flags/4x3/za.svg +27 -0
  519. data/app/assets/fonts/flag-icon-css/flags/4x3/zm.svg +39 -0
  520. data/app/assets/fonts/flag-icon-css/flags/4x3/zw.svg +51 -0
  521. data/app/assets/fonts/flag-icon-css/flags/4x3/zz.svg +5 -0
  522. data/app/assets/fonts/flag-icon-css/sass/flag-icon-base.scss +28 -0
  523. data/app/assets/fonts/flag-icon-css/sass/flag-icon-list.scss +249 -0
  524. data/app/assets/fonts/flag-icon-css/sass/flag-icon-more.scss +4 -0
  525. data/app/assets/fonts/flag-icon-css/sass/flag-icon.scss +4 -0
  526. data/app/assets/fonts/flag-icon-css/sass/variables.scss +3 -0
  527. data/app/assets/fonts/font-awesome/css/font-awesome.css +4586 -0
  528. data/app/assets/fonts/font-awesome/css/font-awesome.min.css +5 -0
  529. data/app/assets/fonts/font-awesome/webfonts/fa-brands-400.eot +0 -0
  530. data/app/assets/fonts/font-awesome/webfonts/fa-brands-400.svg +3637 -0
  531. data/app/assets/fonts/font-awesome/webfonts/fa-brands-400.ttf +0 -0
  532. data/app/assets/fonts/font-awesome/webfonts/fa-brands-400.woff +0 -0
  533. data/app/assets/fonts/font-awesome/webfonts/fa-brands-400.woff2 +0 -0
  534. data/app/assets/fonts/font-awesome/webfonts/fa-regular-400.eot +0 -0
  535. data/app/assets/fonts/font-awesome/webfonts/fa-regular-400.svg +805 -0
  536. data/app/assets/fonts/font-awesome/webfonts/fa-regular-400.ttf +0 -0
  537. data/app/assets/fonts/font-awesome/webfonts/fa-regular-400.woff +0 -0
  538. data/app/assets/fonts/font-awesome/webfonts/fa-regular-400.woff2 +0 -0
  539. data/app/assets/fonts/font-awesome/webfonts/fa-solid-900.eot +0 -0
  540. data/app/assets/fonts/font-awesome/webfonts/fa-solid-900.svg +5015 -0
  541. data/app/assets/fonts/font-awesome/webfonts/fa-solid-900.ttf +0 -0
  542. data/app/assets/fonts/font-awesome/webfonts/fa-solid-900.woff +0 -0
  543. data/app/assets/fonts/font-awesome/webfonts/fa-solid-900.woff2 +0 -0
  544. data/app/assets/javascripts/vendors/js/blockui/blockui.min.js +15 -0
  545. data/app/assets/javascripts/vendors/js/bootstrap/bootstrap.min.js +3427 -0
  546. data/app/assets/javascripts/vendors/js/calendar/fullcalendar.min.js +6 -0
  547. data/app/assets/javascripts/vendors/js/charts/apexcharts.js +29066 -0
  548. data/app/assets/javascripts/vendors/js/charts/apexcharts.min.js +14 -0
  549. data/app/assets/javascripts/vendors/js/charts/chart.min.js +7 -0
  550. data/app/assets/javascripts/vendors/js/editors/quill/assets/base.styl +298 -0
  551. data/app/assets/javascripts/vendors/js/editors/quill/assets/bubble/toolbar.styl +14 -0
  552. data/app/assets/javascripts/vendors/js/editors/quill/assets/bubble/tooltip.styl +46 -0
  553. data/app/assets/javascripts/vendors/js/editors/quill/assets/bubble.styl +11 -0
  554. data/app/assets/javascripts/vendors/js/editors/quill/assets/core.styl +155 -0
  555. data/app/assets/javascripts/vendors/js/editors/quill/assets/favicon.png +0 -0
  556. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/align-center.svg +5 -0
  557. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/align-justify.svg +5 -0
  558. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/align-left.svg +5 -0
  559. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/align-right.svg +5 -0
  560. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/attachment.svg +3 -0
  561. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/audio.svg +5 -0
  562. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/authorship.svg +5 -0
  563. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/background.svg +52 -0
  564. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/blockquote.svg +6 -0
  565. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/bold.svg +4 -0
  566. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/clean.svg +7 -0
  567. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/code.svg +5 -0
  568. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/color.svg +5 -0
  569. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/comment.svg +3 -0
  570. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/direction-ltr.svg +7 -0
  571. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/direction-rtl.svg +7 -0
  572. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/dropdown.svg +4 -0
  573. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/emoji.svg +6 -0
  574. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/float-center.svg +5 -0
  575. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/float-full.svg +5 -0
  576. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/float-left.svg +7 -0
  577. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/float-right.svg +7 -0
  578. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/font.svg +5 -0
  579. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/formula.svg +5 -0
  580. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/hashtag.svg +6 -0
  581. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/header-2.svg +6 -0
  582. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/header.svg +7 -0
  583. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/image.svg +5 -0
  584. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/indent.svg +6 -0
  585. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/italic.svg +5 -0
  586. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/link.svg +5 -0
  587. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/list-bullet.svg +8 -0
  588. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/list-check.svg +8 -0
  589. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/list-ordered.svg +9 -0
  590. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/map.svg +5 -0
  591. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/mention.svg +4 -0
  592. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/outdent.svg +6 -0
  593. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/redo.svg +4 -0
  594. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/size-decrease.svg +5 -0
  595. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/size-increase.svg +6 -0
  596. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/size.svg +6 -0
  597. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/spacing.svg +9 -0
  598. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/speech.svg +6 -0
  599. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/strike.svg +5 -0
  600. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/subscript.svg +4 -0
  601. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/superscript.svg +4 -0
  602. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-border-all.svg +5 -0
  603. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-border-bottom.svg +28 -0
  604. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-border-left.svg +28 -0
  605. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-border-none.svg +25 -0
  606. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-border-outside.svg +35 -0
  607. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-border-right.svg +28 -0
  608. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-border-top.svg +28 -0
  609. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-delete-cells.svg +13 -0
  610. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-delete-columns.svg +8 -0
  611. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-delete-rows.svg +9 -0
  612. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-insert-cells.svg +13 -0
  613. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-insert-columns.svg +8 -0
  614. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-insert-rows.svg +9 -0
  615. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-merge-cells.svg +4 -0
  616. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table-unmerge-cells.svg +7 -0
  617. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/table.svg +11 -0
  618. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/underline.svg +4 -0
  619. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/undo.svg +4 -0
  620. data/app/assets/javascripts/vendors/js/editors/quill/assets/icons/video.svg +14 -0
  621. data/app/assets/javascripts/vendors/js/editors/quill/assets/snow/toolbar.styl +26 -0
  622. data/app/assets/javascripts/vendors/js/editors/quill/assets/snow/tooltip.styl +54 -0
  623. data/app/assets/javascripts/vendors/js/editors/quill/assets/snow.styl +18 -0
  624. data/app/assets/javascripts/vendors/js/editors/quill/highlight.min.js +44 -0
  625. data/app/assets/javascripts/vendors/js/editors/quill/katex.min.js +1 -0
  626. data/app/assets/javascripts/vendors/js/editors/quill/quill.js +17443 -0
  627. data/app/assets/javascripts/vendors/js/editors/quill/quill.min.js +7 -0
  628. data/app/assets/javascripts/vendors/js/editors/quill/themes/base.js +256 -0
  629. data/app/assets/javascripts/vendors/js/editors/quill/themes/bubble.js +112 -0
  630. data/app/assets/javascripts/vendors/js/editors/quill/themes/snow.js +117 -0
  631. data/app/assets/javascripts/vendors/js/editors/quill/ui/color-picker.js +35 -0
  632. data/app/assets/javascripts/vendors/js/editors/quill/ui/icon-picker.js +23 -0
  633. data/app/assets/javascripts/vendors/js/editors/quill/ui/icons.js +48 -0
  634. data/app/assets/javascripts/vendors/js/editors/quill/ui/picker.js +116 -0
  635. data/app/assets/javascripts/vendors/js/editors/quill/ui/tooltip.js +52 -0
  636. data/app/assets/javascripts/vendors/js/extensions/dragula.min.js +1 -0
  637. data/app/assets/javascripts/vendors/js/extensions/i18next.min.js +1 -0
  638. data/app/assets/javascripts/vendors/js/extensions/i18nextBrowserLanguageDetector.min.js +1 -0
  639. data/app/assets/javascripts/vendors/js/extensions/i18nextXHRBackend.min.js +1 -0
  640. data/app/assets/javascripts/vendors/js/extensions/jquery-i18next.min.js +1 -0
  641. data/app/assets/javascripts/vendors/js/extensions/jquery.contextMenu.min.js +1 -0
  642. data/app/assets/javascripts/vendors/js/extensions/jquery.mousewheel.min.js +8 -0
  643. data/app/assets/javascripts/vendors/js/extensions/jquery.rateyo.min.js +3 -0
  644. data/app/assets/javascripts/vendors/js/extensions/jquery.ui.position.min.js +6 -0
  645. data/app/assets/javascripts/vendors/js/extensions/jstree.min.js +6 -0
  646. data/app/assets/javascripts/vendors/js/extensions/lang-all.js +6 -0
  647. data/app/assets/javascripts/vendors/js/extensions/locale-all.js +6 -0
  648. data/app/assets/javascripts/vendors/js/extensions/moment.min.js +6 -0
  649. data/app/assets/javascripts/vendors/js/extensions/nouislider.min.js +2 -0
  650. data/app/assets/javascripts/vendors/js/extensions/plyr.min.js +2 -0
  651. data/app/assets/javascripts/vendors/js/extensions/plyr.polyfilled.min.js +1 -0
  652. data/app/assets/javascripts/vendors/js/extensions/polyfill.min.js +1 -0
  653. data/app/assets/javascripts/vendors/js/extensions/shepherd.min.js +116 -0
  654. data/app/assets/javascripts/vendors/js/extensions/sweetalert2.all.min.js +3 -0
  655. data/app/assets/javascripts/vendors/js/extensions/swiper.min.js +13 -0
  656. data/app/assets/javascripts/vendors/js/extensions/tether.min.js +1 -0
  657. data/app/assets/javascripts/vendors/js/extensions/toastr.min.js +3 -0
  658. data/app/assets/javascripts/vendors/js/extensions/transition.js +59 -0
  659. data/app/assets/javascripts/vendors/js/extensions/wNumb.min.js +1 -0
  660. data/app/assets/javascripts/vendors/js/feather-icons/feather-icons.min.js +14 -0
  661. data/app/assets/javascripts/vendors/js/file-uploaders/dropzone.min.js +1 -0
  662. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ac.js +51 -0
  663. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ad.js +51 -0
  664. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ae.js +51 -0
  665. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.af.js +51 -0
  666. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ag.js +51 -0
  667. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ai.js +51 -0
  668. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.al.js +51 -0
  669. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.am.js +51 -0
  670. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ao.js +51 -0
  671. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ar.js +51 -0
  672. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.as.js +51 -0
  673. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.at.js +51 -0
  674. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.au-cn.js +51 -0
  675. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.au.js +51 -0
  676. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.aw.js +51 -0
  677. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ax.js +51 -0
  678. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.az.js +51 -0
  679. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ba.js +51 -0
  680. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bb.js +51 -0
  681. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bd.js +51 -0
  682. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.be.js +51 -0
  683. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bf.js +51 -0
  684. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bg.js +51 -0
  685. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bh.js +51 -0
  686. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bi.js +51 -0
  687. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bj.js +51 -0
  688. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bl.js +51 -0
  689. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bm.js +51 -0
  690. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bn.js +51 -0
  691. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bo.js +51 -0
  692. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bq.js +51 -0
  693. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.br.js +51 -0
  694. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bs.js +51 -0
  695. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bt.js +51 -0
  696. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bw.js +51 -0
  697. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.by.js +51 -0
  698. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.bz.js +51 -0
  699. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ca.js +51 -0
  700. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cc.js +51 -0
  701. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cd.js +51 -0
  702. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cf.js +51 -0
  703. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cg.js +51 -0
  704. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ch.js +51 -0
  705. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ci.js +51 -0
  706. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ck.js +51 -0
  707. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cl.js +51 -0
  708. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cm.js +51 -0
  709. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cn.js +51 -0
  710. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.co.js +51 -0
  711. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cr.js +51 -0
  712. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cu.js +51 -0
  713. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cv.js +51 -0
  714. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cw.js +51 -0
  715. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cx.js +51 -0
  716. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cy.js +51 -0
  717. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.cz.js +51 -0
  718. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.de.js +51 -0
  719. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.dj.js +51 -0
  720. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.dk.js +51 -0
  721. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.dm.js +51 -0
  722. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.do.js +51 -0
  723. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.dz.js +51 -0
  724. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ec.js +51 -0
  725. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ee.js +51 -0
  726. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.eg.js +51 -0
  727. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.eh.js +51 -0
  728. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.er.js +51 -0
  729. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.es.js +51 -0
  730. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.et.js +51 -0
  731. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.fi.js +51 -0
  732. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.fj.js +51 -0
  733. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.fk.js +51 -0
  734. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.fm.js +51 -0
  735. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.fo.js +51 -0
  736. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.fr.js +51 -0
  737. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ga.js +51 -0
  738. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gb.js +51 -0
  739. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gd.js +51 -0
  740. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ge.js +51 -0
  741. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gf.js +51 -0
  742. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gg.js +51 -0
  743. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gh.js +51 -0
  744. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gi.js +51 -0
  745. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gl.js +51 -0
  746. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gm.js +51 -0
  747. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gn.js +51 -0
  748. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gp.js +51 -0
  749. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gq.js +51 -0
  750. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gr.js +51 -0
  751. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gt.js +51 -0
  752. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gu.js +51 -0
  753. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gw.js +51 -0
  754. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.gy.js +51 -0
  755. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.hk.js +51 -0
  756. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.hn.js +51 -0
  757. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.hr.js +51 -0
  758. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ht.js +51 -0
  759. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.hu.js +51 -0
  760. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.i18n.js +60 -0
  761. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.id.js +51 -0
  762. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ie.js +51 -0
  763. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.il.js +51 -0
  764. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.im.js +51 -0
  765. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.in.js +51 -0
  766. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.io.js +51 -0
  767. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.iq.js +51 -0
  768. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ir.js +51 -0
  769. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.is.js +51 -0
  770. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.it.js +51 -0
  771. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.je.js +51 -0
  772. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.jm.js +51 -0
  773. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.jo.js +51 -0
  774. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.jp.js +51 -0
  775. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ke.js +51 -0
  776. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.kg.js +51 -0
  777. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.kh.js +51 -0
  778. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ki.js +51 -0
  779. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.km.js +51 -0
  780. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.kn.js +51 -0
  781. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.kp.js +51 -0
  782. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.kr.js +51 -0
  783. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.kw.js +51 -0
  784. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ky.js +51 -0
  785. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.kz.js +51 -0
  786. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.la.js +51 -0
  787. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.lb.js +51 -0
  788. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.lc.js +51 -0
  789. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.li.js +51 -0
  790. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.lk.js +51 -0
  791. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.lr.js +51 -0
  792. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ls.js +51 -0
  793. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.lt.js +51 -0
  794. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.lu.js +51 -0
  795. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.lv.js +51 -0
  796. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ly.js +51 -0
  797. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ma.js +51 -0
  798. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mc.js +51 -0
  799. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.md.js +51 -0
  800. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.me.js +51 -0
  801. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mf.js +51 -0
  802. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mg.js +51 -0
  803. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mh.js +51 -0
  804. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mk.js +51 -0
  805. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ml.js +51 -0
  806. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mm.js +51 -0
  807. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mn.js +51 -0
  808. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mo.js +51 -0
  809. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mp.js +51 -0
  810. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mq.js +51 -0
  811. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mr.js +51 -0
  812. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ms.js +51 -0
  813. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mt.js +51 -0
  814. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mu.js +51 -0
  815. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mv.js +51 -0
  816. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mw.js +51 -0
  817. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mx.js +51 -0
  818. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.my.js +51 -0
  819. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.mz.js +51 -0
  820. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.na.js +51 -0
  821. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.nc.js +51 -0
  822. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ne.js +51 -0
  823. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.nf.js +51 -0
  824. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ng.js +51 -0
  825. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ni.js +51 -0
  826. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.nl.js +51 -0
  827. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.no.js +51 -0
  828. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.np.js +51 -0
  829. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.nr.js +51 -0
  830. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.nu.js +51 -0
  831. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.nz.js +51 -0
  832. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.om.js +51 -0
  833. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pa.js +51 -0
  834. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pe.js +51 -0
  835. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pf.js +51 -0
  836. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pg.js +51 -0
  837. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ph.js +51 -0
  838. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pk.js +51 -0
  839. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pl.js +51 -0
  840. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pm.js +51 -0
  841. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pr.js +51 -0
  842. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ps.js +51 -0
  843. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pt.js +51 -0
  844. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.pw.js +51 -0
  845. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.py.js +51 -0
  846. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.qa.js +51 -0
  847. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.re.js +51 -0
  848. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ro.js +51 -0
  849. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.rs.js +51 -0
  850. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ru.js +51 -0
  851. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.rw.js +51 -0
  852. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sa.js +51 -0
  853. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sb.js +51 -0
  854. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sc.js +51 -0
  855. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sd.js +51 -0
  856. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.se.js +51 -0
  857. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sg.js +51 -0
  858. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sh.js +51 -0
  859. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.si.js +51 -0
  860. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sj.js +51 -0
  861. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sk.js +51 -0
  862. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sl.js +51 -0
  863. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sm.js +51 -0
  864. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sn.js +51 -0
  865. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.so.js +51 -0
  866. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sr.js +51 -0
  867. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ss.js +51 -0
  868. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.st.js +51 -0
  869. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sv.js +51 -0
  870. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sx.js +51 -0
  871. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sy.js +51 -0
  872. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.sz.js +51 -0
  873. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ta.js +51 -0
  874. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tc.js +51 -0
  875. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.td.js +51 -0
  876. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tg.js +51 -0
  877. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.th.js +51 -0
  878. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tj.js +51 -0
  879. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tk.js +51 -0
  880. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tl.js +51 -0
  881. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tm.js +51 -0
  882. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tn.js +51 -0
  883. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.to.js +51 -0
  884. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tr.js +51 -0
  885. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tt.js +51 -0
  886. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tv.js +51 -0
  887. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tw.js +51 -0
  888. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.tz.js +51 -0
  889. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ua.js +51 -0
  890. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ug.js +51 -0
  891. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.us.js +51 -0
  892. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.uy.js +51 -0
  893. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.uz.js +51 -0
  894. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.va.js +51 -0
  895. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.vc.js +51 -0
  896. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ve.js +51 -0
  897. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.vg.js +51 -0
  898. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.vi.js +51 -0
  899. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.vn.js +51 -0
  900. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.vu.js +51 -0
  901. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.wf.js +51 -0
  902. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ws.js +51 -0
  903. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.xk.js +51 -0
  904. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.ye.js +51 -0
  905. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.yt.js +51 -0
  906. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.za.js +51 -0
  907. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.zm.js +51 -0
  908. data/app/assets/javascripts/vendors/js/forms/cleave/addons/cleave-phone.zw.js +51 -0
  909. data/app/assets/javascripts/vendors/js/forms/cleave/cleave.min.js +1005 -0
  910. data/app/assets/javascripts/vendors/js/forms/extended/typeahead/bloodhound.min.js +7 -0
  911. data/app/assets/javascripts/vendors/js/forms/extended/typeahead/handlebars.js +2610 -0
  912. data/app/assets/javascripts/vendors/js/forms/extended/typeahead/typeahead.bundle.min.js +8 -0
  913. data/app/assets/javascripts/vendors/js/forms/repeater/jquery.repeater.min.js +5 -0
  914. data/app/assets/javascripts/vendors/js/forms/select/select2.full.min.js +2 -0
  915. data/app/assets/javascripts/vendors/js/forms/spinner/jquery.bootstrap-touchspin.js +434 -0
  916. data/app/assets/javascripts/vendors/js/forms/toggle/switchery.js +1955 -0
  917. data/app/assets/javascripts/vendors/js/forms/toggle/switchery.min.js +1 -0
  918. data/app/assets/javascripts/vendors/js/forms/validation/jquery.validate.min.js +4 -0
  919. data/app/assets/javascripts/vendors/js/forms/wizard/bs-stepper.min.js +6 -0
  920. data/app/assets/javascripts/vendors/js/hammer/hammer.min.js +6 -0
  921. data/app/assets/javascripts/vendors/js/internationalization/i18n-jquery.min.js +2 -0
  922. data/app/assets/javascripts/vendors/js/internationalization/i18n-xhr.min.js +2 -0
  923. data/app/assets/javascripts/vendors/js/internationalization/i18n.min.js +2 -0
  924. data/app/assets/javascripts/vendors/js/internationalization/lang-detector.min.js +2 -0
  925. data/app/assets/javascripts/vendors/js/jkanban/jkanban.min.js +2 -0
  926. data/app/assets/javascripts/vendors/js/jquery/jquery.min.js +2 -0
  927. data/app/assets/javascripts/vendors/js/maps/leaflet.min.js +1 -0
  928. data/app/assets/javascripts/vendors/js/pace/pace.min.js +6 -0
  929. data/app/assets/javascripts/vendors/js/pagination/jquery.bootpag.min.js +21 -0
  930. data/app/assets/javascripts/vendors/js/pagination/jquery.twbsPagination.min.js +10 -0
  931. data/app/assets/javascripts/vendors/js/perfectscrollbar/perfect-scrollbar.min.js +19 -0
  932. data/app/assets/javascripts/vendors/js/pickers/flatpickr/flatpickr.min.js +2 -0
  933. data/app/assets/javascripts/vendors/js/pickers/pickadate/legacy.js +133 -0
  934. data/app/assets/javascripts/vendors/js/pickers/pickadate/picker.date.js +1357 -0
  935. data/app/assets/javascripts/vendors/js/pickers/pickadate/picker.js +1219 -0
  936. data/app/assets/javascripts/vendors/js/pickers/pickadate/picker.time.js +1016 -0
  937. data/app/assets/javascripts/vendors/js/popper/popper.min.js +5 -0
  938. data/app/assets/javascripts/vendors/js/promises/promises.min.js +10 -0
  939. data/app/assets/javascripts/vendors/js/tables/datatable/buttons.bootstrap5.min.js +6 -0
  940. data/app/assets/javascripts/vendors/js/tables/datatable/buttons.html5.min.js +36 -0
  941. data/app/assets/javascripts/vendors/js/tables/datatable/buttons.print.min.js +9 -0
  942. data/app/assets/javascripts/vendors/js/tables/datatable/dataTables.bootstrap5.min.js +14 -0
  943. data/app/assets/javascripts/vendors/js/tables/datatable/dataTables.responsive.js +1445 -0
  944. data/app/assets/javascripts/vendors/js/tables/datatable/dataTables.responsive.min.js +48 -0
  945. data/app/assets/javascripts/vendors/js/tables/datatable/dataTables.rowGroup.min.js +22 -0
  946. data/app/assets/javascripts/vendors/js/tables/datatable/dataTables.select.min.js +38 -0
  947. data/app/assets/javascripts/vendors/js/tables/datatable/datatables.buttons.min.js +44 -0
  948. data/app/assets/javascripts/vendors/js/tables/datatable/datatables.checkboxes.min.js +5 -0
  949. data/app/assets/javascripts/vendors/js/tables/datatable/jquery.dataTables.min.js +184 -0
  950. data/app/assets/javascripts/vendors/js/tables/datatable/jszip.min.js +13 -0
  951. data/app/assets/javascripts/vendors/js/tables/datatable/pdfmake.min.js +2 -0
  952. data/app/assets/javascripts/vendors/js/tables/datatable/responsive.bootstrap5.js +84 -0
  953. data/app/assets/javascripts/vendors/js/tables/datatable/responsive.bootstrap5.min.js +12 -0
  954. data/app/assets/javascripts/vendors/js/tables/datatable/rowGroup.bootstrap5.min.js +5 -0
  955. data/app/assets/javascripts/vendors/js/tables/datatable/vfs_fonts.js +6 -0
  956. data/app/assets/javascripts/vendors/js/ui/affix.js +162 -0
  957. data/app/assets/javascripts/vendors/js/ui/jquery.sticky-kit.min.js +10 -0
  958. data/app/assets/javascripts/vendors/js/ui/jquery.sticky.js +287 -0
  959. data/app/assets/javascripts/vendors/js/ui/prism-treeview.js +64 -0
  960. data/app/assets/javascripts/vendors/js/ui/prism.min.js +30 -0
  961. data/app/assets/javascripts/vendors/js/unison-js/unison-js.min.js +2 -0
  962. data/app/assets/javascripts/vendors/js/vendors.min.js +18 -0
  963. data/app/assets/javascripts/vendors/js/waves/waves.min.js +2 -0
  964. data/app/assets/javascripts/vuexy/application.js +5 -0
  965. data/app/assets/javascripts/vuexy/core/app-menu.js +984 -0
  966. data/app/assets/javascripts/vuexy/core/app-menu.min.js +1 -0
  967. data/app/assets/javascripts/vuexy/core/app.js +1113 -0
  968. data/app/assets/javascripts/vuexy/core/app.min.js +1 -0
  969. data/app/assets/javascripts/vuexy/scripts/cards/card-advance.js +567 -0
  970. data/app/assets/javascripts/vuexy/scripts/cards/card-advance.min.js +1 -0
  971. data/app/assets/javascripts/vuexy/scripts/cards/card-analytics.js +792 -0
  972. data/app/assets/javascripts/vuexy/scripts/cards/card-analytics.min.js +1 -0
  973. data/app/assets/javascripts/vuexy/scripts/cards/card-statistics.js +708 -0
  974. data/app/assets/javascripts/vuexy/scripts/cards/card-statistics.min.js +1 -0
  975. data/app/assets/javascripts/vuexy/scripts/charts/chart-apex.js +917 -0
  976. data/app/assets/javascripts/vuexy/scripts/charts/chart-apex.min.js +1 -0
  977. data/app/assets/javascripts/vuexy/scripts/charts/chart-chartjs.js +1495 -0
  978. data/app/assets/javascripts/vuexy/scripts/charts/chart-chartjs.min.js +1 -0
  979. data/app/assets/javascripts/vuexy/scripts/components/components-accordion.js +21 -0
  980. data/app/assets/javascripts/vuexy/scripts/components/components-accordion.min.js +1 -0
  981. data/app/assets/javascripts/vuexy/scripts/components/components-alerts.js +23 -0
  982. data/app/assets/javascripts/vuexy/scripts/components/components-alerts.min.js +1 -0
  983. data/app/assets/javascripts/vuexy/scripts/components/components-bs-toast.js +40 -0
  984. data/app/assets/javascripts/vuexy/scripts/components/components-bs-toast.min.js +1 -0
  985. data/app/assets/javascripts/vuexy/scripts/components/components-dropdowns.js +19 -0
  986. data/app/assets/javascripts/vuexy/scripts/components/components-dropdowns.min.js +1 -0
  987. data/app/assets/javascripts/vuexy/scripts/components/components-modals.js +68 -0
  988. data/app/assets/javascripts/vuexy/scripts/components/components-modals.min.js +1 -0
  989. data/app/assets/javascripts/vuexy/scripts/components/components-navs.js +23 -0
  990. data/app/assets/javascripts/vuexy/scripts/components/components-navs.min.js +1 -0
  991. data/app/assets/javascripts/vuexy/scripts/components/components-popovers.js +132 -0
  992. data/app/assets/javascripts/vuexy/scripts/components/components-popovers.min.js +1 -0
  993. data/app/assets/javascripts/vuexy/scripts/components/components-tooltips.js +124 -0
  994. data/app/assets/javascripts/vuexy/scripts/components/components-tooltips.min.js +1 -0
  995. data/app/assets/javascripts/vuexy/scripts/customizer.js +235 -0
  996. data/app/assets/javascripts/vuexy/scripts/customizer.min.js +1 -0
  997. data/app/assets/javascripts/vuexy/scripts/documentation.js +14 -0
  998. data/app/assets/javascripts/vuexy/scripts/documentation.min.js +1 -0
  999. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-blockui.js +523 -0
  1000. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-blockui.min.js +1 -0
  1001. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-clipboard.js +23 -0
  1002. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-clipboard.min.js +1 -0
  1003. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-context-menu.js +92 -0
  1004. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-context-menu.min.js +1 -0
  1005. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-drag-drop.js +32 -0
  1006. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-drag-drop.min.js +1 -0
  1007. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-i18n.js +47 -0
  1008. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-i18n.min.js +1 -0
  1009. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-media-player.js +26 -0
  1010. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-media-player.min.js +1 -0
  1011. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-ratings.js +166 -0
  1012. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-ratings.min.js +1 -0
  1013. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-sliders.js +340 -0
  1014. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-sliders.min.js +1 -0
  1015. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-sweet-alerts.js +551 -0
  1016. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-sweet-alerts.min.js +1 -0
  1017. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-swiper.js +313 -0
  1018. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-swiper.min.js +1 -0
  1019. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-toastr.js +212 -0
  1020. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-toastr.min.js +1 -0
  1021. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-tour.js +93 -0
  1022. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-tour.min.js +1 -0
  1023. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-tree.js +422 -0
  1024. data/app/assets/javascripts/vuexy/scripts/extensions/ext-component-tree.min.js +1 -0
  1025. data/app/assets/javascripts/vuexy/scripts/forms/form-file-uploader.js +81 -0
  1026. data/app/assets/javascripts/vuexy/scripts/forms/form-file-uploader.min.js +1 -0
  1027. data/app/assets/javascripts/vuexy/scripts/forms/form-input-mask.js +99 -0
  1028. data/app/assets/javascripts/vuexy/scripts/forms/form-input-mask.min.js +1 -0
  1029. data/app/assets/javascripts/vuexy/scripts/forms/form-number-input.js +82 -0
  1030. data/app/assets/javascripts/vuexy/scripts/forms/form-number-input.min.js +1 -0
  1031. data/app/assets/javascripts/vuexy/scripts/forms/form-quill-editor.js +110 -0
  1032. data/app/assets/javascripts/vuexy/scripts/forms/form-quill-editor.min.js +1 -0
  1033. data/app/assets/javascripts/vuexy/scripts/forms/form-repeater.js +29 -0
  1034. data/app/assets/javascripts/vuexy/scripts/forms/form-repeater.min.js +1 -0
  1035. data/app/assets/javascripts/vuexy/scripts/forms/form-select2.js +206 -0
  1036. data/app/assets/javascripts/vuexy/scripts/forms/form-select2.min.js +1 -0
  1037. data/app/assets/javascripts/vuexy/scripts/forms/form-tooltip-valid.js +22 -0
  1038. data/app/assets/javascripts/vuexy/scripts/forms/form-tooltip-valid.min.js +1 -0
  1039. data/app/assets/javascripts/vuexy/scripts/forms/form-validation.js +109 -0
  1040. data/app/assets/javascripts/vuexy/scripts/forms/form-validation.min.js +1 -0
  1041. data/app/assets/javascripts/vuexy/scripts/forms/form-wizard.js +220 -0
  1042. data/app/assets/javascripts/vuexy/scripts/forms/form-wizard.min.js +1 -0
  1043. data/app/assets/javascripts/vuexy/scripts/forms/pickers/form-pickers.js +217 -0
  1044. data/app/assets/javascripts/vuexy/scripts/forms/pickers/form-pickers.min.js +1 -0
  1045. data/app/assets/javascripts/vuexy/scripts/maps/map-leaflet.js +4596 -0
  1046. data/app/assets/javascripts/vuexy/scripts/maps/map-leaflet.min.js +1 -0
  1047. data/app/assets/javascripts/vuexy/scripts/pages/app-access-permission.js +203 -0
  1048. data/app/assets/javascripts/vuexy/scripts/pages/app-access-permission.min.js +1 -0
  1049. data/app/assets/javascripts/vuexy/scripts/pages/app-access-roles.js +256 -0
  1050. data/app/assets/javascripts/vuexy/scripts/pages/app-access-roles.min.js +1 -0
  1051. data/app/assets/javascripts/vuexy/scripts/pages/app-calendar-events.js +125 -0
  1052. data/app/assets/javascripts/vuexy/scripts/pages/app-calendar-events.min.js +1 -0
  1053. data/app/assets/javascripts/vuexy/scripts/pages/app-calendar.js +492 -0
  1054. data/app/assets/javascripts/vuexy/scripts/pages/app-calendar.min.js +1 -0
  1055. data/app/assets/javascripts/vuexy/scripts/pages/app-chat.js +282 -0
  1056. data/app/assets/javascripts/vuexy/scripts/pages/app-chat.min.js +1 -0
  1057. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce-checkout.js +117 -0
  1058. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce-checkout.min.js +1 -0
  1059. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce-details.js +93 -0
  1060. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce-details.min.js +1 -0
  1061. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce-wishlist.js +36 -0
  1062. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce-wishlist.min.js +1 -0
  1063. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce.js +143 -0
  1064. data/app/assets/javascripts/vuexy/scripts/pages/app-ecommerce.min.js +1 -0
  1065. data/app/assets/javascripts/vuexy/scripts/pages/app-email.js +396 -0
  1066. data/app/assets/javascripts/vuexy/scripts/pages/app-email.min.js +1 -0
  1067. data/app/assets/javascripts/vuexy/scripts/pages/app-file-manager.js +206 -0
  1068. data/app/assets/javascripts/vuexy/scripts/pages/app-file-manager.min.js +1 -0
  1069. data/app/assets/javascripts/vuexy/scripts/pages/app-invoice-list.js +322 -0
  1070. data/app/assets/javascripts/vuexy/scripts/pages/app-invoice-list.min.js +1 -0
  1071. data/app/assets/javascripts/vuexy/scripts/pages/app-invoice-print.js +15 -0
  1072. data/app/assets/javascripts/vuexy/scripts/pages/app-invoice-print.min.js +1 -0
  1073. data/app/assets/javascripts/vuexy/scripts/pages/app-invoice.js +205 -0
  1074. data/app/assets/javascripts/vuexy/scripts/pages/app-invoice.min.js +1 -0
  1075. data/app/assets/javascripts/vuexy/scripts/pages/app-kanban.js +433 -0
  1076. data/app/assets/javascripts/vuexy/scripts/pages/app-kanban.min.js +1 -0
  1077. data/app/assets/javascripts/vuexy/scripts/pages/app-todo.js +437 -0
  1078. data/app/assets/javascripts/vuexy/scripts/pages/app-todo.min.js +1 -0
  1079. data/app/assets/javascripts/vuexy/scripts/pages/app-user-list.js +407 -0
  1080. data/app/assets/javascripts/vuexy/scripts/pages/app-user-list.min.js +1 -0
  1081. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view-account.js +394 -0
  1082. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view-account.min.js +1 -0
  1083. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view-billing.js +13 -0
  1084. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view-billing.min.js +1 -0
  1085. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view-security.js +41 -0
  1086. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view-security.min.js +1 -0
  1087. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view.js +92 -0
  1088. data/app/assets/javascripts/vuexy/scripts/pages/app-user-view.min.js +1 -0
  1089. data/app/assets/javascripts/vuexy/scripts/pages/auth-forgot-password.js +37 -0
  1090. data/app/assets/javascripts/vuexy/scripts/pages/auth-forgot-password.min.js +1 -0
  1091. data/app/assets/javascripts/vuexy/scripts/pages/auth-login.js +40 -0
  1092. data/app/assets/javascripts/vuexy/scripts/pages/auth-login.min.js +1 -0
  1093. data/app/assets/javascripts/vuexy/scripts/pages/auth-register.js +208 -0
  1094. data/app/assets/javascripts/vuexy/scripts/pages/auth-register.min.js +3 -0
  1095. data/app/assets/javascripts/vuexy/scripts/pages/auth-reset-password.js +40 -0
  1096. data/app/assets/javascripts/vuexy/scripts/pages/auth-reset-password.min.js +1 -0
  1097. data/app/assets/javascripts/vuexy/scripts/pages/auth-two-steps.js +53 -0
  1098. data/app/assets/javascripts/vuexy/scripts/pages/auth-two-steps.min.js +1 -0
  1099. data/app/assets/javascripts/vuexy/scripts/pages/dashboard-analytics.js +369 -0
  1100. data/app/assets/javascripts/vuexy/scripts/pages/dashboard-analytics.min.js +1 -0
  1101. data/app/assets/javascripts/vuexy/scripts/pages/dashboard-ecommerce.js +710 -0
  1102. data/app/assets/javascripts/vuexy/scripts/pages/dashboard-ecommerce.min.js +1 -0
  1103. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-new-address.js +30 -0
  1104. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-new-address.min.js +1 -0
  1105. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-new-cc.js +66 -0
  1106. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-new-cc.min.js +1 -0
  1107. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-permission.js +21 -0
  1108. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-permission.min.js +1 -0
  1109. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-role.js +30 -0
  1110. data/app/assets/javascripts/vuexy/scripts/pages/modal-add-role.min.js +1 -0
  1111. data/app/assets/javascripts/vuexy/scripts/pages/modal-create-app.js +82 -0
  1112. data/app/assets/javascripts/vuexy/scripts/pages/modal-create-app.min.js +1 -0
  1113. data/app/assets/javascripts/vuexy/scripts/pages/modal-edit-cc.js +66 -0
  1114. data/app/assets/javascripts/vuexy/scripts/pages/modal-edit-cc.min.js +1 -0
  1115. data/app/assets/javascripts/vuexy/scripts/pages/modal-edit-permission.js +16 -0
  1116. data/app/assets/javascripts/vuexy/scripts/pages/modal-edit-permission.min.js +1 -0
  1117. data/app/assets/javascripts/vuexy/scripts/pages/modal-edit-user.js +51 -0
  1118. data/app/assets/javascripts/vuexy/scripts/pages/modal-edit-user.min.js +1 -0
  1119. data/app/assets/javascripts/vuexy/scripts/pages/modal-share-project.js +49 -0
  1120. data/app/assets/javascripts/vuexy/scripts/pages/modal-share-project.min.js +1 -0
  1121. data/app/assets/javascripts/vuexy/scripts/pages/modal-two-factor-auth.js +34 -0
  1122. data/app/assets/javascripts/vuexy/scripts/pages/modal-two-factor-auth.min.js +1 -0
  1123. data/app/assets/javascripts/vuexy/scripts/pages/page-account-settings-account.js +144 -0
  1124. data/app/assets/javascripts/vuexy/scripts/pages/page-account-settings-account.min.js +1 -0
  1125. data/app/assets/javascripts/vuexy/scripts/pages/page-account-settings-billing.js +368 -0
  1126. data/app/assets/javascripts/vuexy/scripts/pages/page-account-settings-billing.min.js +1 -0
  1127. data/app/assets/javascripts/vuexy/scripts/pages/page-account-settings-security.js +71 -0
  1128. data/app/assets/javascripts/vuexy/scripts/pages/page-account-settings-security.min.js +1 -0
  1129. data/app/assets/javascripts/vuexy/scripts/pages/page-api-key.js +39 -0
  1130. data/app/assets/javascripts/vuexy/scripts/pages/page-api-key.min.js +1 -0
  1131. data/app/assets/javascripts/vuexy/scripts/pages/page-blog-edit.js +119 -0
  1132. data/app/assets/javascripts/vuexy/scripts/pages/page-blog-edit.min.js +1 -0
  1133. data/app/assets/javascripts/vuexy/scripts/pages/page-knowledge-base.js +38 -0
  1134. data/app/assets/javascripts/vuexy/scripts/pages/page-knowledge-base.min.js +1 -0
  1135. data/app/assets/javascripts/vuexy/scripts/pages/page-pricing.js +46 -0
  1136. data/app/assets/javascripts/vuexy/scripts/pages/page-pricing.min.js +1 -0
  1137. data/app/assets/javascripts/vuexy/scripts/pages/page-profile.js +39 -0
  1138. data/app/assets/javascripts/vuexy/scripts/pages/page-profile.min.js +1 -0
  1139. data/app/assets/javascripts/vuexy/scripts/pagination/components-pagination.js +79 -0
  1140. data/app/assets/javascripts/vuexy/scripts/pagination/components-pagination.min.js +1 -0
  1141. data/app/assets/javascripts/vuexy/scripts/tables/table-datatables-advanced.js +331 -0
  1142. data/app/assets/javascripts/vuexy/scripts/tables/table-datatables-advanced.min.js +1 -0
  1143. data/app/assets/javascripts/vuexy/scripts/tables/table-datatables-basic.js +674 -0
  1144. data/app/assets/javascripts/vuexy/scripts/tables/table-datatables-basic.min.js +1 -0
  1145. data/app/assets/javascripts/vuexy/scripts/ui/ui-feather.js +77 -0
  1146. data/app/assets/javascripts/vuexy/scripts/ui/ui-feather.min.js +1 -0
  1147. data/app/assets/stylesheets/bootstrap/scss/_accordion.scss +118 -0
  1148. data/app/assets/stylesheets/bootstrap/scss/_alert.scss +57 -0
  1149. data/app/assets/stylesheets/bootstrap/scss/_badge.scss +29 -0
  1150. data/app/assets/stylesheets/bootstrap/scss/_breadcrumb.scss +28 -0
  1151. data/app/assets/stylesheets/bootstrap/scss/_button-group.scss +139 -0
  1152. data/app/assets/stylesheets/bootstrap/scss/_buttons.scss +111 -0
  1153. data/app/assets/stylesheets/bootstrap/scss/_card.scss +215 -0
  1154. data/app/assets/stylesheets/bootstrap/scss/_carousel.scss +229 -0
  1155. data/app/assets/stylesheets/bootstrap/scss/_close.scss +40 -0
  1156. data/app/assets/stylesheets/bootstrap/scss/_containers.scss +41 -0
  1157. data/app/assets/stylesheets/bootstrap/scss/_dropdown.scss +240 -0
  1158. data/app/assets/stylesheets/bootstrap/scss/_forms.scss +9 -0
  1159. data/app/assets/stylesheets/bootstrap/scss/_functions.scss +263 -0
  1160. data/app/assets/stylesheets/bootstrap/scss/_grid.scss +22 -0
  1161. data/app/assets/stylesheets/bootstrap/scss/_helpers.scss +7 -0
  1162. data/app/assets/stylesheets/bootstrap/scss/_images.scss +42 -0
  1163. data/app/assets/stylesheets/bootstrap/scss/_list-group.scss +174 -0
  1164. data/app/assets/stylesheets/bootstrap/scss/_mixins.scss +42 -0
  1165. data/app/assets/stylesheets/bootstrap/scss/_modal.scss +219 -0
  1166. data/app/assets/stylesheets/bootstrap/scss/_nav.scss +139 -0
  1167. data/app/assets/stylesheets/bootstrap/scss/_navbar.scss +306 -0
  1168. data/app/assets/stylesheets/bootstrap/scss/_offcanvas.scss +79 -0
  1169. data/app/assets/stylesheets/bootstrap/scss/_pagination.scss +64 -0
  1170. data/app/assets/stylesheets/bootstrap/scss/_popover.scss +158 -0
  1171. data/app/assets/stylesheets/bootstrap/scss/_progress.scss +48 -0
  1172. data/app/assets/stylesheets/bootstrap/scss/_reboot.scss +621 -0
  1173. data/app/assets/stylesheets/bootstrap/scss/_root.scss +16 -0
  1174. data/app/assets/stylesheets/bootstrap/scss/_spinners.scss +69 -0
  1175. data/app/assets/stylesheets/bootstrap/scss/_tables.scss +151 -0
  1176. data/app/assets/stylesheets/bootstrap/scss/_toasts.scss +51 -0
  1177. data/app/assets/stylesheets/bootstrap/scss/_tooltip.scss +115 -0
  1178. data/app/assets/stylesheets/bootstrap/scss/_transitions.scss +21 -0
  1179. data/app/assets/stylesheets/bootstrap/scss/_type.scss +104 -0
  1180. data/app/assets/stylesheets/bootstrap/scss/_utilities.scss +594 -0
  1181. data/app/assets/stylesheets/bootstrap/scss/_variables.scss +1468 -0
  1182. data/app/assets/stylesheets/bootstrap/scss/bootstrap-grid.scss +65 -0
  1183. data/app/assets/stylesheets/bootstrap/scss/bootstrap-reboot.scss +15 -0
  1184. data/app/assets/stylesheets/bootstrap/scss/bootstrap-utilities.scss +18 -0
  1185. data/app/assets/stylesheets/bootstrap/scss/bootstrap.scss +52 -0
  1186. data/app/assets/stylesheets/bootstrap/scss/forms/_floating-labels.scss +63 -0
  1187. data/app/assets/stylesheets/bootstrap/scss/forms/_form-check.scss +152 -0
  1188. data/app/assets/stylesheets/bootstrap/scss/forms/_form-control.scss +219 -0
  1189. data/app/assets/stylesheets/bootstrap/scss/forms/_form-range.scss +91 -0
  1190. data/app/assets/stylesheets/bootstrap/scss/forms/_form-select.scss +70 -0
  1191. data/app/assets/stylesheets/bootstrap/scss/forms/_form-text.scss +11 -0
  1192. data/app/assets/stylesheets/bootstrap/scss/forms/_input-group.scss +121 -0
  1193. data/app/assets/stylesheets/bootstrap/scss/forms/_labels.scss +36 -0
  1194. data/app/assets/stylesheets/bootstrap/scss/forms/_validation.scss +12 -0
  1195. data/app/assets/stylesheets/bootstrap/scss/helpers/_clearfix.scss +3 -0
  1196. data/app/assets/stylesheets/bootstrap/scss/helpers/_colored-links.scss +12 -0
  1197. data/app/assets/stylesheets/bootstrap/scss/helpers/_position.scss +30 -0
  1198. data/app/assets/stylesheets/bootstrap/scss/helpers/_ratio.scss +26 -0
  1199. data/app/assets/stylesheets/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  1200. data/app/assets/stylesheets/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  1201. data/app/assets/stylesheets/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  1202. data/app/assets/stylesheets/bootstrap/scss/mixins/_alert.scss +11 -0
  1203. data/app/assets/stylesheets/bootstrap/scss/mixins/_border-radius.scss +78 -0
  1204. data/app/assets/stylesheets/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  1205. data/app/assets/stylesheets/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  1206. data/app/assets/stylesheets/bootstrap/scss/mixins/_buttons.scss +133 -0
  1207. data/app/assets/stylesheets/bootstrap/scss/mixins/_caret.scss +64 -0
  1208. data/app/assets/stylesheets/bootstrap/scss/mixins/_clearfix.scss +9 -0
  1209. data/app/assets/stylesheets/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  1210. data/app/assets/stylesheets/bootstrap/scss/mixins/_container.scss +9 -0
  1211. data/app/assets/stylesheets/bootstrap/scss/mixins/_deprecate.scss +10 -0
  1212. data/app/assets/stylesheets/bootstrap/scss/mixins/_forms.scss +144 -0
  1213. data/app/assets/stylesheets/bootstrap/scss/mixins/_gradients.scss +47 -0
  1214. data/app/assets/stylesheets/bootstrap/scss/mixins/_grid.scss +132 -0
  1215. data/app/assets/stylesheets/bootstrap/scss/mixins/_image.scss +16 -0
  1216. data/app/assets/stylesheets/bootstrap/scss/mixins/_list-group.scss +24 -0
  1217. data/app/assets/stylesheets/bootstrap/scss/mixins/_lists.scss +7 -0
  1218. data/app/assets/stylesheets/bootstrap/scss/mixins/_pagination.scss +31 -0
  1219. data/app/assets/stylesheets/bootstrap/scss/mixins/_reset-text.scss +17 -0
  1220. data/app/assets/stylesheets/bootstrap/scss/mixins/_resize.scss +6 -0
  1221. data/app/assets/stylesheets/bootstrap/scss/mixins/_table-variants.scss +21 -0
  1222. data/app/assets/stylesheets/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  1223. data/app/assets/stylesheets/bootstrap/scss/mixins/_transition.scss +26 -0
  1224. data/app/assets/stylesheets/bootstrap/scss/mixins/_utilities.scss +68 -0
  1225. data/app/assets/stylesheets/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
  1226. data/app/assets/stylesheets/bootstrap/scss/utilities/_api.scss +47 -0
  1227. data/app/assets/stylesheets/bootstrap/scss/vendor/_rfs.scss +354 -0
  1228. data/app/assets/stylesheets/scss/style-rtl.scss +11 -0
  1229. data/app/assets/stylesheets/scss/style.scss +11 -0
  1230. data/app/assets/stylesheets/scss/variables/_variables-components.scss +5 -0
  1231. data/app/assets/stylesheets/scss/variables/_variables.scss +5 -0
  1232. data/app/assets/stylesheets/vendor/animate/animate.css +4072 -0
  1233. data/app/assets/stylesheets/vendor/animate/animate.min.css +7 -0
  1234. data/app/assets/stylesheets/vendor/calendars/fullcalendar.min.css +6 -0
  1235. data/app/assets/stylesheets/vendor/calendars/fullcalendar.print.css +176 -0
  1236. data/app/assets/stylesheets/vendor/charts/apexcharts.css +658 -0
  1237. data/app/assets/stylesheets/vendor/documentation.css +73 -0
  1238. data/app/assets/stylesheets/vendor/editors/quill/fonts/KaTeX_Main-Regular.woff2 +0 -0
  1239. data/app/assets/stylesheets/vendor/editors/quill/fonts/KaTeX_Math-Italic.woff2 +0 -0
  1240. data/app/assets/stylesheets/vendor/editors/quill/katex.min.css +1 -0
  1241. data/app/assets/stylesheets/vendor/editors/quill/monokai-sublime.min.css +1 -0
  1242. data/app/assets/stylesheets/vendor/editors/quill/quill.bubble.css +964 -0
  1243. data/app/assets/stylesheets/vendor/editors/quill/quill.snow.css +957 -0
  1244. data/app/assets/stylesheets/vendor/extensions/32px.png +0 -0
  1245. data/app/assets/stylesheets/vendor/extensions/dd-icon/dd-icon.eot +0 -0
  1246. data/app/assets/stylesheets/vendor/extensions/dd-icon/dd-icon.svg +15 -0
  1247. data/app/assets/stylesheets/vendor/extensions/dd-icon/dd-icon.ttf +0 -0
  1248. data/app/assets/stylesheets/vendor/extensions/dd-icon/dd-icon.woff +0 -0
  1249. data/app/assets/stylesheets/vendor/extensions/dragula.min.css +1 -0
  1250. data/app/assets/stylesheets/vendor/extensions/jquery.contextMenu.min.css +16 -0
  1251. data/app/assets/stylesheets/vendor/extensions/jquery.rateyo.min.css +1 -0
  1252. data/app/assets/stylesheets/vendor/extensions/jstree.min.css +1 -0
  1253. data/app/assets/stylesheets/vendor/extensions/nouislider.min.css +2 -0
  1254. data/app/assets/stylesheets/vendor/extensions/plyr.min.css +1 -0
  1255. data/app/assets/stylesheets/vendor/extensions/shepherd.min.css +1 -0
  1256. data/app/assets/stylesheets/vendor/extensions/sweetalert2.min.css +1 -0
  1257. data/app/assets/stylesheets/vendor/extensions/swiper.min.css +13 -0
  1258. data/app/assets/stylesheets/vendor/extensions/tether-theme-arrows.css +138 -0
  1259. data/app/assets/stylesheets/vendor/extensions/tether.min.css +1 -0
  1260. data/app/assets/stylesheets/vendor/extensions/toastr.min.css +7 -0
  1261. data/app/assets/stylesheets/vendor/feather-icons/feather-icons.min.css +7 -0
  1262. data/app/assets/stylesheets/vendor/file-uploaders/dropzone.min.css +1 -0
  1263. data/app/assets/stylesheets/vendor/flag-icons/flag-icons.min.css +2 -0
  1264. data/app/assets/stylesheets/vendor/forms/select/select2.min.css +1 -0
  1265. data/app/assets/stylesheets/vendor/forms/spinner/jquery.bootstrap-touchspin.css +23 -0
  1266. data/app/assets/stylesheets/vendor/forms/toggle/switchery.css +64 -0
  1267. data/app/assets/stylesheets/vendor/forms/toggle/switchery.min.css +1 -0
  1268. data/app/assets/stylesheets/vendor/forms/wizard/bs-stepper.min.css +6 -0
  1269. data/app/assets/stylesheets/vendor/jkanban/jkanban.min.css +2 -0
  1270. data/app/assets/stylesheets/vendor/maps/images/layers-2x.png +0 -0
  1271. data/app/assets/stylesheets/vendor/maps/images/layers.png +0 -0
  1272. data/app/assets/stylesheets/vendor/maps/images/marker-icon-2x.png +0 -0
  1273. data/app/assets/stylesheets/vendor/maps/images/marker-icon.png +0 -0
  1274. data/app/assets/stylesheets/vendor/maps/images/marker-shadow.png +0 -0
  1275. data/app/assets/stylesheets/vendor/maps/leaflet.min.css +580 -0
  1276. data/app/assets/stylesheets/vendor/modal/facebook.css +111 -0
  1277. data/app/assets/stylesheets/vendor/modal/google.css +115 -0
  1278. data/app/assets/stylesheets/vendor/modal/twitter.css +140 -0
  1279. data/app/assets/stylesheets/vendor/pace/pace.min.css +6 -0
  1280. data/app/assets/stylesheets/vendor/perfect-scrollbar/perfect-scrollbar.min.css +6 -0
  1281. data/app/assets/stylesheets/vendor/pickers/flatpickr/flatpickr.min.css +13 -0
  1282. data/app/assets/stylesheets/vendor/pickers/pickadate/classic.css +96 -0
  1283. data/app/assets/stylesheets/vendor/pickers/pickadate/classic.date.css +301 -0
  1284. data/app/assets/stylesheets/vendor/pickers/pickadate/classic.time.css +132 -0
  1285. data/app/assets/stylesheets/vendor/pickers/pickadate/default.css +165 -0
  1286. data/app/assets/stylesheets/vendor/pickers/pickadate/default.time.css +126 -0
  1287. data/app/assets/stylesheets/vendor/pickers/pickadate/pickadate.css +323 -0
  1288. data/app/assets/stylesheets/vendor/tables/datatable/buttons.bootstrap5.min.css +1 -0
  1289. data/app/assets/stylesheets/vendor/tables/datatable/dataTables.bootstrap5.min.css +5 -0
  1290. data/app/assets/stylesheets/vendor/tables/datatable/extensions/dataTables.checkboxes.css +23 -0
  1291. data/app/assets/stylesheets/vendor/tables/datatable/responsive.bootstrap.min.css +1 -0
  1292. data/app/assets/stylesheets/vendor/tables/datatable/responsive.bootstrap5.min.css +2 -0
  1293. data/app/assets/stylesheets/vendor/tables/datatable/rowGroup.bootstrap5.min.css +2 -0
  1294. data/app/assets/stylesheets/vendor/tables/datatable/select.dataTables.min.css +2 -0
  1295. data/app/assets/stylesheets/vendor/ui/prism-treeview.css +146 -0
  1296. data/app/assets/stylesheets/vendor/ui/prism.min.css +347 -0
  1297. data/app/assets/stylesheets/vendor/vendors-rtl.min.css +15 -0
  1298. data/app/assets/stylesheets/vendor/vendors.min.css +15 -0
  1299. data/app/assets/stylesheets/vendor/waves/waves.min.css +8 -0
  1300. data/app/assets/stylesheets/vendor/weather-icons/climacons.min.css +1 -0
  1301. data/app/assets/stylesheets/vuexy/application.scss +32 -0
  1302. data/app/assets/stylesheets/vuexy/bootstrap-extended/_accordion.scss +63 -0
  1303. data/app/assets/stylesheets/vuexy/bootstrap-extended/_alert.scss +50 -0
  1304. data/app/assets/stylesheets/vuexy/bootstrap-extended/_badge.scss +89 -0
  1305. data/app/assets/stylesheets/vuexy/bootstrap-extended/_breadcrumb.scss +80 -0
  1306. data/app/assets/stylesheets/vuexy/bootstrap-extended/_button-group.scss +59 -0
  1307. data/app/assets/stylesheets/vuexy/bootstrap-extended/_buttons.scss +81 -0
  1308. data/app/assets/stylesheets/vuexy/bootstrap-extended/_card.scss +503 -0
  1309. data/app/assets/stylesheets/vuexy/bootstrap-extended/_carousel.scss +5 -0
  1310. data/app/assets/stylesheets/vuexy/bootstrap-extended/_code.scss +14 -0
  1311. data/app/assets/stylesheets/vuexy/bootstrap-extended/_dropdown.scss +255 -0
  1312. data/app/assets/stylesheets/vuexy/bootstrap-extended/_forms.scss +58 -0
  1313. data/app/assets/stylesheets/vuexy/bootstrap-extended/_functions.scss +10 -0
  1314. data/app/assets/stylesheets/vuexy/bootstrap-extended/_helper.scss +106 -0
  1315. data/app/assets/stylesheets/vuexy/bootstrap-extended/_include.scss +24 -0
  1316. data/app/assets/stylesheets/vuexy/bootstrap-extended/_list-group.scss +79 -0
  1317. data/app/assets/stylesheets/vuexy/bootstrap-extended/_mixins.scss +11 -0
  1318. data/app/assets/stylesheets/vuexy/bootstrap-extended/_modal.scss +215 -0
  1319. data/app/assets/stylesheets/vuexy/bootstrap-extended/_nav.scss +271 -0
  1320. data/app/assets/stylesheets/vuexy/bootstrap-extended/_navbar.scss +680 -0
  1321. data/app/assets/stylesheets/vuexy/bootstrap-extended/_pagination.scss +306 -0
  1322. data/app/assets/stylesheets/vuexy/bootstrap-extended/_popover.scss +45 -0
  1323. data/app/assets/stylesheets/vuexy/bootstrap-extended/_progress.scss +20 -0
  1324. data/app/assets/stylesheets/vuexy/bootstrap-extended/_reboot.scss +15 -0
  1325. data/app/assets/stylesheets/vuexy/bootstrap-extended/_tables.scss +93 -0
  1326. data/app/assets/stylesheets/vuexy/bootstrap-extended/_toast.scss +16 -0
  1327. data/app/assets/stylesheets/vuexy/bootstrap-extended/_type.scss +22 -0
  1328. data/app/assets/stylesheets/vuexy/bootstrap-extended/_utilities.scss +450 -0
  1329. data/app/assets/stylesheets/vuexy/bootstrap-extended/_variables.scss +646 -0
  1330. data/app/assets/stylesheets/vuexy/bootstrap-extended/forms/_floating-labels.scss +6 -0
  1331. data/app/assets/stylesheets/vuexy/bootstrap-extended/forms/_form-check.scss +134 -0
  1332. data/app/assets/stylesheets/vuexy/bootstrap-extended/forms/_form-control.scss +38 -0
  1333. data/app/assets/stylesheets/vuexy/bootstrap-extended/forms/_input-group.scss +90 -0
  1334. data/app/assets/stylesheets/vuexy/bootstrap-extended/forms/_labels.scss +12 -0
  1335. data/app/assets/stylesheets/vuexy/bootstrap-extended/mixins/_navs.scss +49 -0
  1336. data/app/assets/stylesheets/vuexy/bootstrap-extended.scss +47 -0
  1337. data/app/assets/stylesheets/vuexy/bootstrap.scss +11 -0
  1338. data/app/assets/stylesheets/vuexy/colors.scss +24 -0
  1339. data/app/assets/stylesheets/vuexy/components/_include.scss +13 -0
  1340. data/app/assets/stylesheets/vuexy/components/_variables-dark.scss +53 -0
  1341. data/app/assets/stylesheets/vuexy/components/_variables.scss +103 -0
  1342. data/app/assets/stylesheets/vuexy/components/avatar.scss +192 -0
  1343. data/app/assets/stylesheets/vuexy/components/bootstrap-social.scss +318 -0
  1344. data/app/assets/stylesheets/vuexy/components/chart.scss +35 -0
  1345. data/app/assets/stylesheets/vuexy/components/custom-options.scss +41 -0
  1346. data/app/assets/stylesheets/vuexy/components/customizer.scss +98 -0
  1347. data/app/assets/stylesheets/vuexy/components/demo.scss +121 -0
  1348. data/app/assets/stylesheets/vuexy/components/divider.scss +104 -0
  1349. data/app/assets/stylesheets/vuexy/components/search.scss +237 -0
  1350. data/app/assets/stylesheets/vuexy/components/timeline.scss +101 -0
  1351. data/app/assets/stylesheets/vuexy/components.scss +41 -0
  1352. data/app/assets/stylesheets/vuexy/core/colors/_palette.scss +548 -0
  1353. data/app/assets/stylesheets/vuexy/core/colors/palette-gradient.scss +72 -0
  1354. data/app/assets/stylesheets/vuexy/core/colors/palette-noui.scss +30 -0
  1355. data/app/assets/stylesheets/vuexy/core/colors/palette-variables.scss +104 -0
  1356. data/app/assets/stylesheets/vuexy/core/layouts/_content.scss +474 -0
  1357. data/app/assets/stylesheets/vuexy/core/layouts/_footer.scss +71 -0
  1358. data/app/assets/stylesheets/vuexy/core/layouts/_sidebar.scss +79 -0
  1359. data/app/assets/stylesheets/vuexy/core/menu/_navigation.scss +206 -0
  1360. data/app/assets/stylesheets/vuexy/core/menu/menu-types/horizontal-menu.scss +594 -0
  1361. data/app/assets/stylesheets/vuexy/core/menu/menu-types/vertical-menu.scss +296 -0
  1362. data/app/assets/stylesheets/vuexy/core/menu/menu-types/vertical-overlay-menu.scss +79 -0
  1363. data/app/assets/stylesheets/vuexy/core/mixins/alert.scss +5 -0
  1364. data/app/assets/stylesheets/vuexy/core/mixins/hex2rgb.scss +4 -0
  1365. data/app/assets/stylesheets/vuexy/core/mixins/main-menu-mixin.scss +359 -0
  1366. data/app/assets/stylesheets/vuexy/core/mixins/transitions.scss +30 -0
  1367. data/app/assets/stylesheets/vuexy/custom-rtl.scss +367 -0
  1368. data/app/assets/stylesheets/vuexy/pages/app-calendar.scss +413 -0
  1369. data/app/assets/stylesheets/vuexy/pages/app-chat-list.scss +128 -0
  1370. data/app/assets/stylesheets/vuexy/pages/app-chat.scss +340 -0
  1371. data/app/assets/stylesheets/vuexy/pages/app-ecommerce-details.scss +288 -0
  1372. data/app/assets/stylesheets/vuexy/pages/app-ecommerce.scss +629 -0
  1373. data/app/assets/stylesheets/vuexy/pages/app-email.scss +504 -0
  1374. data/app/assets/stylesheets/vuexy/pages/app-file-manager.scss +442 -0
  1375. data/app/assets/stylesheets/vuexy/pages/app-invoice-list.scss +24 -0
  1376. data/app/assets/stylesheets/vuexy/pages/app-invoice-print.scss +77 -0
  1377. data/app/assets/stylesheets/vuexy/pages/app-invoice.scss +161 -0
  1378. data/app/assets/stylesheets/vuexy/pages/app-kanban.scss +156 -0
  1379. data/app/assets/stylesheets/vuexy/pages/app-todo.scss +293 -0
  1380. data/app/assets/stylesheets/vuexy/pages/authentication.scss +172 -0
  1381. data/app/assets/stylesheets/vuexy/pages/dashboard-ecommerce.scss +66 -0
  1382. data/app/assets/stylesheets/vuexy/pages/modal-create-app.scss +15 -0
  1383. data/app/assets/stylesheets/vuexy/pages/page-blog.scss +63 -0
  1384. data/app/assets/stylesheets/vuexy/pages/page-coming-soon.scss +21 -0
  1385. data/app/assets/stylesheets/vuexy/pages/page-faq.scss +66 -0
  1386. data/app/assets/stylesheets/vuexy/pages/page-knowledge-base.scss +77 -0
  1387. data/app/assets/stylesheets/vuexy/pages/page-misc.scss +44 -0
  1388. data/app/assets/stylesheets/vuexy/pages/page-pricing.scss +100 -0
  1389. data/app/assets/stylesheets/vuexy/pages/page-profile.scss +146 -0
  1390. data/app/assets/stylesheets/vuexy/pages/ui-feather.scss +59 -0
  1391. data/app/assets/stylesheets/vuexy/plugins/charts/chart-apex.scss +218 -0
  1392. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-context-menu.scss +101 -0
  1393. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-drag-drop.scss +55 -0
  1394. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-media-player.scss +21 -0
  1395. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-ratings.scss +57 -0
  1396. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-sliders.scss +145 -0
  1397. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-sweet-alerts.scss +132 -0
  1398. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-swiper.scss +367 -0
  1399. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-toastr.scss +242 -0
  1400. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-tour.scss +80 -0
  1401. data/app/assets/stylesheets/vuexy/plugins/extensions/ext-component-tree.scss +154 -0
  1402. data/app/assets/stylesheets/vuexy/plugins/forms/form-file-uploader.scss +109 -0
  1403. data/app/assets/stylesheets/vuexy/plugins/forms/form-number-input.scss +158 -0
  1404. data/app/assets/stylesheets/vuexy/plugins/forms/form-quill-editor.scss +213 -0
  1405. data/app/assets/stylesheets/vuexy/plugins/forms/form-validation.scss +33 -0
  1406. data/app/assets/stylesheets/vuexy/plugins/forms/form-wizard.scss +296 -0
  1407. data/app/assets/stylesheets/vuexy/plugins/forms/pickers/form-flat-pickr.scss +194 -0
  1408. data/app/assets/stylesheets/vuexy/plugins/forms/pickers/form-pickadate.scss +171 -0
  1409. data/app/assets/stylesheets/vuexy/plugins/forms/select2/_select2.scss +322 -0
  1410. data/app/assets/stylesheets/vuexy/plugins/maps/map-leaflet.scss +38 -0
  1411. data/app/assets/stylesheets/vuexy/plugins/tables/_datatables.scss +186 -0
  1412. data/app/assets/stylesheets/vuexy/plugins/ui/_breakpoints.scss +64 -0
  1413. data/app/assets/stylesheets/vuexy/plugins/ui/coming-soon.scss +64 -0
  1414. data/app/assets/stylesheets/vuexy/themes/bordered-layout.scss +61 -0
  1415. data/app/assets/stylesheets/vuexy/themes/dark-layout.scss +2336 -0
  1416. data/app/assets/stylesheets/vuexy/themes/semi-dark-layout.scss +111 -0
  1417. data/app/controllers/concerns/vuexy/components/navigation.rb +19 -0
  1418. data/app/controllers/concerns/vuexy/layouts/blank.rb +13 -0
  1419. data/app/controllers/concerns/vuexy/layouts/horizontal_menu.rb +13 -0
  1420. data/app/controllers/concerns/vuexy/layouts/vertical_menu.rb +13 -0
  1421. data/app/controllers/vuexy/application_controller.rb +4 -0
  1422. data/app/jobs/vuexy/application_job.rb +4 -0
  1423. data/app/mailers/vuexy/application_mailer.rb +6 -0
  1424. data/app/models/vuexy/application_record.rb +5 -0
  1425. data/app/views/layouts/vuexy/application.html.erb +15 -0
  1426. data/app/views/layouts/vuexy/blank.haml +33 -0
  1427. data/app/views/layouts/vuexy/horizontal-menu.haml +27 -0
  1428. data/app/views/layouts/vuexy/vertical-menu.haml +47 -0
  1429. data/app/views/vuexy/components/_side_nav.haml +38 -0
  1430. data/config/routes.rb +2 -0
  1431. data/lib/generators/vuexy/install/USAGE +8 -0
  1432. data/lib/generators/vuexy/install/install_generator.rb +11 -0
  1433. data/lib/generators/vuexy/install/templates/initializer.rb +5 -0
  1434. data/lib/tasks/vuexy_tasks.rake +4 -0
  1435. data/lib/vuexy/config.rb +19 -0
  1436. data/lib/vuexy/engine.rb +5 -0
  1437. data/lib/vuexy/version.rb +3 -0
  1438. data/lib/vuexy.rb +7 -0
  1439. metadata +1539 -0
@@ -0,0 +1,2610 @@
1
+ /*!
2
+
3
+ handlebars v1.2.0
4
+
5
+ Copyright (C) 2011 by Yehuda Katz
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
24
+
25
+ @license
26
+ */
27
+ var Handlebars = (function() {
28
+ // handlebars/safe-string.js
29
+ var __module4__ = (function() {
30
+ "use strict";
31
+ var __exports__;
32
+ // Build out our basic SafeString type
33
+ function SafeString(string) {
34
+ this.string = string;
35
+ }
36
+
37
+ SafeString.prototype.toString = function() {
38
+ return "" + this.string;
39
+ };
40
+
41
+ __exports__ = SafeString;
42
+ return __exports__;
43
+ })();
44
+
45
+ // handlebars/utils.js
46
+ var __module3__ = (function(__dependency1__) {
47
+ "use strict";
48
+ var __exports__ = {};
49
+ /*jshint -W004 */
50
+ var SafeString = __dependency1__;
51
+
52
+ var escape = {
53
+ "&": "&",
54
+ "<": "&lt;",
55
+ ">": "&gt;",
56
+ '"': "&quot;",
57
+ "'": "&#x27;",
58
+ "`": "&#x60;"
59
+ };
60
+
61
+ var badChars = /[&<>"'`]/g;
62
+ var possible = /[&<>"'`]/;
63
+
64
+ function escapeChar(chr) {
65
+ return escape[chr] || "&amp;";
66
+ }
67
+
68
+ function extend(obj, value) {
69
+ for(var key in value) {
70
+ if(Object.prototype.hasOwnProperty.call(value, key)) {
71
+ obj[key] = value[key];
72
+ }
73
+ }
74
+ }
75
+
76
+ __exports__.extend = extend;var toString = Object.prototype.toString;
77
+ __exports__.toString = toString;
78
+ // Sourced from lodash
79
+ // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
80
+ var isFunction = function(value) {
81
+ return typeof value === 'function';
82
+ };
83
+ // fallback for older versions of Chrome and Safari
84
+ if (isFunction(/x/)) {
85
+ isFunction = function(value) {
86
+ return typeof value === 'function' && toString.call(value) === '[object Function]';
87
+ };
88
+ }
89
+ var isFunction;
90
+ __exports__.isFunction = isFunction;
91
+ var isArray = Array.isArray || function(value) {
92
+ return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false;
93
+ };
94
+ __exports__.isArray = isArray;
95
+
96
+ function escapeExpression(string) {
97
+ // don't escape SafeStrings, since they're already safe
98
+ if (string instanceof SafeString) {
99
+ return string.toString();
100
+ } else if (!string && string !== 0) {
101
+ return "";
102
+ }
103
+
104
+ // Force a string conversion as this will be done by the append regardless and
105
+ // the regex test will do this transparently behind the scenes, causing issues if
106
+ // an object's to string has escaped characters in it.
107
+ string = "" + string;
108
+
109
+ if(!possible.test(string)) { return string; }
110
+ return string.replace(badChars, escapeChar);
111
+ }
112
+
113
+ __exports__.escapeExpression = escapeExpression;function isEmpty(value) {
114
+ if (!value && value !== 0) {
115
+ return true;
116
+ } else if (isArray(value) && value.length === 0) {
117
+ return true;
118
+ } else {
119
+ return false;
120
+ }
121
+ }
122
+
123
+ __exports__.isEmpty = isEmpty;
124
+ return __exports__;
125
+ })(__module4__);
126
+
127
+ // handlebars/exception.js
128
+ var __module5__ = (function() {
129
+ "use strict";
130
+ var __exports__;
131
+
132
+ var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];
133
+
134
+ function Exception(/* message */) {
135
+ var tmp = Error.prototype.constructor.apply(this, arguments);
136
+
137
+ // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
138
+ for (var idx = 0; idx < errorProps.length; idx++) {
139
+ this[errorProps[idx]] = tmp[errorProps[idx]];
140
+ }
141
+ }
142
+
143
+ Exception.prototype = new Error();
144
+
145
+ __exports__ = Exception;
146
+ return __exports__;
147
+ })();
148
+
149
+ // handlebars/base.js
150
+ var __module2__ = (function(__dependency1__, __dependency2__) {
151
+ "use strict";
152
+ var __exports__ = {};
153
+ var Utils = __dependency1__;
154
+ var Exception = __dependency2__;
155
+
156
+ var VERSION = "1.2.0";
157
+ __exports__.VERSION = VERSION;var COMPILER_REVISION = 4;
158
+ __exports__.COMPILER_REVISION = COMPILER_REVISION;
159
+ var REVISION_CHANGES = {
160
+ 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
161
+ 2: '== 1.0.0-rc.3',
162
+ 3: '== 1.0.0-rc.4',
163
+ 4: '>= 1.0.0'
164
+ };
165
+ __exports__.REVISION_CHANGES = REVISION_CHANGES;
166
+ var isArray = Utils.isArray,
167
+ isFunction = Utils.isFunction,
168
+ toString = Utils.toString,
169
+ objectType = '[object Object]';
170
+
171
+ function HandlebarsEnvironment(helpers, partials) {
172
+ this.helpers = helpers || {};
173
+ this.partials = partials || {};
174
+
175
+ registerDefaultHelpers(this);
176
+ }
177
+
178
+ __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = {
179
+ constructor: HandlebarsEnvironment,
180
+
181
+ logger: logger,
182
+ log: log,
183
+
184
+ registerHelper: function(name, fn, inverse) {
185
+ if (toString.call(name) === objectType) {
186
+ if (inverse || fn) { throw new Exception('Arg not supported with multiple helpers'); }
187
+ Utils.extend(this.helpers, name);
188
+ } else {
189
+ if (inverse) { fn.not = inverse; }
190
+ this.helpers[name] = fn;
191
+ }
192
+ },
193
+
194
+ registerPartial: function(name, str) {
195
+ if (toString.call(name) === objectType) {
196
+ Utils.extend(this.partials, name);
197
+ } else {
198
+ this.partials[name] = str;
199
+ }
200
+ }
201
+ };
202
+
203
+ function registerDefaultHelpers(instance) {
204
+ instance.registerHelper('helperMissing', function(arg) {
205
+ if(arguments.length === 2) {
206
+ return undefined;
207
+ } else {
208
+ throw new Error("Missing helper: '" + arg + "'");
209
+ }
210
+ });
211
+
212
+ instance.registerHelper('blockHelperMissing', function(context, options) {
213
+ var inverse = options.inverse || function() {}, fn = options.fn;
214
+
215
+ if (isFunction(context)) { context = context.call(this); }
216
+
217
+ if(context === true) {
218
+ return fn(this);
219
+ } else if(context === false || context == null) {
220
+ return inverse(this);
221
+ } else if (isArray(context)) {
222
+ if(context.length > 0) {
223
+ return instance.helpers.each(context, options);
224
+ } else {
225
+ return inverse(this);
226
+ }
227
+ } else {
228
+ return fn(context);
229
+ }
230
+ });
231
+
232
+ instance.registerHelper('each', function(context, options) {
233
+ var fn = options.fn, inverse = options.inverse;
234
+ var i = 0, ret = "", data;
235
+
236
+ if (isFunction(context)) { context = context.call(this); }
237
+
238
+ if (options.data) {
239
+ data = createFrame(options.data);
240
+ }
241
+
242
+ if(context && typeof context === 'object') {
243
+ if (isArray(context)) {
244
+ for(var j = context.length; i<j; i++) {
245
+ if (data) {
246
+ data.index = i;
247
+ data.first = (i === 0);
248
+ data.last = (i === (context.length-1));
249
+ }
250
+ ret = ret + fn(context[i], { data: data });
251
+ }
252
+ } else {
253
+ for(var key in context) {
254
+ if(context.hasOwnProperty(key)) {
255
+ if(data) {
256
+ data.key = key;
257
+ data.index = i;
258
+ data.first = (i === 0);
259
+ }
260
+ ret = ret + fn(context[key], {data: data});
261
+ i++;
262
+ }
263
+ }
264
+ }
265
+ }
266
+
267
+ if(i === 0){
268
+ ret = inverse(this);
269
+ }
270
+
271
+ return ret;
272
+ });
273
+
274
+ instance.registerHelper('if', function(conditional, options) {
275
+ if (isFunction(conditional)) { conditional = conditional.call(this); }
276
+
277
+ // Default behavior is to render the positive path if the value is truthy and not empty.
278
+ // The `includeZero` option may be set to treat the condtional as purely not empty based on the
279
+ // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
280
+ if ((!options.hash.includeZero && !conditional) || Utils.isEmpty(conditional)) {
281
+ return options.inverse(this);
282
+ } else {
283
+ return options.fn(this);
284
+ }
285
+ });
286
+
287
+ instance.registerHelper('unless', function(conditional, options) {
288
+ return instance.helpers['if'].call(this, conditional, {fn: options.inverse, inverse: options.fn, hash: options.hash});
289
+ });
290
+
291
+ instance.registerHelper('with', function(context, options) {
292
+ if (isFunction(context)) { context = context.call(this); }
293
+
294
+ if (!Utils.isEmpty(context)) return options.fn(context);
295
+ });
296
+
297
+ instance.registerHelper('log', function(context, options) {
298
+ var level = options.data && options.data.level != null ? parseInt(options.data.level, 10) : 1;
299
+ instance.log(level, context);
300
+ });
301
+ }
302
+
303
+ var logger = {
304
+ methodMap: { 0: 'debug', 1: 'info', 2: 'warn', 3: 'error' },
305
+
306
+ // State enum
307
+ DEBUG: 0,
308
+ INFO: 1,
309
+ WARN: 2,
310
+ ERROR: 3,
311
+ level: 3,
312
+
313
+ // can be overridden in the host environment
314
+ log: function(level, obj) {
315
+ if (logger.level <= level) {
316
+ var method = logger.methodMap[level];
317
+ if (typeof console !== 'undefined' && console[method]) {
318
+ console[method].call(console, obj);
319
+ }
320
+ }
321
+ }
322
+ };
323
+ __exports__.logger = logger;
324
+ function log(level, obj) { logger.log(level, obj); }
325
+
326
+ __exports__.log = log;var createFrame = function(object) {
327
+ var obj = {};
328
+ Utils.extend(obj, object);
329
+ return obj;
330
+ };
331
+ __exports__.createFrame = createFrame;
332
+ return __exports__;
333
+ })(__module3__, __module5__);
334
+
335
+ // handlebars/runtime.js
336
+ var __module6__ = (function(__dependency1__, __dependency2__, __dependency3__) {
337
+ "use strict";
338
+ var __exports__ = {};
339
+ var Utils = __dependency1__;
340
+ var Exception = __dependency2__;
341
+ var COMPILER_REVISION = __dependency3__.COMPILER_REVISION;
342
+ var REVISION_CHANGES = __dependency3__.REVISION_CHANGES;
343
+
344
+ function checkRevision(compilerInfo) {
345
+ var compilerRevision = compilerInfo && compilerInfo[0] || 1,
346
+ currentRevision = COMPILER_REVISION;
347
+
348
+ if (compilerRevision !== currentRevision) {
349
+ if (compilerRevision < currentRevision) {
350
+ var runtimeVersions = REVISION_CHANGES[currentRevision],
351
+ compilerVersions = REVISION_CHANGES[compilerRevision];
352
+ throw new Error("Template was precompiled with an older version of Handlebars than the current runtime. "+
353
+ "Please update your precompiler to a newer version ("+runtimeVersions+") or downgrade your runtime to an older version ("+compilerVersions+").");
354
+ } else {
355
+ // Use the embedded version info since the runtime doesn't know about this revision yet
356
+ throw new Error("Template was precompiled with a newer version of Handlebars than the current runtime. "+
357
+ "Please update your runtime to a newer version ("+compilerInfo[1]+").");
358
+ }
359
+ }
360
+ }
361
+
362
+ __exports__.checkRevision = checkRevision;// TODO: Remove this line and break up compilePartial
363
+
364
+ function template(templateSpec, env) {
365
+ if (!env) {
366
+ throw new Error("No environment passed to template");
367
+ }
368
+
369
+ // Note: Using env.VM references rather than local var references throughout this section to allow
370
+ // for external users to override these as psuedo-supported APIs.
371
+ var invokePartialWrapper = function(partial, name, context, helpers, partials, data) {
372
+ var result = env.VM.invokePartial.apply(this, arguments);
373
+ if (result != null) { return result; }
374
+
375
+ if (env.compile) {
376
+ var options = { helpers: helpers, partials: partials, data: data };
377
+ partials[name] = env.compile(partial, { data: data !== undefined }, env);
378
+ return partials[name](context, options);
379
+ } else {
380
+ throw new Exception("The partial " + name + " could not be compiled when running in runtime-only mode");
381
+ }
382
+ };
383
+
384
+ // Just add water
385
+ var container = {
386
+ escapeExpression: Utils.escapeExpression,
387
+ invokePartial: invokePartialWrapper,
388
+ programs: [],
389
+ program: function(i, fn, data) {
390
+ var programWrapper = this.programs[i];
391
+ if(data) {
392
+ programWrapper = program(i, fn, data);
393
+ } else if (!programWrapper) {
394
+ programWrapper = this.programs[i] = program(i, fn);
395
+ }
396
+ return programWrapper;
397
+ },
398
+ merge: function(param, common) {
399
+ var ret = param || common;
400
+
401
+ if (param && common && (param !== common)) {
402
+ ret = {};
403
+ Utils.extend(ret, common);
404
+ Utils.extend(ret, param);
405
+ }
406
+ return ret;
407
+ },
408
+ programWithDepth: env.VM.programWithDepth,
409
+ noop: env.VM.noop,
410
+ compilerInfo: null
411
+ };
412
+
413
+ return function(context, options) {
414
+ options = options || {};
415
+ var namespace = options.partial ? options : env,
416
+ helpers,
417
+ partials;
418
+
419
+ if (!options.partial) {
420
+ helpers = options.helpers;
421
+ partials = options.partials;
422
+ }
423
+ var result = templateSpec.call(
424
+ container,
425
+ namespace, context,
426
+ helpers,
427
+ partials,
428
+ options.data);
429
+
430
+ if (!options.partial) {
431
+ env.VM.checkRevision(container.compilerInfo);
432
+ }
433
+
434
+ return result;
435
+ };
436
+ }
437
+
438
+ __exports__.template = template;function programWithDepth(i, fn, data /*, $depth */) {
439
+ var args = Array.prototype.slice.call(arguments, 3);
440
+
441
+ var prog = function(context, options) {
442
+ options = options || {};
443
+
444
+ return fn.apply(this, [context, options.data || data].concat(args));
445
+ };
446
+ prog.program = i;
447
+ prog.depth = args.length;
448
+ return prog;
449
+ }
450
+
451
+ __exports__.programWithDepth = programWithDepth;function program(i, fn, data) {
452
+ var prog = function(context, options) {
453
+ options = options || {};
454
+
455
+ return fn(context, options.data || data);
456
+ };
457
+ prog.program = i;
458
+ prog.depth = 0;
459
+ return prog;
460
+ }
461
+
462
+ __exports__.program = program;function invokePartial(partial, name, context, helpers, partials, data) {
463
+ var options = { partial: true, helpers: helpers, partials: partials, data: data };
464
+
465
+ if(partial === undefined) {
466
+ throw new Exception("The partial " + name + " could not be found");
467
+ } else if(partial instanceof Function) {
468
+ return partial(context, options);
469
+ }
470
+ }
471
+
472
+ __exports__.invokePartial = invokePartial;function noop() { return ""; }
473
+
474
+ __exports__.noop = noop;
475
+ return __exports__;
476
+ })(__module3__, __module5__, __module2__);
477
+
478
+ // handlebars.runtime.js
479
+ var __module1__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
480
+ "use strict";
481
+ var __exports__;
482
+ /*globals Handlebars: true */
483
+ var base = __dependency1__;
484
+
485
+ // Each of these augment the Handlebars object. No need to setup here.
486
+ // (This is done to easily share code between commonjs and browse envs)
487
+ var SafeString = __dependency2__;
488
+ var Exception = __dependency3__;
489
+ var Utils = __dependency4__;
490
+ var runtime = __dependency5__;
491
+
492
+ // For compatibility and usage outside of module systems, make the Handlebars object a namespace
493
+ var create = function() {
494
+ var hb = new base.HandlebarsEnvironment();
495
+
496
+ Utils.extend(hb, base);
497
+ hb.SafeString = SafeString;
498
+ hb.Exception = Exception;
499
+ hb.Utils = Utils;
500
+
501
+ hb.VM = runtime;
502
+ hb.template = function(spec) {
503
+ return runtime.template(spec, hb);
504
+ };
505
+
506
+ return hb;
507
+ };
508
+
509
+ var Handlebars = create();
510
+ Handlebars.create = create;
511
+
512
+ __exports__ = Handlebars;
513
+ return __exports__;
514
+ })(__module2__, __module4__, __module5__, __module3__, __module6__);
515
+
516
+ // handlebars/compiler/ast.js
517
+ var __module7__ = (function(__dependency1__) {
518
+ "use strict";
519
+ var __exports__;
520
+ var Exception = __dependency1__;
521
+
522
+ var AST = {
523
+ ProgramNode: function(statements, inverseStrip, inverse) {
524
+ this.type = "program";
525
+ this.statements = statements;
526
+ this.strip = {};
527
+
528
+ if(inverse) {
529
+ this.inverse = new AST.ProgramNode(inverse, inverseStrip);
530
+ this.strip.right = inverseStrip.left;
531
+ } else if (inverseStrip) {
532
+ this.strip.left = inverseStrip.right;
533
+ }
534
+ },
535
+
536
+ MustacheNode: function(rawParams, hash, open, strip) {
537
+ this.type = "mustache";
538
+ this.hash = hash;
539
+ this.strip = strip;
540
+
541
+ // Open may be a string parsed from the parser or a passed boolean flag
542
+ if (open != null && open.charAt) {
543
+ // Must use charAt to support IE pre-10
544
+ var escapeFlag = open.charAt(3) || open.charAt(2);
545
+ this.escaped = escapeFlag !== '{' && escapeFlag !== '&';
546
+ } else {
547
+ this.escaped = !!open;
548
+ }
549
+
550
+ var id = this.id = rawParams[0];
551
+ var params = this.params = rawParams.slice(1);
552
+
553
+ // a mustache is an eligible helper if:
554
+ // * its id is simple (a single part, not `this` or `..`)
555
+ var eligibleHelper = this.eligibleHelper = id.isSimple;
556
+
557
+ // a mustache is definitely a helper if:
558
+ // * it is an eligible helper, and
559
+ // * it has at least one parameter or hash segment
560
+ this.isHelper = eligibleHelper && (params.length || hash);
561
+
562
+ // if a mustache is an eligible helper but not a definite
563
+ // helper, it is ambiguous, and will be resolved in a later
564
+ // pass or at runtime.
565
+ },
566
+
567
+ PartialNode: function(partialName, context, strip) {
568
+ this.type = "partial";
569
+ this.partialName = partialName;
570
+ this.context = context;
571
+ this.strip = strip;
572
+ },
573
+
574
+ BlockNode: function(mustache, program, inverse, close) {
575
+ if(mustache.id.original !== close.path.original) {
576
+ throw new Exception(mustache.id.original + " doesn't match " + close.path.original);
577
+ }
578
+
579
+ this.type = "block";
580
+ this.mustache = mustache;
581
+ this.program = program;
582
+ this.inverse = inverse;
583
+
584
+ this.strip = {
585
+ left: mustache.strip.left,
586
+ right: close.strip.right
587
+ };
588
+
589
+ (program || inverse).strip.left = mustache.strip.right;
590
+ (inverse || program).strip.right = close.strip.left;
591
+
592
+ if (inverse && !program) {
593
+ this.isInverse = true;
594
+ }
595
+ },
596
+
597
+ ContentNode: function(string) {
598
+ this.type = "content";
599
+ this.string = string;
600
+ },
601
+
602
+ HashNode: function(pairs) {
603
+ this.type = "hash";
604
+ this.pairs = pairs;
605
+ },
606
+
607
+ IdNode: function(parts) {
608
+ this.type = "ID";
609
+
610
+ var original = "",
611
+ dig = [],
612
+ depth = 0;
613
+
614
+ for(var i=0,l=parts.length; i<l; i++) {
615
+ var part = parts[i].part;
616
+ original += (parts[i].separator || '') + part;
617
+
618
+ if (part === ".." || part === "." || part === "this") {
619
+ if (dig.length > 0) { throw new Exception("Invalid path: " + original); }
620
+ else if (part === "..") { depth++; }
621
+ else { this.isScoped = true; }
622
+ }
623
+ else { dig.push(part); }
624
+ }
625
+
626
+ this.original = original;
627
+ this.parts = dig;
628
+ this.string = dig.join('.');
629
+ this.depth = depth;
630
+
631
+ // an ID is simple if it only has one part, and that part is not
632
+ // `..` or `this`.
633
+ this.isSimple = parts.length === 1 && !this.isScoped && depth === 0;
634
+
635
+ this.stringModeValue = this.string;
636
+ },
637
+
638
+ PartialNameNode: function(name) {
639
+ this.type = "PARTIAL_NAME";
640
+ this.name = name.original;
641
+ },
642
+
643
+ DataNode: function(id) {
644
+ this.type = "DATA";
645
+ this.id = id;
646
+ },
647
+
648
+ StringNode: function(string) {
649
+ this.type = "STRING";
650
+ this.original =
651
+ this.string =
652
+ this.stringModeValue = string;
653
+ },
654
+
655
+ IntegerNode: function(integer) {
656
+ this.type = "INTEGER";
657
+ this.original =
658
+ this.integer = integer;
659
+ this.stringModeValue = Number(integer);
660
+ },
661
+
662
+ BooleanNode: function(bool) {
663
+ this.type = "BOOLEAN";
664
+ this.bool = bool;
665
+ this.stringModeValue = bool === "true";
666
+ },
667
+
668
+ CommentNode: function(comment) {
669
+ this.type = "comment";
670
+ this.comment = comment;
671
+ }
672
+ };
673
+
674
+ // Must be exported as an object rather than the root of the module as the jison lexer
675
+ // most modify the object to operate properly.
676
+ __exports__ = AST;
677
+ return __exports__;
678
+ })(__module5__);
679
+
680
+ // handlebars/compiler/parser.js
681
+ var __module9__ = (function() {
682
+ "use strict";
683
+ var __exports__;
684
+ /* jshint ignore:start */
685
+ /* Jison generated parser */
686
+ var handlebars = (function(){
687
+ var parser = {trace: function trace() { },
688
+ yy: {},
689
+ symbols_: {"error":2,"root":3,"statements":4,"EOF":5,"program":6,"simpleInverse":7,"statement":8,"openInverse":9,"closeBlock":10,"openBlock":11,"mustache":12,"partial":13,"CONTENT":14,"COMMENT":15,"OPEN_BLOCK":16,"inMustache":17,"CLOSE":18,"OPEN_INVERSE":19,"OPEN_ENDBLOCK":20,"path":21,"OPEN":22,"OPEN_UNESCAPED":23,"CLOSE_UNESCAPED":24,"OPEN_PARTIAL":25,"partialName":26,"partial_option0":27,"inMustache_repetition0":28,"inMustache_option0":29,"dataName":30,"param":31,"STRING":32,"INTEGER":33,"BOOLEAN":34,"hash":35,"hash_repetition_plus0":36,"hashSegment":37,"ID":38,"EQUALS":39,"DATA":40,"pathSegments":41,"SEP":42,"$accept":0,"$end":1},
690
+ terminals_: {2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",38:"ID",39:"EQUALS",40:"DATA",42:"SEP"},
691
+ productions_: [0,[3,2],[3,1],[6,2],[6,3],[6,2],[6,1],[6,1],[6,0],[4,1],[4,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,4],[7,2],[17,3],[17,1],[31,1],[31,1],[31,1],[31,1],[31,1],[35,1],[37,3],[26,1],[26,1],[26,1],[30,2],[21,1],[41,3],[41,1],[27,0],[27,1],[28,0],[28,2],[29,0],[29,1],[36,1],[36,2]],
692
+ performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {
693
+
694
+ var $0 = $$.length - 1;
695
+ switch (yystate) {
696
+ case 1: return new yy.ProgramNode($$[$0-1]);
697
+ break;
698
+ case 2: return new yy.ProgramNode([]);
699
+ break;
700
+ case 3:this.$ = new yy.ProgramNode([], $$[$0-1], $$[$0]);
701
+ break;
702
+ case 4:this.$ = new yy.ProgramNode($$[$0-2], $$[$0-1], $$[$0]);
703
+ break;
704
+ case 5:this.$ = new yy.ProgramNode($$[$0-1], $$[$0], []);
705
+ break;
706
+ case 6:this.$ = new yy.ProgramNode($$[$0]);
707
+ break;
708
+ case 7:this.$ = new yy.ProgramNode([]);
709
+ break;
710
+ case 8:this.$ = new yy.ProgramNode([]);
711
+ break;
712
+ case 9:this.$ = [$$[$0]];
713
+ break;
714
+ case 10: $$[$0-1].push($$[$0]); this.$ = $$[$0-1];
715
+ break;
716
+ case 11:this.$ = new yy.BlockNode($$[$0-2], $$[$0-1].inverse, $$[$0-1], $$[$0]);
717
+ break;
718
+ case 12:this.$ = new yy.BlockNode($$[$0-2], $$[$0-1], $$[$0-1].inverse, $$[$0]);
719
+ break;
720
+ case 13:this.$ = $$[$0];
721
+ break;
722
+ case 14:this.$ = $$[$0];
723
+ break;
724
+ case 15:this.$ = new yy.ContentNode($$[$0]);
725
+ break;
726
+ case 16:this.$ = new yy.CommentNode($$[$0]);
727
+ break;
728
+ case 17:this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1], $$[$0-2], stripFlags($$[$0-2], $$[$0]));
729
+ break;
730
+ case 18:this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1], $$[$0-2], stripFlags($$[$0-2], $$[$0]));
731
+ break;
732
+ case 19:this.$ = {path: $$[$0-1], strip: stripFlags($$[$0-2], $$[$0])};
733
+ break;
734
+ case 20:this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1], $$[$0-2], stripFlags($$[$0-2], $$[$0]));
735
+ break;
736
+ case 21:this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1], $$[$0-2], stripFlags($$[$0-2], $$[$0]));
737
+ break;
738
+ case 22:this.$ = new yy.PartialNode($$[$0-2], $$[$0-1], stripFlags($$[$0-3], $$[$0]));
739
+ break;
740
+ case 23:this.$ = stripFlags($$[$0-1], $$[$0]);
741
+ break;
742
+ case 24:this.$ = [[$$[$0-2]].concat($$[$0-1]), $$[$0]];
743
+ break;
744
+ case 25:this.$ = [[$$[$0]], null];
745
+ break;
746
+ case 26:this.$ = $$[$0];
747
+ break;
748
+ case 27:this.$ = new yy.StringNode($$[$0]);
749
+ break;
750
+ case 28:this.$ = new yy.IntegerNode($$[$0]);
751
+ break;
752
+ case 29:this.$ = new yy.BooleanNode($$[$0]);
753
+ break;
754
+ case 30:this.$ = $$[$0];
755
+ break;
756
+ case 31:this.$ = new yy.HashNode($$[$0]);
757
+ break;
758
+ case 32:this.$ = [$$[$0-2], $$[$0]];
759
+ break;
760
+ case 33:this.$ = new yy.PartialNameNode($$[$0]);
761
+ break;
762
+ case 34:this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0]));
763
+ break;
764
+ case 35:this.$ = new yy.PartialNameNode(new yy.IntegerNode($$[$0]));
765
+ break;
766
+ case 36:this.$ = new yy.DataNode($$[$0]);
767
+ break;
768
+ case 37:this.$ = new yy.IdNode($$[$0]);
769
+ break;
770
+ case 38: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2];
771
+ break;
772
+ case 39:this.$ = [{part: $$[$0]}];
773
+ break;
774
+ case 42:this.$ = [];
775
+ break;
776
+ case 43:$$[$0-1].push($$[$0]);
777
+ break;
778
+ case 46:this.$ = [$$[$0]];
779
+ break;
780
+ case 47:$$[$0-1].push($$[$0]);
781
+ break;
782
+ }
783
+ },
784
+ table: [{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,38:[1,28],40:[1,27],41:26},{17:29,21:24,30:25,38:[1,28],40:[1,27],41:26},{17:30,21:24,30:25,38:[1,28],40:[1,27],41:26},{17:31,21:24,30:25,38:[1,28],40:[1,27],41:26},{21:33,26:32,32:[1,34],33:[1,35],38:[1,28],41:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,38:[1,28],40:[1,27],41:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,42],24:[2,42],28:43,32:[2,42],33:[2,42],34:[2,42],38:[2,42],40:[2,42]},{18:[2,25],24:[2,25]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],38:[2,37],40:[2,37],42:[1,44]},{21:45,38:[1,28],41:26},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],38:[2,39],40:[2,39],42:[2,39]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,40],21:50,27:49,38:[1,28],41:26},{18:[2,33],38:[2,33]},{18:[2,34],38:[2,34]},{18:[2,35],38:[2,35]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,38:[1,28],41:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,44],21:56,24:[2,44],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:55,36:61,37:62,38:[1,63],40:[1,27],41:26},{38:[1,64]},{18:[2,36],24:[2,36],32:[2,36],33:[2,36],34:[2,36],38:[2,36],40:[2,36]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,65]},{18:[2,41]},{18:[1,66]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24]},{18:[2,43],24:[2,43],32:[2,43],33:[2,43],34:[2,43],38:[2,43],40:[2,43]},{18:[2,45],24:[2,45]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],38:[2,26],40:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],38:[2,27],40:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],38:[2,28],40:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],38:[2,29],40:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],38:[2,30],40:[2,30]},{18:[2,31],24:[2,31],37:67,38:[1,68]},{18:[2,46],24:[2,46],38:[2,46]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],38:[2,39],39:[1,69],40:[2,39],42:[2,39]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],38:[2,38],40:[2,38],42:[2,38]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{18:[2,47],24:[2,47],38:[2,47]},{39:[1,69]},{21:56,30:60,31:70,32:[1,57],33:[1,58],34:[1,59],38:[1,28],40:[1,27],41:26},{18:[2,32],24:[2,32],38:[2,32]}],
785
+ defaultActions: {3:[2,2],16:[2,1],50:[2,41]},
786
+ parseError: function parseError(str, hash) {
787
+ throw new Error(str);
788
+ },
789
+ parse: function parse(input) {
790
+ var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
791
+ this.lexer.setInput(input);
792
+ this.lexer.yy = this.yy;
793
+ this.yy.lexer = this.lexer;
794
+ this.yy.parser = this;
795
+ if (typeof this.lexer.yylloc == "undefined")
796
+ this.lexer.yylloc = {};
797
+ var yyloc = this.lexer.yylloc;
798
+ lstack.push(yyloc);
799
+ var ranges = this.lexer.options && this.lexer.options.ranges;
800
+ if (typeof this.yy.parseError === "function")
801
+ this.parseError = this.yy.parseError;
802
+ function popStack(n) {
803
+ stack.length = stack.length - 2 * n;
804
+ vstack.length = vstack.length - n;
805
+ lstack.length = lstack.length - n;
806
+ }
807
+ function lex() {
808
+ var token;
809
+ token = self.lexer.lex() || 1;
810
+ if (typeof token !== "number") {
811
+ token = self.symbols_[token] || token;
812
+ }
813
+ return token;
814
+ }
815
+ var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
816
+ while (true) {
817
+ state = stack[stack.length - 1];
818
+ if (this.defaultActions[state]) {
819
+ action = this.defaultActions[state];
820
+ } else {
821
+ if (symbol === null || typeof symbol == "undefined") {
822
+ symbol = lex();
823
+ }
824
+ action = table[state] && table[state][symbol];
825
+ }
826
+ if (typeof action === "undefined" || !action.length || !action[0]) {
827
+ var errStr = "";
828
+ if (!recovering) {
829
+ expected = [];
830
+ for (p in table[state])
831
+ if (this.terminals_[p] && p > 2) {
832
+ expected.push("'" + this.terminals_[p] + "'");
833
+ }
834
+ if (this.lexer.showPosition) {
835
+ errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
836
+ } else {
837
+ errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'");
838
+ }
839
+ this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected});
840
+ }
841
+ }
842
+ if (action[0] instanceof Array && action.length > 1) {
843
+ throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
844
+ }
845
+ switch (action[0]) {
846
+ case 1:
847
+ stack.push(symbol);
848
+ vstack.push(this.lexer.yytext);
849
+ lstack.push(this.lexer.yylloc);
850
+ stack.push(action[1]);
851
+ symbol = null;
852
+ if (!preErrorSymbol) {
853
+ yyleng = this.lexer.yyleng;
854
+ yytext = this.lexer.yytext;
855
+ yylineno = this.lexer.yylineno;
856
+ yyloc = this.lexer.yylloc;
857
+ if (recovering > 0)
858
+ recovering--;
859
+ } else {
860
+ symbol = preErrorSymbol;
861
+ preErrorSymbol = null;
862
+ }
863
+ break;
864
+ case 2:
865
+ len = this.productions_[action[1]][1];
866
+ yyval.$ = vstack[vstack.length - len];
867
+ yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column};
868
+ if (ranges) {
869
+ yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
870
+ }
871
+ r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
872
+ if (typeof r !== "undefined") {
873
+ return r;
874
+ }
875
+ if (len) {
876
+ stack = stack.slice(0, -1 * len * 2);
877
+ vstack = vstack.slice(0, -1 * len);
878
+ lstack = lstack.slice(0, -1 * len);
879
+ }
880
+ stack.push(this.productions_[action[1]][0]);
881
+ vstack.push(yyval.$);
882
+ lstack.push(yyval._$);
883
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
884
+ stack.push(newState);
885
+ break;
886
+ case 3:
887
+ return true;
888
+ }
889
+ }
890
+ return true;
891
+ }
892
+ };
893
+
894
+
895
+ function stripFlags(open, close) {
896
+ return {
897
+ left: open.charAt(2) === '~',
898
+ right: close.charAt(0) === '~' || close.charAt(1) === '~'
899
+ };
900
+ }
901
+
902
+ /* Jison generated lexer */
903
+ var lexer = (function(){
904
+ var lexer = ({EOF:1,
905
+ parseError:function parseError(str, hash) {
906
+ if (this.yy.parser) {
907
+ this.yy.parser.parseError(str, hash);
908
+ } else {
909
+ throw new Error(str);
910
+ }
911
+ },
912
+ setInput:function (input) {
913
+ this._input = input;
914
+ this._more = this._less = this.done = false;
915
+ this.yylineno = this.yyleng = 0;
916
+ this.yytext = this.matched = this.match = '';
917
+ this.conditionStack = ['INITIAL'];
918
+ this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0};
919
+ if (this.options.ranges) this.yylloc.range = [0,0];
920
+ this.offset = 0;
921
+ return this;
922
+ },
923
+ input:function () {
924
+ var ch = this._input[0];
925
+ this.yytext += ch;
926
+ this.yyleng++;
927
+ this.offset++;
928
+ this.match += ch;
929
+ this.matched += ch;
930
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
931
+ if (lines) {
932
+ this.yylineno++;
933
+ this.yylloc.last_line++;
934
+ } else {
935
+ this.yylloc.last_column++;
936
+ }
937
+ if (this.options.ranges) this.yylloc.range[1]++;
938
+
939
+ this._input = this._input.slice(1);
940
+ return ch;
941
+ },
942
+ unput:function (ch) {
943
+ var len = ch.length;
944
+ var lines = ch.split(/(?:\r\n?|\n)/g);
945
+
946
+ this._input = ch + this._input;
947
+ this.yytext = this.yytext.substr(0, this.yytext.length-len-1);
948
+ //this.yyleng -= len;
949
+ this.offset -= len;
950
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
951
+ this.match = this.match.substr(0, this.match.length-1);
952
+ this.matched = this.matched.substr(0, this.matched.length-1);
953
+
954
+ if (lines.length-1) this.yylineno -= lines.length-1;
955
+ var r = this.yylloc.range;
956
+
957
+ this.yylloc = {first_line: this.yylloc.first_line,
958
+ last_line: this.yylineno+1,
959
+ first_column: this.yylloc.first_column,
960
+ last_column: lines ?
961
+ (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length:
962
+ this.yylloc.first_column - len
963
+ };
964
+
965
+ if (this.options.ranges) {
966
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
967
+ }
968
+ return this;
969
+ },
970
+ more:function () {
971
+ this._more = true;
972
+ return this;
973
+ },
974
+ less:function (n) {
975
+ this.unput(this.match.slice(n));
976
+ },
977
+ pastInput:function () {
978
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
979
+ return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, "");
980
+ },
981
+ upcomingInput:function () {
982
+ var next = this.match;
983
+ if (next.length < 20) {
984
+ next += this._input.substr(0, 20-next.length);
985
+ }
986
+ return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, "");
987
+ },
988
+ showPosition:function () {
989
+ var pre = this.pastInput();
990
+ var c = new Array(pre.length + 1).join("-");
991
+ return pre + this.upcomingInput() + "\n" + c+"^";
992
+ },
993
+ next:function () {
994
+ if (this.done) {
995
+ return this.EOF;
996
+ }
997
+ if (!this._input) this.done = true;
998
+
999
+ var token,
1000
+ match,
1001
+ tempMatch,
1002
+ index,
1003
+ col,
1004
+ lines;
1005
+ if (!this._more) {
1006
+ this.yytext = '';
1007
+ this.match = '';
1008
+ }
1009
+ var rules = this._currentRules();
1010
+ for (var i=0;i < rules.length; i++) {
1011
+ tempMatch = this._input.match(this.rules[rules[i]]);
1012
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
1013
+ match = tempMatch;
1014
+ index = i;
1015
+ if (!this.options.flex) break;
1016
+ }
1017
+ }
1018
+ if (match) {
1019
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
1020
+ if (lines) this.yylineno += lines.length;
1021
+ this.yylloc = {first_line: this.yylloc.last_line,
1022
+ last_line: this.yylineno+1,
1023
+ first_column: this.yylloc.last_column,
1024
+ last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length};
1025
+ this.yytext += match[0];
1026
+ this.match += match[0];
1027
+ this.matches = match;
1028
+ this.yyleng = this.yytext.length;
1029
+ if (this.options.ranges) {
1030
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
1031
+ }
1032
+ this._more = false;
1033
+ this._input = this._input.slice(match[0].length);
1034
+ this.matched += match[0];
1035
+ token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]);
1036
+ if (this.done && this._input) this.done = false;
1037
+ if (token) return token;
1038
+ else return;
1039
+ }
1040
+ if (this._input === "") {
1041
+ return this.EOF;
1042
+ } else {
1043
+ return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(),
1044
+ {text: "", token: null, line: this.yylineno});
1045
+ }
1046
+ },
1047
+ lex:function lex() {
1048
+ var r = this.next();
1049
+ if (typeof r !== 'undefined') {
1050
+ return r;
1051
+ } else {
1052
+ return this.lex();
1053
+ }
1054
+ },
1055
+ begin:function begin(condition) {
1056
+ this.conditionStack.push(condition);
1057
+ },
1058
+ popState:function popState() {
1059
+ return this.conditionStack.pop();
1060
+ },
1061
+ _currentRules:function _currentRules() {
1062
+ return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;
1063
+ },
1064
+ topState:function () {
1065
+ return this.conditionStack[this.conditionStack.length-2];
1066
+ },
1067
+ pushState:function begin(condition) {
1068
+ this.begin(condition);
1069
+ }});
1070
+ lexer.options = {};
1071
+ lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
1072
+
1073
+
1074
+ function strip(start, end) {
1075
+ return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end);
1076
+ }
1077
+
1078
+
1079
+ var YYSTATE=YY_START
1080
+ switch($avoiding_name_collisions) {
1081
+ case 0:
1082
+ if(yy_.yytext.slice(-2) === "\\\\") {
1083
+ strip(0,1);
1084
+ this.begin("mu");
1085
+ } else if(yy_.yytext.slice(-1) === "\\") {
1086
+ strip(0,1);
1087
+ this.begin("emu");
1088
+ } else {
1089
+ this.begin("mu");
1090
+ }
1091
+ if(yy_.yytext) return 14;
1092
+
1093
+ break;
1094
+ case 1:return 14;
1095
+ break;
1096
+ case 2:
1097
+ this.popState();
1098
+ return 14;
1099
+
1100
+ break;
1101
+ case 3:strip(0,4); this.popState(); return 15;
1102
+ break;
1103
+ case 4:return 25;
1104
+ break;
1105
+ case 5:return 16;
1106
+ break;
1107
+ case 6:return 20;
1108
+ break;
1109
+ case 7:return 19;
1110
+ break;
1111
+ case 8:return 19;
1112
+ break;
1113
+ case 9:return 23;
1114
+ break;
1115
+ case 10:return 22;
1116
+ break;
1117
+ case 11:this.popState(); this.begin('com');
1118
+ break;
1119
+ case 12:strip(3,5); this.popState(); return 15;
1120
+ break;
1121
+ case 13:return 22;
1122
+ break;
1123
+ case 14:return 39;
1124
+ break;
1125
+ case 15:return 38;
1126
+ break;
1127
+ case 16:return 38;
1128
+ break;
1129
+ case 17:return 42;
1130
+ break;
1131
+ case 18:// ignore whitespace
1132
+ break;
1133
+ case 19:this.popState(); return 24;
1134
+ break;
1135
+ case 20:this.popState(); return 18;
1136
+ break;
1137
+ case 21:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 32;
1138
+ break;
1139
+ case 22:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 32;
1140
+ break;
1141
+ case 23:return 40;
1142
+ break;
1143
+ case 24:return 34;
1144
+ break;
1145
+ case 25:return 34;
1146
+ break;
1147
+ case 26:return 33;
1148
+ break;
1149
+ case 27:return 38;
1150
+ break;
1151
+ case 28:yy_.yytext = strip(1,2); return 38;
1152
+ break;
1153
+ case 29:return 'INVALID';
1154
+ break;
1155
+ case 30:return 5;
1156
+ break;
1157
+ }
1158
+ };
1159
+ lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s])))/,/^(?:false(?=([~}\s])))/,/^(?:-?[0-9]+(?=([~}\s])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/];
1160
+ lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"INITIAL":{"rules":[0,1,30],"inclusive":true}};
1161
+ return lexer;})()
1162
+ parser.lexer = lexer;
1163
+ function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser;
1164
+ return new Parser;
1165
+ })();__exports__ = handlebars;
1166
+ /* jshint ignore:end */
1167
+ return __exports__;
1168
+ })();
1169
+
1170
+ // handlebars/compiler/base.js
1171
+ var __module8__ = (function(__dependency1__, __dependency2__) {
1172
+ "use strict";
1173
+ var __exports__ = {};
1174
+ var parser = __dependency1__;
1175
+ var AST = __dependency2__;
1176
+
1177
+ __exports__.parser = parser;
1178
+
1179
+ function parse(input) {
1180
+ // Just return if an already-compile AST was passed in.
1181
+ if(input.constructor === AST.ProgramNode) { return input; }
1182
+
1183
+ parser.yy = AST;
1184
+ return parser.parse(input);
1185
+ }
1186
+
1187
+ __exports__.parse = parse;
1188
+ return __exports__;
1189
+ })(__module9__, __module7__);
1190
+
1191
+ // handlebars/compiler/javascript-compiler.js
1192
+ var __module11__ = (function(__dependency1__) {
1193
+ "use strict";
1194
+ var __exports__;
1195
+ var COMPILER_REVISION = __dependency1__.COMPILER_REVISION;
1196
+ var REVISION_CHANGES = __dependency1__.REVISION_CHANGES;
1197
+ var log = __dependency1__.log;
1198
+
1199
+ function Literal(value) {
1200
+ this.value = value;
1201
+ }
1202
+
1203
+ function JavaScriptCompiler() {}
1204
+
1205
+ JavaScriptCompiler.prototype = {
1206
+ // PUBLIC API: You can override these methods in a subclass to provide
1207
+ // alternative compiled forms for name lookup and buffering semantics
1208
+ nameLookup: function(parent, name /* , type*/) {
1209
+ var wrap,
1210
+ ret;
1211
+ if (parent.indexOf('depth') === 0) {
1212
+ wrap = true;
1213
+ }
1214
+
1215
+ if (/^[0-9]+$/.test(name)) {
1216
+ ret = parent + "[" + name + "]";
1217
+ } else if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) {
1218
+ ret = parent + "." + name;
1219
+ }
1220
+ else {
1221
+ ret = parent + "['" + name + "']";
1222
+ }
1223
+
1224
+ if (wrap) {
1225
+ return '(' + parent + ' && ' + ret + ')';
1226
+ } else {
1227
+ return ret;
1228
+ }
1229
+ },
1230
+
1231
+ compilerInfo: function() {
1232
+ var revision = COMPILER_REVISION,
1233
+ versions = REVISION_CHANGES[revision];
1234
+ return "this.compilerInfo = ["+revision+",'"+versions+"'];\n";
1235
+ },
1236
+
1237
+ appendToBuffer: function(string) {
1238
+ if (this.environment.isSimple) {
1239
+ return "return " + string + ";";
1240
+ } else {
1241
+ return {
1242
+ appendToBuffer: true,
1243
+ content: string,
1244
+ toString: function() { return "buffer += " + string + ";"; }
1245
+ };
1246
+ }
1247
+ },
1248
+
1249
+ initializeBuffer: function() {
1250
+ return this.quotedString("");
1251
+ },
1252
+
1253
+ namespace: "Handlebars",
1254
+ // END PUBLIC API
1255
+
1256
+ compile: function(environment, options, context, asObject) {
1257
+ this.environment = environment;
1258
+ this.options = options || {};
1259
+
1260
+ log('debug', this.environment.disassemble() + "\n\n");
1261
+
1262
+ this.name = this.environment.name;
1263
+ this.isChild = !!context;
1264
+ this.context = context || {
1265
+ programs: [],
1266
+ environments: [],
1267
+ aliases: { }
1268
+ };
1269
+
1270
+ this.preamble();
1271
+
1272
+ this.stackSlot = 0;
1273
+ this.stackVars = [];
1274
+ this.registers = { list: [] };
1275
+ this.compileStack = [];
1276
+ this.inlineStack = [];
1277
+
1278
+ this.compileChildren(environment, options);
1279
+
1280
+ var opcodes = environment.opcodes, opcode;
1281
+
1282
+ this.i = 0;
1283
+
1284
+ for(var l=opcodes.length; this.i<l; this.i++) {
1285
+ opcode = opcodes[this.i];
1286
+
1287
+ if(opcode.opcode === 'DECLARE') {
1288
+ this[opcode.name] = opcode.value;
1289
+ } else {
1290
+ this[opcode.opcode].apply(this, opcode.args);
1291
+ }
1292
+
1293
+ // Reset the stripNext flag if it was not set by this operation.
1294
+ if (opcode.opcode !== this.stripNext) {
1295
+ this.stripNext = false;
1296
+ }
1297
+ }
1298
+
1299
+ // Flush any trailing content that might be pending.
1300
+ this.pushSource('');
1301
+
1302
+ return this.createFunctionContext(asObject);
1303
+ },
1304
+
1305
+ preamble: function() {
1306
+ var out = [];
1307
+
1308
+ if (!this.isChild) {
1309
+ var namespace = this.namespace;
1310
+
1311
+ var copies = "helpers = this.merge(helpers, " + namespace + ".helpers);";
1312
+ if (this.environment.usePartial) { copies = copies + " partials = this.merge(partials, " + namespace + ".partials);"; }
1313
+ if (this.options.data) { copies = copies + " data = data || {};"; }
1314
+ out.push(copies);
1315
+ } else {
1316
+ out.push('');
1317
+ }
1318
+
1319
+ if (!this.environment.isSimple) {
1320
+ out.push(", buffer = " + this.initializeBuffer());
1321
+ } else {
1322
+ out.push("");
1323
+ }
1324
+
1325
+ // track the last context pushed into place to allow skipping the
1326
+ // getContext opcode when it would be a noop
1327
+ this.lastContext = 0;
1328
+ this.source = out;
1329
+ },
1330
+
1331
+ createFunctionContext: function(asObject) {
1332
+ var locals = this.stackVars.concat(this.registers.list);
1333
+
1334
+ if(locals.length > 0) {
1335
+ this.source[1] = this.source[1] + ", " + locals.join(", ");
1336
+ }
1337
+
1338
+ // Generate minimizer alias mappings
1339
+ if (!this.isChild) {
1340
+ for (var alias in this.context.aliases) {
1341
+ if (this.context.aliases.hasOwnProperty(alias)) {
1342
+ this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias];
1343
+ }
1344
+ }
1345
+ }
1346
+
1347
+ if (this.source[1]) {
1348
+ this.source[1] = "var " + this.source[1].substring(2) + ";";
1349
+ }
1350
+
1351
+ // Merge children
1352
+ if (!this.isChild) {
1353
+ this.source[1] += '\n' + this.context.programs.join('\n') + '\n';
1354
+ }
1355
+
1356
+ if (!this.environment.isSimple) {
1357
+ this.pushSource("return buffer;");
1358
+ }
1359
+
1360
+ var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"];
1361
+
1362
+ for(var i=0, l=this.environment.depths.list.length; i<l; i++) {
1363
+ params.push("depth" + this.environment.depths.list[i]);
1364
+ }
1365
+
1366
+ // Perform a second pass over the output to merge content when possible
1367
+ var source = this.mergeSource();
1368
+
1369
+ if (!this.isChild) {
1370
+ source = this.compilerInfo()+source;
1371
+ }
1372
+
1373
+ if (asObject) {
1374
+ params.push(source);
1375
+
1376
+ return Function.apply(this, params);
1377
+ } else {
1378
+ var functionSource = 'function ' + (this.name || '') + '(' + params.join(',') + ') {\n ' + source + '}';
1379
+ log('debug', functionSource + "\n\n");
1380
+ return functionSource;
1381
+ }
1382
+ },
1383
+ mergeSource: function() {
1384
+ // WARN: We are not handling the case where buffer is still populated as the source should
1385
+ // not have buffer append operations as their final action.
1386
+ var source = '',
1387
+ buffer;
1388
+ for (var i = 0, len = this.source.length; i < len; i++) {
1389
+ var line = this.source[i];
1390
+ if (line.appendToBuffer) {
1391
+ if (buffer) {
1392
+ buffer = buffer + '\n + ' + line.content;
1393
+ } else {
1394
+ buffer = line.content;
1395
+ }
1396
+ } else {
1397
+ if (buffer) {
1398
+ source += 'buffer += ' + buffer + ';\n ';
1399
+ buffer = undefined;
1400
+ }
1401
+ source += line + '\n ';
1402
+ }
1403
+ }
1404
+ return source;
1405
+ },
1406
+
1407
+ // [blockValue]
1408
+ //
1409
+ // On stack, before: hash, inverse, program, value
1410
+ // On stack, after: return value of blockHelperMissing
1411
+ //
1412
+ // The purpose of this opcode is to take a block of the form
1413
+ // `{{#foo}}...{{/foo}}`, resolve the value of `foo`, and
1414
+ // replace it on the stack with the result of properly
1415
+ // invoking blockHelperMissing.
1416
+ blockValue: function() {
1417
+ this.context.aliases.blockHelperMissing = 'helpers.blockHelperMissing';
1418
+
1419
+ var params = ["depth0"];
1420
+ this.setupParams(0, params);
1421
+
1422
+ this.replaceStack(function(current) {
1423
+ params.splice(1, 0, current);
1424
+ return "blockHelperMissing.call(" + params.join(", ") + ")";
1425
+ });
1426
+ },
1427
+
1428
+ // [ambiguousBlockValue]
1429
+ //
1430
+ // On stack, before: hash, inverse, program, value
1431
+ // Compiler value, before: lastHelper=value of last found helper, if any
1432
+ // On stack, after, if no lastHelper: same as [blockValue]
1433
+ // On stack, after, if lastHelper: value
1434
+ ambiguousBlockValue: function() {
1435
+ this.context.aliases.blockHelperMissing = 'helpers.blockHelperMissing';
1436
+
1437
+ var params = ["depth0"];
1438
+ this.setupParams(0, params);
1439
+
1440
+ var current = this.topStack();
1441
+ params.splice(1, 0, current);
1442
+
1443
+ // Use the options value generated from the invocation
1444
+ params[params.length-1] = 'options';
1445
+
1446
+ this.pushSource("if (!" + this.lastHelper + ") { " + current + " = blockHelperMissing.call(" + params.join(", ") + "); }");
1447
+ },
1448
+
1449
+ // [appendContent]
1450
+ //
1451
+ // On stack, before: ...
1452
+ // On stack, after: ...
1453
+ //
1454
+ // Appends the string value of `content` to the current buffer
1455
+ appendContent: function(content) {
1456
+ if (this.pendingContent) {
1457
+ content = this.pendingContent + content;
1458
+ }
1459
+ if (this.stripNext) {
1460
+ content = content.replace(/^\s+/, '');
1461
+ }
1462
+
1463
+ this.pendingContent = content;
1464
+ },
1465
+
1466
+ // [strip]
1467
+ //
1468
+ // On stack, before: ...
1469
+ // On stack, after: ...
1470
+ //
1471
+ // Removes any trailing whitespace from the prior content node and flags
1472
+ // the next operation for stripping if it is a content node.
1473
+ strip: function() {
1474
+ if (this.pendingContent) {
1475
+ this.pendingContent = this.pendingContent.replace(/\s+$/, '');
1476
+ }
1477
+ this.stripNext = 'strip';
1478
+ },
1479
+
1480
+ // [append]
1481
+ //
1482
+ // On stack, before: value, ...
1483
+ // On stack, after: ...
1484
+ //
1485
+ // Coerces `value` to a String and appends it to the current buffer.
1486
+ //
1487
+ // If `value` is truthy, or 0, it is coerced into a string and appended
1488
+ // Otherwise, the empty string is appended
1489
+ append: function() {
1490
+ // Force anything that is inlined onto the stack so we don't have duplication
1491
+ // when we examine local
1492
+ this.flushInline();
1493
+ var local = this.popStack();
1494
+ this.pushSource("if(" + local + " || " + local + " === 0) { " + this.appendToBuffer(local) + " }");
1495
+ if (this.environment.isSimple) {
1496
+ this.pushSource("else { " + this.appendToBuffer("''") + " }");
1497
+ }
1498
+ },
1499
+
1500
+ // [appendEscaped]
1501
+ //
1502
+ // On stack, before: value, ...
1503
+ // On stack, after: ...
1504
+ //
1505
+ // Escape `value` and append it to the buffer
1506
+ appendEscaped: function() {
1507
+ this.context.aliases.escapeExpression = 'this.escapeExpression';
1508
+
1509
+ this.pushSource(this.appendToBuffer("escapeExpression(" + this.popStack() + ")"));
1510
+ },
1511
+
1512
+ // [getContext]
1513
+ //
1514
+ // On stack, before: ...
1515
+ // On stack, after: ...
1516
+ // Compiler value, after: lastContext=depth
1517
+ //
1518
+ // Set the value of the `lastContext` compiler value to the depth
1519
+ getContext: function(depth) {
1520
+ if(this.lastContext !== depth) {
1521
+ this.lastContext = depth;
1522
+ }
1523
+ },
1524
+
1525
+ // [lookupOnContext]
1526
+ //
1527
+ // On stack, before: ...
1528
+ // On stack, after: currentContext[name], ...
1529
+ //
1530
+ // Looks up the value of `name` on the current context and pushes
1531
+ // it onto the stack.
1532
+ lookupOnContext: function(name) {
1533
+ this.push(this.nameLookup('depth' + this.lastContext, name, 'context'));
1534
+ },
1535
+
1536
+ // [pushContext]
1537
+ //
1538
+ // On stack, before: ...
1539
+ // On stack, after: currentContext, ...
1540
+ //
1541
+ // Pushes the value of the current context onto the stack.
1542
+ pushContext: function() {
1543
+ this.pushStackLiteral('depth' + this.lastContext);
1544
+ },
1545
+
1546
+ // [resolvePossibleLambda]
1547
+ //
1548
+ // On stack, before: value, ...
1549
+ // On stack, after: resolved value, ...
1550
+ //
1551
+ // If the `value` is a lambda, replace it on the stack by
1552
+ // the return value of the lambda
1553
+ resolvePossibleLambda: function() {
1554
+ this.context.aliases.functionType = '"function"';
1555
+
1556
+ this.replaceStack(function(current) {
1557
+ return "typeof " + current + " === functionType ? " + current + ".apply(depth0) : " + current;
1558
+ });
1559
+ },
1560
+
1561
+ // [lookup]
1562
+ //
1563
+ // On stack, before: value, ...
1564
+ // On stack, after: value[name], ...
1565
+ //
1566
+ // Replace the value on the stack with the result of looking
1567
+ // up `name` on `value`
1568
+ lookup: function(name) {
1569
+ this.replaceStack(function(current) {
1570
+ return current + " == null || " + current + " === false ? " + current + " : " + this.nameLookup(current, name, 'context');
1571
+ });
1572
+ },
1573
+
1574
+ // [lookupData]
1575
+ //
1576
+ // On stack, before: ...
1577
+ // On stack, after: data, ...
1578
+ //
1579
+ // Push the data lookup operator
1580
+ lookupData: function() {
1581
+ this.push('data');
1582
+ },
1583
+
1584
+ // [pushStringParam]
1585
+ //
1586
+ // On stack, before: ...
1587
+ // On stack, after: string, currentContext, ...
1588
+ //
1589
+ // This opcode is designed for use in string mode, which
1590
+ // provides the string value of a parameter along with its
1591
+ // depth rather than resolving it immediately.
1592
+ pushStringParam: function(string, type) {
1593
+ this.pushStackLiteral('depth' + this.lastContext);
1594
+
1595
+ this.pushString(type);
1596
+
1597
+ if (typeof string === 'string') {
1598
+ this.pushString(string);
1599
+ } else {
1600
+ this.pushStackLiteral(string);
1601
+ }
1602
+ },
1603
+
1604
+ emptyHash: function() {
1605
+ this.pushStackLiteral('{}');
1606
+
1607
+ if (this.options.stringParams) {
1608
+ this.register('hashTypes', '{}');
1609
+ this.register('hashContexts', '{}');
1610
+ }
1611
+ },
1612
+ pushHash: function() {
1613
+ this.hash = {values: [], types: [], contexts: []};
1614
+ },
1615
+ popHash: function() {
1616
+ var hash = this.hash;
1617
+ this.hash = undefined;
1618
+
1619
+ if (this.options.stringParams) {
1620
+ this.register('hashContexts', '{' + hash.contexts.join(',') + '}');
1621
+ this.register('hashTypes', '{' + hash.types.join(',') + '}');
1622
+ }
1623
+ this.push('{\n ' + hash.values.join(',\n ') + '\n }');
1624
+ },
1625
+
1626
+ // [pushString]
1627
+ //
1628
+ // On stack, before: ...
1629
+ // On stack, after: quotedString(string), ...
1630
+ //
1631
+ // Push a quoted version of `string` onto the stack
1632
+ pushString: function(string) {
1633
+ this.pushStackLiteral(this.quotedString(string));
1634
+ },
1635
+
1636
+ // [push]
1637
+ //
1638
+ // On stack, before: ...
1639
+ // On stack, after: expr, ...
1640
+ //
1641
+ // Push an expression onto the stack
1642
+ push: function(expr) {
1643
+ this.inlineStack.push(expr);
1644
+ return expr;
1645
+ },
1646
+
1647
+ // [pushLiteral]
1648
+ //
1649
+ // On stack, before: ...
1650
+ // On stack, after: value, ...
1651
+ //
1652
+ // Pushes a value onto the stack. This operation prevents
1653
+ // the compiler from creating a temporary variable to hold
1654
+ // it.
1655
+ pushLiteral: function(value) {
1656
+ this.pushStackLiteral(value);
1657
+ },
1658
+
1659
+ // [pushProgram]
1660
+ //
1661
+ // On stack, before: ...
1662
+ // On stack, after: program(guid), ...
1663
+ //
1664
+ // Push a program expression onto the stack. This takes
1665
+ // a compile-time guid and converts it into a runtime-accessible
1666
+ // expression.
1667
+ pushProgram: function(guid) {
1668
+ if (guid != null) {
1669
+ this.pushStackLiteral(this.programExpression(guid));
1670
+ } else {
1671
+ this.pushStackLiteral(null);
1672
+ }
1673
+ },
1674
+
1675
+ // [invokeHelper]
1676
+ //
1677
+ // On stack, before: hash, inverse, program, params..., ...
1678
+ // On stack, after: result of helper invocation
1679
+ //
1680
+ // Pops off the helper's parameters, invokes the helper,
1681
+ // and pushes the helper's return value onto the stack.
1682
+ //
1683
+ // If the helper is not found, `helperMissing` is called.
1684
+ invokeHelper: function(paramSize, name) {
1685
+ this.context.aliases.helperMissing = 'helpers.helperMissing';
1686
+
1687
+ var helper = this.lastHelper = this.setupHelper(paramSize, name, true);
1688
+ var nonHelper = this.nameLookup('depth' + this.lastContext, name, 'context');
1689
+
1690
+ this.push(helper.name + ' || ' + nonHelper);
1691
+ this.replaceStack(function(name) {
1692
+ return name + ' ? ' + name + '.call(' +
1693
+ helper.callParams + ") " + ": helperMissing.call(" +
1694
+ helper.helperMissingParams + ")";
1695
+ });
1696
+ },
1697
+
1698
+ // [invokeKnownHelper]
1699
+ //
1700
+ // On stack, before: hash, inverse, program, params..., ...
1701
+ // On stack, after: result of helper invocation
1702
+ //
1703
+ // This operation is used when the helper is known to exist,
1704
+ // so a `helperMissing` fallback is not required.
1705
+ invokeKnownHelper: function(paramSize, name) {
1706
+ var helper = this.setupHelper(paramSize, name);
1707
+ this.push(helper.name + ".call(" + helper.callParams + ")");
1708
+ },
1709
+
1710
+ // [invokeAmbiguous]
1711
+ //
1712
+ // On stack, before: hash, inverse, program, params..., ...
1713
+ // On stack, after: result of disambiguation
1714
+ //
1715
+ // This operation is used when an expression like `{{foo}}`
1716
+ // is provided, but we don't know at compile-time whether it
1717
+ // is a helper or a path.
1718
+ //
1719
+ // This operation emits more code than the other options,
1720
+ // and can be avoided by passing the `knownHelpers` and
1721
+ // `knownHelpersOnly` flags at compile-time.
1722
+ invokeAmbiguous: function(name, helperCall) {
1723
+ this.context.aliases.functionType = '"function"';
1724
+
1725
+ this.pushStackLiteral('{}'); // Hash value
1726
+ var helper = this.setupHelper(0, name, helperCall);
1727
+
1728
+ var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');
1729
+
1730
+ var nonHelper = this.nameLookup('depth' + this.lastContext, name, 'context');
1731
+ var nextStack = this.nextStack();
1732
+
1733
+ this.pushSource('if (' + nextStack + ' = ' + helperName + ') { ' + nextStack + ' = ' + nextStack + '.call(' + helper.callParams + '); }');
1734
+ this.pushSource('else { ' + nextStack + ' = ' + nonHelper + '; ' + nextStack + ' = typeof ' + nextStack + ' === functionType ? ' + nextStack + '.call(' + helper.callParams + ') : ' + nextStack + '; }');
1735
+ },
1736
+
1737
+ // [invokePartial]
1738
+ //
1739
+ // On stack, before: context, ...
1740
+ // On stack after: result of partial invocation
1741
+ //
1742
+ // This operation pops off a context, invokes a partial with that context,
1743
+ // and pushes the result of the invocation back.
1744
+ invokePartial: function(name) {
1745
+ var params = [this.nameLookup('partials', name, 'partial'), "'" + name + "'", this.popStack(), "helpers", "partials"];
1746
+
1747
+ if (this.options.data) {
1748
+ params.push("data");
1749
+ }
1750
+
1751
+ this.context.aliases.self = "this";
1752
+ this.push("self.invokePartial(" + params.join(", ") + ")");
1753
+ },
1754
+
1755
+ // [assignToHash]
1756
+ //
1757
+ // On stack, before: value, hash, ...
1758
+ // On stack, after: hash, ...
1759
+ //
1760
+ // Pops a value and hash off the stack, assigns `hash[key] = value`
1761
+ // and pushes the hash back onto the stack.
1762
+ assignToHash: function(key) {
1763
+ var value = this.popStack(),
1764
+ context,
1765
+ type;
1766
+
1767
+ if (this.options.stringParams) {
1768
+ type = this.popStack();
1769
+ context = this.popStack();
1770
+ }
1771
+
1772
+ var hash = this.hash;
1773
+ if (context) {
1774
+ hash.contexts.push("'" + key + "': " + context);
1775
+ }
1776
+ if (type) {
1777
+ hash.types.push("'" + key + "': " + type);
1778
+ }
1779
+ hash.values.push("'" + key + "': (" + value + ")");
1780
+ },
1781
+
1782
+ // HELPERS
1783
+
1784
+ compiler: JavaScriptCompiler,
1785
+
1786
+ compileChildren: function(environment, options) {
1787
+ var children = environment.children, child, compiler;
1788
+
1789
+ for(var i=0, l=children.length; i<l; i++) {
1790
+ child = children[i];
1791
+ compiler = new this.compiler();
1792
+
1793
+ var index = this.matchExistingProgram(child);
1794
+
1795
+ if (index == null) {
1796
+ this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children
1797
+ index = this.context.programs.length;
1798
+ child.index = index;
1799
+ child.name = 'program' + index;
1800
+ this.context.programs[index] = compiler.compile(child, options, this.context);
1801
+ this.context.environments[index] = child;
1802
+ } else {
1803
+ child.index = index;
1804
+ child.name = 'program' + index;
1805
+ }
1806
+ }
1807
+ },
1808
+ matchExistingProgram: function(child) {
1809
+ for (var i = 0, len = this.context.environments.length; i < len; i++) {
1810
+ var environment = this.context.environments[i];
1811
+ if (environment && environment.equals(child)) {
1812
+ return i;
1813
+ }
1814
+ }
1815
+ },
1816
+
1817
+ programExpression: function(guid) {
1818
+ this.context.aliases.self = "this";
1819
+
1820
+ if(guid == null) {
1821
+ return "self.noop";
1822
+ }
1823
+
1824
+ var child = this.environment.children[guid],
1825
+ depths = child.depths.list, depth;
1826
+
1827
+ var programParams = [child.index, child.name, "data"];
1828
+
1829
+ for(var i=0, l = depths.length; i<l; i++) {
1830
+ depth = depths[i];
1831
+
1832
+ if(depth === 1) { programParams.push("depth0"); }
1833
+ else { programParams.push("depth" + (depth - 1)); }
1834
+ }
1835
+
1836
+ return (depths.length === 0 ? "self.program(" : "self.programWithDepth(") + programParams.join(", ") + ")";
1837
+ },
1838
+
1839
+ register: function(name, val) {
1840
+ this.useRegister(name);
1841
+ this.pushSource(name + " = " + val + ";");
1842
+ },
1843
+
1844
+ useRegister: function(name) {
1845
+ if(!this.registers[name]) {
1846
+ this.registers[name] = true;
1847
+ this.registers.list.push(name);
1848
+ }
1849
+ },
1850
+
1851
+ pushStackLiteral: function(item) {
1852
+ return this.push(new Literal(item));
1853
+ },
1854
+
1855
+ pushSource: function(source) {
1856
+ if (this.pendingContent) {
1857
+ this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent)));
1858
+ this.pendingContent = undefined;
1859
+ }
1860
+
1861
+ if (source) {
1862
+ this.source.push(source);
1863
+ }
1864
+ },
1865
+
1866
+ pushStack: function(item) {
1867
+ this.flushInline();
1868
+
1869
+ var stack = this.incrStack();
1870
+ if (item) {
1871
+ this.pushSource(stack + " = " + item + ";");
1872
+ }
1873
+ this.compileStack.push(stack);
1874
+ return stack;
1875
+ },
1876
+
1877
+ replaceStack: function(callback) {
1878
+ var prefix = '',
1879
+ inline = this.isInline(),
1880
+ stack;
1881
+
1882
+ // If we are currently inline then we want to merge the inline statement into the
1883
+ // replacement statement via ','
1884
+ if (inline) {
1885
+ var top = this.popStack(true);
1886
+
1887
+ if (top instanceof Literal) {
1888
+ // Literals do not need to be inlined
1889
+ stack = top.value;
1890
+ } else {
1891
+ // Get or create the current stack name for use by the inline
1892
+ var name = this.stackSlot ? this.topStackName() : this.incrStack();
1893
+
1894
+ prefix = '(' + this.push(name) + ' = ' + top + '),';
1895
+ stack = this.topStack();
1896
+ }
1897
+ } else {
1898
+ stack = this.topStack();
1899
+ }
1900
+
1901
+ var item = callback.call(this, stack);
1902
+
1903
+ if (inline) {
1904
+ if (this.inlineStack.length || this.compileStack.length) {
1905
+ this.popStack();
1906
+ }
1907
+ this.push('(' + prefix + item + ')');
1908
+ } else {
1909
+ // Prevent modification of the context depth variable. Through replaceStack
1910
+ if (!/^stack/.test(stack)) {
1911
+ stack = this.nextStack();
1912
+ }
1913
+
1914
+ this.pushSource(stack + " = (" + prefix + item + ");");
1915
+ }
1916
+ return stack;
1917
+ },
1918
+
1919
+ nextStack: function() {
1920
+ return this.pushStack();
1921
+ },
1922
+
1923
+ incrStack: function() {
1924
+ this.stackSlot++;
1925
+ if(this.stackSlot > this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); }
1926
+ return this.topStackName();
1927
+ },
1928
+ topStackName: function() {
1929
+ return "stack" + this.stackSlot;
1930
+ },
1931
+ flushInline: function() {
1932
+ var inlineStack = this.inlineStack;
1933
+ if (inlineStack.length) {
1934
+ this.inlineStack = [];
1935
+ for (var i = 0, len = inlineStack.length; i < len; i++) {
1936
+ var entry = inlineStack[i];
1937
+ if (entry instanceof Literal) {
1938
+ this.compileStack.push(entry);
1939
+ } else {
1940
+ this.pushStack(entry);
1941
+ }
1942
+ }
1943
+ }
1944
+ },
1945
+ isInline: function() {
1946
+ return this.inlineStack.length;
1947
+ },
1948
+
1949
+ popStack: function(wrapped) {
1950
+ var inline = this.isInline(),
1951
+ item = (inline ? this.inlineStack : this.compileStack).pop();
1952
+
1953
+ if (!wrapped && (item instanceof Literal)) {
1954
+ return item.value;
1955
+ } else {
1956
+ if (!inline) {
1957
+ this.stackSlot--;
1958
+ }
1959
+ return item;
1960
+ }
1961
+ },
1962
+
1963
+ topStack: function(wrapped) {
1964
+ var stack = (this.isInline() ? this.inlineStack : this.compileStack),
1965
+ item = stack[stack.length - 1];
1966
+
1967
+ if (!wrapped && (item instanceof Literal)) {
1968
+ return item.value;
1969
+ } else {
1970
+ return item;
1971
+ }
1972
+ },
1973
+
1974
+ quotedString: function(str) {
1975
+ return '"' + str
1976
+ .replace(/\\/g, '\\\\')
1977
+ .replace(/"/g, '\\"')
1978
+ .replace(/\n/g, '\\n')
1979
+ .replace(/\r/g, '\\r')
1980
+ .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4
1981
+ .replace(/\u2029/g, '\\u2029') + '"';
1982
+ },
1983
+
1984
+ setupHelper: function(paramSize, name, missingParams) {
1985
+ var params = [];
1986
+ this.setupParams(paramSize, params, missingParams);
1987
+ var foundHelper = this.nameLookup('helpers', name, 'helper');
1988
+
1989
+ return {
1990
+ params: params,
1991
+ name: foundHelper,
1992
+ callParams: ["depth0"].concat(params).join(", "),
1993
+ helperMissingParams: missingParams && ["depth0", this.quotedString(name)].concat(params).join(", ")
1994
+ };
1995
+ },
1996
+
1997
+ // the params and contexts arguments are passed in arrays
1998
+ // to fill in
1999
+ setupParams: function(paramSize, params, useRegister) {
2000
+ var options = [], contexts = [], types = [], param, inverse, program;
2001
+
2002
+ options.push("hash:" + this.popStack());
2003
+
2004
+ inverse = this.popStack();
2005
+ program = this.popStack();
2006
+
2007
+ // Avoid setting fn and inverse if neither are set. This allows
2008
+ // helpers to do a check for `if (options.fn)`
2009
+ if (program || inverse) {
2010
+ if (!program) {
2011
+ this.context.aliases.self = "this";
2012
+ program = "self.noop";
2013
+ }
2014
+
2015
+ if (!inverse) {
2016
+ this.context.aliases.self = "this";
2017
+ inverse = "self.noop";
2018
+ }
2019
+
2020
+ options.push("inverse:" + inverse);
2021
+ options.push("fn:" + program);
2022
+ }
2023
+
2024
+ for(var i=0; i<paramSize; i++) {
2025
+ param = this.popStack();
2026
+ params.push(param);
2027
+
2028
+ if(this.options.stringParams) {
2029
+ types.push(this.popStack());
2030
+ contexts.push(this.popStack());
2031
+ }
2032
+ }
2033
+
2034
+ if (this.options.stringParams) {
2035
+ options.push("contexts:[" + contexts.join(",") + "]");
2036
+ options.push("types:[" + types.join(",") + "]");
2037
+ options.push("hashContexts:hashContexts");
2038
+ options.push("hashTypes:hashTypes");
2039
+ }
2040
+
2041
+ if(this.options.data) {
2042
+ options.push("data:data");
2043
+ }
2044
+
2045
+ options = "{" + options.join(",") + "}";
2046
+ if (useRegister) {
2047
+ this.register('options', options);
2048
+ params.push('options');
2049
+ } else {
2050
+ params.push(options);
2051
+ }
2052
+ return params.join(", ");
2053
+ }
2054
+ };
2055
+
2056
+ var reservedWords = (
2057
+ "break else new var" +
2058
+ " case finally return void" +
2059
+ " catch for switch while" +
2060
+ " continue function this with" +
2061
+ " default if throw" +
2062
+ " delete in try" +
2063
+ " do instanceof typeof" +
2064
+ " abstract enum int short" +
2065
+ " boolean export interface static" +
2066
+ " byte extends long super" +
2067
+ " char final native synchronized" +
2068
+ " class float package throws" +
2069
+ " const goto private transient" +
2070
+ " debugger implements protected volatile" +
2071
+ " double import public let yield"
2072
+ ).split(" ");
2073
+
2074
+ var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};
2075
+
2076
+ for(var i=0, l=reservedWords.length; i<l; i++) {
2077
+ compilerWords[reservedWords[i]] = true;
2078
+ }
2079
+
2080
+ JavaScriptCompiler.isValidJavaScriptVariableName = function(name) {
2081
+ if(!JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]+$/.test(name)) {
2082
+ return true;
2083
+ }
2084
+ return false;
2085
+ };
2086
+
2087
+ __exports__ = JavaScriptCompiler;
2088
+ return __exports__;
2089
+ })(__module2__);
2090
+
2091
+ // handlebars/compiler/compiler.js
2092
+ var __module10__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__) {
2093
+ "use strict";
2094
+ var __exports__ = {};
2095
+ var Exception = __dependency1__;
2096
+ var parse = __dependency2__.parse;
2097
+ var JavaScriptCompiler = __dependency3__;
2098
+ var AST = __dependency4__;
2099
+
2100
+ function Compiler() {}
2101
+
2102
+ __exports__.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a
2103
+ // function in a context. This is necessary for mustache compatibility, which
2104
+ // requires that context functions in blocks are evaluated by blockHelperMissing,
2105
+ // and then proceed as if the resulting value was provided to blockHelperMissing.
2106
+
2107
+ Compiler.prototype = {
2108
+ compiler: Compiler,
2109
+
2110
+ disassemble: function() {
2111
+ var opcodes = this.opcodes, opcode, out = [], params, param;
2112
+
2113
+ for (var i=0, l=opcodes.length; i<l; i++) {
2114
+ opcode = opcodes[i];
2115
+
2116
+ if (opcode.opcode === 'DECLARE') {
2117
+ out.push("DECLARE " + opcode.name + "=" + opcode.value);
2118
+ } else {
2119
+ params = [];
2120
+ for (var j=0; j<opcode.args.length; j++) {
2121
+ param = opcode.args[j];
2122
+ if (typeof param === "string") {
2123
+ param = "\"" + param.replace("\n", "\\n") + "\"";
2124
+ }
2125
+ params.push(param);
2126
+ }
2127
+ out.push(opcode.opcode + " " + params.join(" "));
2128
+ }
2129
+ }
2130
+
2131
+ return out.join("\n");
2132
+ },
2133
+
2134
+ equals: function(other) {
2135
+ var len = this.opcodes.length;
2136
+ if (other.opcodes.length !== len) {
2137
+ return false;
2138
+ }
2139
+
2140
+ for (var i = 0; i < len; i++) {
2141
+ var opcode = this.opcodes[i],
2142
+ otherOpcode = other.opcodes[i];
2143
+ if (opcode.opcode !== otherOpcode.opcode || opcode.args.length !== otherOpcode.args.length) {
2144
+ return false;
2145
+ }
2146
+ for (var j = 0; j < opcode.args.length; j++) {
2147
+ if (opcode.args[j] !== otherOpcode.args[j]) {
2148
+ return false;
2149
+ }
2150
+ }
2151
+ }
2152
+
2153
+ len = this.children.length;
2154
+ if (other.children.length !== len) {
2155
+ return false;
2156
+ }
2157
+ for (i = 0; i < len; i++) {
2158
+ if (!this.children[i].equals(other.children[i])) {
2159
+ return false;
2160
+ }
2161
+ }
2162
+
2163
+ return true;
2164
+ },
2165
+
2166
+ guid: 0,
2167
+
2168
+ compile: function(program, options) {
2169
+ this.opcodes = [];
2170
+ this.children = [];
2171
+ this.depths = {list: []};
2172
+ this.options = options;
2173
+
2174
+ // These changes will propagate to the other compiler components
2175
+ var knownHelpers = this.options.knownHelpers;
2176
+ this.options.knownHelpers = {
2177
+ 'helperMissing': true,
2178
+ 'blockHelperMissing': true,
2179
+ 'each': true,
2180
+ 'if': true,
2181
+ 'unless': true,
2182
+ 'with': true,
2183
+ 'log': true
2184
+ };
2185
+ if (knownHelpers) {
2186
+ for (var name in knownHelpers) {
2187
+ this.options.knownHelpers[name] = knownHelpers[name];
2188
+ }
2189
+ }
2190
+
2191
+ return this.accept(program);
2192
+ },
2193
+
2194
+ accept: function(node) {
2195
+ var strip = node.strip || {},
2196
+ ret;
2197
+ if (strip.left) {
2198
+ this.opcode('strip');
2199
+ }
2200
+
2201
+ ret = this[node.type](node);
2202
+
2203
+ if (strip.right) {
2204
+ this.opcode('strip');
2205
+ }
2206
+
2207
+ return ret;
2208
+ },
2209
+
2210
+ program: function(program) {
2211
+ var statements = program.statements;
2212
+
2213
+ for(var i=0, l=statements.length; i<l; i++) {
2214
+ this.accept(statements[i]);
2215
+ }
2216
+ this.isSimple = l === 1;
2217
+
2218
+ this.depths.list = this.depths.list.sort(function(a, b) {
2219
+ return a - b;
2220
+ });
2221
+
2222
+ return this;
2223
+ },
2224
+
2225
+ compileProgram: function(program) {
2226
+ var result = new this.compiler().compile(program, this.options);
2227
+ var guid = this.guid++, depth;
2228
+
2229
+ this.usePartial = this.usePartial || result.usePartial;
2230
+
2231
+ this.children[guid] = result;
2232
+
2233
+ for(var i=0, l=result.depths.list.length; i<l; i++) {
2234
+ depth = result.depths.list[i];
2235
+
2236
+ if(depth < 2) { continue; }
2237
+ else { this.addDepth(depth - 1); }
2238
+ }
2239
+
2240
+ return guid;
2241
+ },
2242
+
2243
+ block: function(block) {
2244
+ var mustache = block.mustache,
2245
+ program = block.program,
2246
+ inverse = block.inverse;
2247
+
2248
+ if (program) {
2249
+ program = this.compileProgram(program);
2250
+ }
2251
+
2252
+ if (inverse) {
2253
+ inverse = this.compileProgram(inverse);
2254
+ }
2255
+
2256
+ var type = this.classifyMustache(mustache);
2257
+
2258
+ if (type === "helper") {
2259
+ this.helperMustache(mustache, program, inverse);
2260
+ } else if (type === "simple") {
2261
+ this.simpleMustache(mustache);
2262
+
2263
+ // now that the simple mustache is resolved, we need to
2264
+ // evaluate it by executing `blockHelperMissing`
2265
+ this.opcode('pushProgram', program);
2266
+ this.opcode('pushProgram', inverse);
2267
+ this.opcode('emptyHash');
2268
+ this.opcode('blockValue');
2269
+ } else {
2270
+ this.ambiguousMustache(mustache, program, inverse);
2271
+
2272
+ // now that the simple mustache is resolved, we need to
2273
+ // evaluate it by executing `blockHelperMissing`
2274
+ this.opcode('pushProgram', program);
2275
+ this.opcode('pushProgram', inverse);
2276
+ this.opcode('emptyHash');
2277
+ this.opcode('ambiguousBlockValue');
2278
+ }
2279
+
2280
+ this.opcode('append');
2281
+ },
2282
+
2283
+ hash: function(hash) {
2284
+ var pairs = hash.pairs, pair, val;
2285
+
2286
+ this.opcode('pushHash');
2287
+
2288
+ for(var i=0, l=pairs.length; i<l; i++) {
2289
+ pair = pairs[i];
2290
+ val = pair[1];
2291
+
2292
+ if (this.options.stringParams) {
2293
+ if(val.depth) {
2294
+ this.addDepth(val.depth);
2295
+ }
2296
+ this.opcode('getContext', val.depth || 0);
2297
+ this.opcode('pushStringParam', val.stringModeValue, val.type);
2298
+ } else {
2299
+ this.accept(val);
2300
+ }
2301
+
2302
+ this.opcode('assignToHash', pair[0]);
2303
+ }
2304
+ this.opcode('popHash');
2305
+ },
2306
+
2307
+ partial: function(partial) {
2308
+ var partialName = partial.partialName;
2309
+ this.usePartial = true;
2310
+
2311
+ if(partial.context) {
2312
+ this.ID(partial.context);
2313
+ } else {
2314
+ this.opcode('push', 'depth0');
2315
+ }
2316
+
2317
+ this.opcode('invokePartial', partialName.name);
2318
+ this.opcode('append');
2319
+ },
2320
+
2321
+ content: function(content) {
2322
+ this.opcode('appendContent', content.string);
2323
+ },
2324
+
2325
+ mustache: function(mustache) {
2326
+ var options = this.options;
2327
+ var type = this.classifyMustache(mustache);
2328
+
2329
+ if (type === "simple") {
2330
+ this.simpleMustache(mustache);
2331
+ } else if (type === "helper") {
2332
+ this.helperMustache(mustache);
2333
+ } else {
2334
+ this.ambiguousMustache(mustache);
2335
+ }
2336
+
2337
+ if(mustache.escaped && !options.noEscape) {
2338
+ this.opcode('appendEscaped');
2339
+ } else {
2340
+ this.opcode('append');
2341
+ }
2342
+ },
2343
+
2344
+ ambiguousMustache: function(mustache, program, inverse) {
2345
+ var id = mustache.id,
2346
+ name = id.parts[0],
2347
+ isBlock = program != null || inverse != null;
2348
+
2349
+ this.opcode('getContext', id.depth);
2350
+
2351
+ this.opcode('pushProgram', program);
2352
+ this.opcode('pushProgram', inverse);
2353
+
2354
+ this.opcode('invokeAmbiguous', name, isBlock);
2355
+ },
2356
+
2357
+ simpleMustache: function(mustache) {
2358
+ var id = mustache.id;
2359
+
2360
+ if (id.type === 'DATA') {
2361
+ this.DATA(id);
2362
+ } else if (id.parts.length) {
2363
+ this.ID(id);
2364
+ } else {
2365
+ // Simplified ID for `this`
2366
+ this.addDepth(id.depth);
2367
+ this.opcode('getContext', id.depth);
2368
+ this.opcode('pushContext');
2369
+ }
2370
+
2371
+ this.opcode('resolvePossibleLambda');
2372
+ },
2373
+
2374
+ helperMustache: function(mustache, program, inverse) {
2375
+ var params = this.setupFullMustacheParams(mustache, program, inverse),
2376
+ name = mustache.id.parts[0];
2377
+
2378
+ if (this.options.knownHelpers[name]) {
2379
+ this.opcode('invokeKnownHelper', params.length, name);
2380
+ } else if (this.options.knownHelpersOnly) {
2381
+ throw new Error("You specified knownHelpersOnly, but used the unknown helper " + name);
2382
+ } else {
2383
+ this.opcode('invokeHelper', params.length, name);
2384
+ }
2385
+ },
2386
+
2387
+ ID: function(id) {
2388
+ this.addDepth(id.depth);
2389
+ this.opcode('getContext', id.depth);
2390
+
2391
+ var name = id.parts[0];
2392
+ if (!name) {
2393
+ this.opcode('pushContext');
2394
+ } else {
2395
+ this.opcode('lookupOnContext', id.parts[0]);
2396
+ }
2397
+
2398
+ for(var i=1, l=id.parts.length; i<l; i++) {
2399
+ this.opcode('lookup', id.parts[i]);
2400
+ }
2401
+ },
2402
+
2403
+ DATA: function(data) {
2404
+ this.options.data = true;
2405
+ if (data.id.isScoped || data.id.depth) {
2406
+ throw new Exception('Scoped data references are not supported: ' + data.original);
2407
+ }
2408
+
2409
+ this.opcode('lookupData');
2410
+ var parts = data.id.parts;
2411
+ for(var i=0, l=parts.length; i<l; i++) {
2412
+ this.opcode('lookup', parts[i]);
2413
+ }
2414
+ },
2415
+
2416
+ STRING: function(string) {
2417
+ this.opcode('pushString', string.string);
2418
+ },
2419
+
2420
+ INTEGER: function(integer) {
2421
+ this.opcode('pushLiteral', integer.integer);
2422
+ },
2423
+
2424
+ BOOLEAN: function(bool) {
2425
+ this.opcode('pushLiteral', bool.bool);
2426
+ },
2427
+
2428
+ comment: function() {},
2429
+
2430
+ // HELPERS
2431
+ opcode: function(name) {
2432
+ this.opcodes.push({ opcode: name, args: [].slice.call(arguments, 1) });
2433
+ },
2434
+
2435
+ declare: function(name, value) {
2436
+ this.opcodes.push({ opcode: 'DECLARE', name: name, value: value });
2437
+ },
2438
+
2439
+ addDepth: function(depth) {
2440
+ if(isNaN(depth)) { throw new Error("EWOT"); }
2441
+ if(depth === 0) { return; }
2442
+
2443
+ if(!this.depths[depth]) {
2444
+ this.depths[depth] = true;
2445
+ this.depths.list.push(depth);
2446
+ }
2447
+ },
2448
+
2449
+ classifyMustache: function(mustache) {
2450
+ var isHelper = mustache.isHelper;
2451
+ var isEligible = mustache.eligibleHelper;
2452
+ var options = this.options;
2453
+
2454
+ // if ambiguous, we can possibly resolve the ambiguity now
2455
+ if (isEligible && !isHelper) {
2456
+ var name = mustache.id.parts[0];
2457
+
2458
+ if (options.knownHelpers[name]) {
2459
+ isHelper = true;
2460
+ } else if (options.knownHelpersOnly) {
2461
+ isEligible = false;
2462
+ }
2463
+ }
2464
+
2465
+ if (isHelper) { return "helper"; }
2466
+ else if (isEligible) { return "ambiguous"; }
2467
+ else { return "simple"; }
2468
+ },
2469
+
2470
+ pushParams: function(params) {
2471
+ var i = params.length, param;
2472
+
2473
+ while(i--) {
2474
+ param = params[i];
2475
+
2476
+ if(this.options.stringParams) {
2477
+ if(param.depth) {
2478
+ this.addDepth(param.depth);
2479
+ }
2480
+
2481
+ this.opcode('getContext', param.depth || 0);
2482
+ this.opcode('pushStringParam', param.stringModeValue, param.type);
2483
+ } else {
2484
+ this[param.type](param);
2485
+ }
2486
+ }
2487
+ },
2488
+
2489
+ setupMustacheParams: function(mustache) {
2490
+ var params = mustache.params;
2491
+ this.pushParams(params);
2492
+
2493
+ if(mustache.hash) {
2494
+ this.hash(mustache.hash);
2495
+ } else {
2496
+ this.opcode('emptyHash');
2497
+ }
2498
+
2499
+ return params;
2500
+ },
2501
+
2502
+ // this will replace setupMustacheParams when we're done
2503
+ setupFullMustacheParams: function(mustache, program, inverse) {
2504
+ var params = mustache.params;
2505
+ this.pushParams(params);
2506
+
2507
+ this.opcode('pushProgram', program);
2508
+ this.opcode('pushProgram', inverse);
2509
+
2510
+ if(mustache.hash) {
2511
+ this.hash(mustache.hash);
2512
+ } else {
2513
+ this.opcode('emptyHash');
2514
+ }
2515
+
2516
+ return params;
2517
+ }
2518
+ };
2519
+
2520
+ function precompile(input, options) {
2521
+ if (input == null || (typeof input !== 'string' && input.constructor !== AST.ProgramNode)) {
2522
+ throw new Exception("You must pass a string or Handlebars AST to Handlebars.precompile. You passed " + input);
2523
+ }
2524
+
2525
+ options = options || {};
2526
+ if (!('data' in options)) {
2527
+ options.data = true;
2528
+ }
2529
+
2530
+ var ast = parse(input);
2531
+ var environment = new Compiler().compile(ast, options);
2532
+ return new JavaScriptCompiler().compile(environment, options);
2533
+ }
2534
+
2535
+ __exports__.precompile = precompile;function compile(input, options, env) {
2536
+ if (input == null || (typeof input !== 'string' && input.constructor !== AST.ProgramNode)) {
2537
+ throw new Exception("You must pass a string or Handlebars AST to Handlebars.compile. You passed " + input);
2538
+ }
2539
+
2540
+ options = options || {};
2541
+
2542
+ if (!('data' in options)) {
2543
+ options.data = true;
2544
+ }
2545
+
2546
+ var compiled;
2547
+
2548
+ function compileInput() {
2549
+ var ast = parse(input);
2550
+ var environment = new Compiler().compile(ast, options);
2551
+ var templateSpec = new JavaScriptCompiler().compile(environment, options, undefined, true);
2552
+ return env.template(templateSpec);
2553
+ }
2554
+
2555
+ // Template is only compiled on first use and cached after that point.
2556
+ return function(context, options) {
2557
+ if (!compiled) {
2558
+ compiled = compileInput();
2559
+ }
2560
+ return compiled.call(this, context, options);
2561
+ };
2562
+ }
2563
+
2564
+ __exports__.compile = compile;
2565
+ return __exports__;
2566
+ })(__module5__, __module8__, __module11__, __module7__);
2567
+
2568
+ // handlebars.js
2569
+ var __module0__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
2570
+ "use strict";
2571
+ var __exports__;
2572
+ /*globals Handlebars: true */
2573
+ var Handlebars = __dependency1__;
2574
+
2575
+ // Compiler imports
2576
+ var AST = __dependency2__;
2577
+ var Parser = __dependency3__.parser;
2578
+ var parse = __dependency3__.parse;
2579
+ var Compiler = __dependency4__.Compiler;
2580
+ var compile = __dependency4__.compile;
2581
+ var precompile = __dependency4__.precompile;
2582
+ var JavaScriptCompiler = __dependency5__;
2583
+
2584
+ var _create = Handlebars.create;
2585
+ var create = function() {
2586
+ var hb = _create();
2587
+
2588
+ hb.compile = function(input, options) {
2589
+ return compile(input, options, hb);
2590
+ };
2591
+ hb.precompile = precompile;
2592
+
2593
+ hb.AST = AST;
2594
+ hb.Compiler = Compiler;
2595
+ hb.JavaScriptCompiler = JavaScriptCompiler;
2596
+ hb.Parser = Parser;
2597
+ hb.parse = parse;
2598
+
2599
+ return hb;
2600
+ };
2601
+
2602
+ Handlebars = create();
2603
+ Handlebars.create = create;
2604
+
2605
+ __exports__ = Handlebars;
2606
+ return __exports__;
2607
+ })(__module1__, __module7__, __module8__, __module10__, __module11__);
2608
+
2609
+ return __module0__;
2610
+ })();