From ca2c7bd34af4117af9f5d50f88b401adc24a0844 Mon Sep 17 00:00:00 2001 From: Miguel Gonzalez Date: Thu, 20 Sep 2018 11:35:44 +0200 Subject: [PATCH] dd7d5ca16e9d6b43928bfeca45b2821fc1cfe50c --- dist/images | 1 + dist/images/markitup/body.png | Bin 129 -> 0 bytes dist/index.html | 12 +- .../images/attachment-gallery.png | Bin 1797 -> 0 bytes dist/v-1535381918818/images/bg.png | Bin 101667 -> 0 bytes dist/v-1535381918818/images/discover.png | Bin 8211 -> 0 bytes .../images/empty/empty_contact.png | Bin 344 -> 0 bytes .../images/empty/empty_des.png | Bin 859 -> 0 bytes .../images/empty/empty_field.png | Bin 966 -> 0 bytes .../images/empty/empty_like.png | Bin 328 -> 0 bytes .../images/empty/empty_mex.png | Bin 969 -> 0 bytes .../images/empty/empty_moon.png | Bin 906 -> 0 bytes .../images/empty/empty_sprint.png | Bin 644 -> 0 bytes .../images/empty/empty_tex.png | Bin 1029 -> 0 bytes .../images/empty/empty_upvote.png | Bin 338 -> 0 bytes .../images/empty/empty_watch.png | Bin 328 -> 0 bytes dist/v-1535381918818/images/epics-empty.png | Bin 1382 -> 0 bytes dist/v-1535381918818/images/favicon.png | Bin 6979 -> 0 bytes .../images/import-logos/asana.png | Bin 4729 -> 0 bytes .../images/import-logos/github.png | Bin 2749 -> 0 bytes .../images/import-logos/jira.png | Bin 4865 -> 0 bytes .../images/import-logos/trello.png | Bin 2495 -> 0 bytes dist/v-1535381918818/images/invitation_bg.jpg | Bin 188107 -> 0 bytes dist/v-1535381918818/images/logo-color.png | Bin 9533 -> 0 bytes dist/v-1535381918818/images/logo.png | Bin 62174 -> 0 bytes .../images/looking-for-people.png | Bin 6385 -> 0 bytes .../images/markitup/bg-container.png | Bin 156 -> 0 bytes .../images/markitup/bg-editor-bbcode.png | Bin 764 -> 0 bytes .../images/markitup/bg-editor-dotclear.png | Bin 780 -> 0 bytes .../images/markitup/bg-editor-html.png | Bin 710 -> 0 bytes .../images/markitup/bg-editor-json.png | Bin 724 -> 0 bytes .../images/markitup/bg-editor-markdown.png | Bin 807 -> 0 bytes .../images/markitup/bg-editor-textile.png | Bin 761 -> 0 bytes .../images/markitup/bg-editor-wiki.png | Bin 686 -> 0 bytes .../images/markitup/bg-editor-xml.png | Bin 697 -> 0 bytes .../images/markitup/bg-editor.png | Bin 780 -> 0 bytes dist/v-1535381918818/images/markitup/body.png | Bin 129 -> 0 bytes dist/v-1535381918818/images/markitup/bold.png | Bin 249 -> 0 bytes .../v-1535381918818/images/markitup/clean.png | Bin 544 -> 0 bytes dist/v-1535381918818/images/markitup/code.png | Bin 240 -> 0 bytes dist/v-1535381918818/images/markitup/h1.png | Bin 223 -> 0 bytes dist/v-1535381918818/images/markitup/h2.png | Bin 251 -> 0 bytes dist/v-1535381918818/images/markitup/h3.png | Bin 253 -> 0 bytes dist/v-1535381918818/images/markitup/h4.png | Bin 240 -> 0 bytes dist/v-1535381918818/images/markitup/h5.png | Bin 251 -> 0 bytes dist/v-1535381918818/images/markitup/h6.png | Bin 257 -> 0 bytes .../images/markitup/handle.png | Bin 140 -> 0 bytes dist/v-1535381918818/images/markitup/help.png | Bin 293 -> 0 bytes .../v-1535381918818/images/markitup/image.png | Bin 463 -> 0 bytes .../images/markitup/italic.png | Bin 191 -> 0 bytes .../images/markitup/jaysalvat.png | Bin 139 -> 0 bytes dist/v-1535381918818/images/markitup/link.png | Bin 291 -> 0 bytes .../images/markitup/list-bullet.png | Bin 181 -> 0 bytes .../images/markitup/list-numeric.png | Bin 247 -> 0 bytes .../images/markitup/markitup.png | Bin 14415 -> 0 bytes dist/v-1535381918818/images/markitup/menu.png | Bin 168 -> 0 bytes .../images/markitup/picture.png | Bin 297 -> 0 bytes .../images/markitup/preview.png | Bin 264 -> 0 bytes .../images/markitup/preview_ico.png | Bin 313 -> 0 bytes .../images/markitup/quotes.png | Bin 301 -> 0 bytes .../images/markitup/stroke.png | Bin 269 -> 0 bytes .../images/markitup/submenu.png | Bin 170 -> 0 bytes dist/v-1535381918818/images/menu-vert.png | Bin 9390 -> 0 bytes dist/v-1535381918818/images/menu.png | Bin 13984 -> 0 bytes dist/v-1535381918818/images/monster-fight.png | Bin 26811 -> 0 bytes .../images/notification-decoration.png | Bin 10317 -> 0 bytes .../images/project-logos/project-logo-01.png | Bin 724 -> 0 bytes .../images/project-logos/project-logo-02.png | Bin 927 -> 0 bytes .../images/project-logos/project-logo-03.png | Bin 623 -> 0 bytes .../images/project-logos/project-logo-04.png | Bin 1098 -> 0 bytes .../images/project-logos/project-logo-05.png | Bin 1383 -> 0 bytes dist/v-1535381918818/images/quote.png | Bin 236 -> 0 bytes dist/v-1535381918818/images/tribe-logo.png | Bin 4567 -> 0 bytes dist/v-1535381918818/images/unnamed.png | Bin 2053 -> 0 bytes .../images/user-avatars/user-avatar-01.png | Bin 1088 -> 0 bytes .../images/user-avatars/user-avatar-02.png | Bin 1005 -> 0 bytes .../images/user-avatars/user-avatar-03.png | Bin 1335 -> 0 bytes .../images/user-avatars/user-avatar-04.png | Bin 1170 -> 0 bytes .../images/user-avatars/user-avatar-05.png | Bin 1093 -> 0 bytes dist/v-1535381918818/images/user-noimage.png | Bin 4519 -> 0 bytes dist/v-1535381918818/js/app-loader.js | 1 - dist/v-1535381918818/js/app.js | 24 --- dist/v-1535381918818/js/maps/app.js.map | 1 - dist/v-1535381918818/js/maps/libs.js.map | 1 - dist/v-1535381918818/js/templates.js | 18 --- .../locales/moment-locales/gom-latn.js | 1 - .../locales/moment-locales/km.js | 1 - .../locales/moment-locales/mn.js | 1 - .../locales/taiga/locale-ca.json | 1 - .../locales/taiga/locale-de.json | 1 - .../locales/taiga/locale-en.json | 1 - .../locales/taiga/locale-es.json | 1 - .../locales/taiga/locale-fa.json | 1 - .../locales/taiga/locale-fi.json | 1 - .../locales/taiga/locale-fr.json | 1 - .../locales/taiga/locale-it.json | 1 - .../locales/taiga/locale-ja.json | 1 - .../locales/taiga/locale-ko.json | 1 - .../locales/taiga/locale-nb.json | 1 - .../locales/taiga/locale-nl.json | 1 - .../locales/taiga/locale-pl.json | 1 - .../locales/taiga/locale-pt-br.json | 1 - .../locales/taiga/locale-ru.json | 1 - .../locales/taiga/locale-sv.json | 1 - .../locales/taiga/locale-zh-hans.json | 1 - .../locales/taiga/locale-zh-hant.json | 1 - .../prism/prism-applescript.min.js | 1 - dist/v-1535381918818/prism/prism-arff.min.js | 1 - .../prism/prism-autohotkey.min.js | 1 - dist/v-1535381918818/prism/prism-bash.min.js | 1 - dist/v-1535381918818/prism/prism-basic.min.js | 1 - dist/v-1535381918818/prism/prism-c.min.js | 1 - dist/v-1535381918818/prism/prism-clike.min.js | 1 - .../prism/prism-clojure.min.js | 1 - dist/v-1535381918818/prism/prism-core.min.js | 1 - .../prism/prism-crystal.min.js | 1 - .../v-1535381918818/prism/prism-csharp.min.js | 1 - dist/v-1535381918818/prism/prism-css.min.js | 1 - .../v-1535381918818/prism/prism-elixir.min.js | 1 - dist/v-1535381918818/prism/prism-erb.min.js | 1 - .../v-1535381918818/prism/prism-erlang.min.js | 1 - .../prism/prism-fortran.min.js | 1 - .../v-1535381918818/prism/prism-gedcom.min.js | 1 - dist/v-1535381918818/prism/prism-glsl.min.js | 1 - .../prism/prism-graphql.min.js | 1 - .../prism/prism-handlebars.min.js | 1 - dist/v-1535381918818/prism/prism-hpkp.min.js | 1 - dist/v-1535381918818/prism/prism-hsts.min.js | 1 - .../prism/prism-ichigojam.min.js | 1 - .../prism/prism-inform7.min.js | 1 - dist/v-1535381918818/prism/prism-java.min.js | 1 - .../prism/prism-javascript.min.js | 1 - dist/v-1535381918818/prism/prism-jolie.min.js | 1 - dist/v-1535381918818/prism/prism-json.min.js | 1 - dist/v-1535381918818/prism/prism-jsx.min.js | 1 - .../prism/prism-languages.json | 1 - .../v-1535381918818/prism/prism-liquid.min.js | 1 - dist/v-1535381918818/prism/prism-lisp.min.js | 1 - .../prism/prism-lolcode.min.js | 1 - .../prism/prism-markup-templating.min.js | 1 - .../v-1535381918818/prism/prism-markup.min.js | 1 - .../v-1535381918818/prism/prism-matlab.min.js | 1 - dist/v-1535381918818/prism/prism-mel.min.js | 1 - .../v-1535381918818/prism/prism-monkey.min.js | 1 - dist/v-1535381918818/prism/prism-nsis.min.js | 1 - dist/v-1535381918818/prism/prism-ocaml.min.js | 1 - dist/v-1535381918818/prism/prism-php.min.js | 1 - dist/v-1535381918818/prism/prism-plsql.min.js | 1 - .../prism/prism-powershell.min.js | 1 - .../v-1535381918818/prism/prism-puppet.min.js | 1 - dist/v-1535381918818/prism/prism-q.min.js | 1 - dist/v-1535381918818/prism/prism-r.min.js | 1 - dist/v-1535381918818/prism/prism-ruby.min.js | 1 - dist/v-1535381918818/prism/prism-rust.min.js | 1 - .../v-1535381918818/prism/prism-smarty.min.js | 1 - dist/v-1535381918818/prism/prism-soy.min.js | 1 - dist/v-1535381918818/prism/prism-sql.min.js | 1 - .../v-1535381918818/prism/prism-stylus.min.js | 1 - .../prism/prism-textile.min.js | 1 - .../prism/prism-velocity.min.js | 1 - .../prism/prism-visual-basic.min.js | 1 - dist/v-1535381918818/prism/prism-wasm.min.js | 1 - dist/v-1535381918818/prism/prism-xojo.min.js | 1 - .../styles/theme-high-contrast.css | 4 - .../styles/theme-material-design.css | 4 - dist/v-1535381918818/styles/theme-taiga.css | 4 - .../emojis/0023-20e3.png | Bin .../emojis/002a-20e3.png | Bin .../emojis/0030-20e3.png | Bin .../emojis/0031-20e3.png | Bin .../emojis/0032-20e3.png | Bin .../emojis/0033-20e3.png | Bin .../emojis/0034-20e3.png | Bin .../emojis/0035-20e3.png | Bin .../emojis/0036-20e3.png | Bin .../emojis/0037-20e3.png | Bin .../emojis/0038-20e3.png | Bin .../emojis/0039-20e3.png | Bin .../emojis/1f004.png | Bin .../emojis/1f0cf.png | Bin .../emojis/1f170.png | Bin .../emojis/1f171.png | Bin .../emojis/1f17e.png | Bin .../emojis/1f17f.png | Bin .../emojis/1f18e.png | Bin .../emojis/1f191.png | Bin .../emojis/1f192.png | Bin .../emojis/1f193.png | Bin .../emojis/1f194.png | Bin .../emojis/1f195.png | Bin .../emojis/1f196.png | Bin .../emojis/1f197.png | Bin .../emojis/1f198.png | Bin .../emojis/1f199.png | Bin .../emojis/1f19a.png | Bin .../emojis/1f1e6-1f1e8.png | Bin .../emojis/1f1e6-1f1e9.png | Bin .../emojis/1f1e6-1f1ea.png | Bin .../emojis/1f1e6-1f1eb.png | Bin .../emojis/1f1e6-1f1ec.png | Bin .../emojis/1f1e6-1f1ee.png | Bin .../emojis/1f1e6-1f1f1.png | Bin .../emojis/1f1e6-1f1f2.png | Bin .../emojis/1f1e6-1f1f4.png | Bin .../emojis/1f1e6-1f1f6.png | Bin .../emojis/1f1e6-1f1f7.png | Bin .../emojis/1f1e6-1f1f8.png | Bin .../emojis/1f1e6-1f1f9.png | Bin .../emojis/1f1e6-1f1fa.png | Bin .../emojis/1f1e6-1f1fc.png | Bin .../emojis/1f1e6-1f1fd.png | Bin .../emojis/1f1e6-1f1ff.png | Bin .../emojis/1f1e7-1f1e6.png | Bin .../emojis/1f1e7-1f1e7.png | Bin .../emojis/1f1e7-1f1e9.png | Bin .../emojis/1f1e7-1f1ea.png | Bin .../emojis/1f1e7-1f1eb.png | Bin .../emojis/1f1e7-1f1ec.png | Bin .../emojis/1f1e7-1f1ed.png | Bin .../emojis/1f1e7-1f1ee.png | Bin .../emojis/1f1e7-1f1ef.png | Bin .../emojis/1f1e7-1f1f1.png | Bin .../emojis/1f1e7-1f1f2.png | Bin .../emojis/1f1e7-1f1f3.png | Bin .../emojis/1f1e7-1f1f4.png | Bin .../emojis/1f1e7-1f1f6.png | Bin .../emojis/1f1e7-1f1f7.png | Bin .../emojis/1f1e7-1f1f8.png | Bin .../emojis/1f1e7-1f1f9.png | Bin .../emojis/1f1e7-1f1fb.png | Bin .../emojis/1f1e7-1f1fc.png | Bin .../emojis/1f1e7-1f1fe.png | Bin .../emojis/1f1e7-1f1ff.png | Bin .../emojis/1f1e8-1f1e6.png | Bin .../emojis/1f1e8-1f1e8.png | Bin .../emojis/1f1e8-1f1e9.png | Bin .../emojis/1f1e8-1f1eb.png | Bin .../emojis/1f1e8-1f1ec.png | Bin .../emojis/1f1e8-1f1ed.png | Bin .../emojis/1f1e8-1f1ee.png | Bin .../emojis/1f1e8-1f1f0.png | Bin .../emojis/1f1e8-1f1f1.png | Bin .../emojis/1f1e8-1f1f2.png | Bin .../emojis/1f1e8-1f1f3.png | Bin .../emojis/1f1e8-1f1f4.png | Bin .../emojis/1f1e8-1f1f5.png | Bin .../emojis/1f1e8-1f1f7.png | Bin .../emojis/1f1e8-1f1fa.png | Bin .../emojis/1f1e8-1f1fb.png | Bin .../emojis/1f1e8-1f1fc.png | Bin .../emojis/1f1e8-1f1fd.png | Bin .../emojis/1f1e8-1f1fe.png | Bin .../emojis/1f1e8-1f1ff.png | Bin .../emojis/1f1e9-1f1ea.png | Bin .../emojis/1f1e9-1f1ec.png | Bin .../emojis/1f1e9-1f1ef.png | Bin .../emojis/1f1e9-1f1f0.png | Bin .../emojis/1f1e9-1f1f2.png | Bin .../emojis/1f1e9-1f1f4.png | Bin .../emojis/1f1e9-1f1ff.png | Bin .../emojis/1f1ea-1f1e6.png | Bin .../emojis/1f1ea-1f1e8.png | Bin .../emojis/1f1ea-1f1ea.png | Bin .../emojis/1f1ea-1f1ec.png | Bin .../emojis/1f1ea-1f1ed.png | Bin .../emojis/1f1ea-1f1f7.png | Bin .../emojis/1f1ea-1f1f8.png | Bin .../emojis/1f1ea-1f1f9.png | Bin .../emojis/1f1ea-1f1fa.png | Bin .../emojis/1f1eb-1f1ee.png | Bin .../emojis/1f1eb-1f1ef.png | Bin .../emojis/1f1eb-1f1f0.png | Bin .../emojis/1f1eb-1f1f2.png | Bin .../emojis/1f1eb-1f1f4.png | Bin .../emojis/1f1eb-1f1f7.png | Bin .../emojis/1f1ec-1f1e6.png | Bin .../emojis/1f1ec-1f1e7.png | Bin .../emojis/1f1ec-1f1e9.png | Bin .../emojis/1f1ec-1f1ea.png | Bin .../emojis/1f1ec-1f1eb.png | Bin .../emojis/1f1ec-1f1ec.png | Bin .../emojis/1f1ec-1f1ed.png | Bin .../emojis/1f1ec-1f1ee.png | Bin .../emojis/1f1ec-1f1f1.png | Bin .../emojis/1f1ec-1f1f2.png | Bin .../emojis/1f1ec-1f1f3.png | Bin .../emojis/1f1ec-1f1f5.png | Bin .../emojis/1f1ec-1f1f6.png | Bin .../emojis/1f1ec-1f1f7.png | Bin .../emojis/1f1ec-1f1f8.png | Bin .../emojis/1f1ec-1f1f9.png | Bin .../emojis/1f1ec-1f1fa.png | Bin .../emojis/1f1ec-1f1fc.png | Bin .../emojis/1f1ec-1f1fe.png | Bin .../emojis/1f1ed-1f1f0.png | Bin .../emojis/1f1ed-1f1f2.png | Bin .../emojis/1f1ed-1f1f3.png | Bin .../emojis/1f1ed-1f1f7.png | Bin .../emojis/1f1ed-1f1f9.png | Bin .../emojis/1f1ed-1f1fa.png | Bin .../emojis/1f1ee-1f1e8.png | Bin .../emojis/1f1ee-1f1e9.png | Bin .../emojis/1f1ee-1f1ea.png | Bin .../emojis/1f1ee-1f1f1.png | Bin .../emojis/1f1ee-1f1f2.png | Bin .../emojis/1f1ee-1f1f3.png | Bin .../emojis/1f1ee-1f1f4.png | Bin .../emojis/1f1ee-1f1f6.png | Bin .../emojis/1f1ee-1f1f7.png | Bin .../emojis/1f1ee-1f1f8.png | Bin .../emojis/1f1ee-1f1f9.png | Bin .../emojis/1f1ef-1f1ea.png | Bin .../emojis/1f1ef-1f1f2.png | Bin .../emojis/1f1ef-1f1f4.png | Bin .../emojis/1f1ef-1f1f5.png | Bin .../emojis/1f1f0-1f1ea.png | Bin .../emojis/1f1f0-1f1ec.png | Bin .../emojis/1f1f0-1f1ed.png | Bin .../emojis/1f1f0-1f1ee.png | Bin .../emojis/1f1f0-1f1f2.png | Bin .../emojis/1f1f0-1f1f3.png | Bin .../emojis/1f1f0-1f1f5.png | Bin .../emojis/1f1f0-1f1f7.png | Bin .../emojis/1f1f0-1f1fc.png | Bin .../emojis/1f1f0-1f1fe.png | Bin .../emojis/1f1f0-1f1ff.png | Bin .../emojis/1f1f1-1f1e6.png | Bin .../emojis/1f1f1-1f1e7.png | Bin .../emojis/1f1f1-1f1e8.png | Bin .../emojis/1f1f1-1f1ee.png | Bin .../emojis/1f1f1-1f1f0.png | Bin .../emojis/1f1f1-1f1f7.png | Bin .../emojis/1f1f1-1f1f8.png | Bin .../emojis/1f1f1-1f1f9.png | Bin .../emojis/1f1f1-1f1fa.png | Bin .../emojis/1f1f1-1f1fb.png | Bin .../emojis/1f1f1-1f1fe.png | Bin .../emojis/1f1f2-1f1e6.png | Bin .../emojis/1f1f2-1f1e8.png | Bin .../emojis/1f1f2-1f1e9.png | Bin .../emojis/1f1f2-1f1ea.png | Bin .../emojis/1f1f2-1f1eb.png | Bin .../emojis/1f1f2-1f1ec.png | Bin .../emojis/1f1f2-1f1ed.png | Bin .../emojis/1f1f2-1f1f0.png | Bin .../emojis/1f1f2-1f1f1.png | Bin .../emojis/1f1f2-1f1f2.png | Bin .../emojis/1f1f2-1f1f3.png | Bin .../emojis/1f1f2-1f1f4.png | Bin .../emojis/1f1f2-1f1f5.png | Bin .../emojis/1f1f2-1f1f6.png | Bin .../emojis/1f1f2-1f1f7.png | Bin .../emojis/1f1f2-1f1f8.png | Bin .../emojis/1f1f2-1f1f9.png | Bin .../emojis/1f1f2-1f1fa.png | Bin .../emojis/1f1f2-1f1fb.png | Bin .../emojis/1f1f2-1f1fc.png | Bin .../emojis/1f1f2-1f1fd.png | Bin .../emojis/1f1f2-1f1fe.png | Bin .../emojis/1f1f2-1f1ff.png | Bin .../emojis/1f1f3-1f1e6.png | Bin .../emojis/1f1f3-1f1e8.png | Bin .../emojis/1f1f3-1f1ea.png | Bin .../emojis/1f1f3-1f1eb.png | Bin .../emojis/1f1f3-1f1ec.png | Bin .../emojis/1f1f3-1f1ee.png | Bin .../emojis/1f1f3-1f1f1.png | Bin .../emojis/1f1f3-1f1f4.png | Bin .../emojis/1f1f3-1f1f5.png | Bin .../emojis/1f1f3-1f1f7.png | Bin .../emojis/1f1f3-1f1fa.png | Bin .../emojis/1f1f3-1f1ff.png | Bin .../emojis/1f1f4-1f1f2.png | Bin .../emojis/1f1f5-1f1e6.png | Bin .../emojis/1f1f5-1f1ea.png | Bin .../emojis/1f1f5-1f1eb.png | Bin .../emojis/1f1f5-1f1ec.png | Bin .../emojis/1f1f5-1f1ed.png | Bin .../emojis/1f1f5-1f1f0.png | Bin .../emojis/1f1f5-1f1f1.png | Bin .../emojis/1f1f5-1f1f2.png | Bin .../emojis/1f1f5-1f1f3.png | Bin .../emojis/1f1f5-1f1f7.png | Bin .../emojis/1f1f5-1f1f8.png | Bin .../emojis/1f1f5-1f1f9.png | Bin .../emojis/1f1f5-1f1fc.png | Bin .../emojis/1f1f5-1f1fe.png | Bin .../emojis/1f1f6-1f1e6.png | Bin .../emojis/1f1f7-1f1ea.png | Bin .../emojis/1f1f7-1f1f4.png | Bin .../emojis/1f1f7-1f1f8.png | Bin .../emojis/1f1f7-1f1fa.png | Bin .../emojis/1f1f7-1f1fc.png | Bin .../emojis/1f1f8-1f1e6.png | Bin .../emojis/1f1f8-1f1e7.png | Bin .../emojis/1f1f8-1f1e8.png | Bin .../emojis/1f1f8-1f1e9.png | Bin .../emojis/1f1f8-1f1ea.png | Bin .../emojis/1f1f8-1f1ec.png | Bin .../emojis/1f1f8-1f1ed.png | Bin .../emojis/1f1f8-1f1ee.png | Bin .../emojis/1f1f8-1f1ef.png | Bin .../emojis/1f1f8-1f1f0.png | Bin .../emojis/1f1f8-1f1f1.png | Bin .../emojis/1f1f8-1f1f2.png | Bin .../emojis/1f1f8-1f1f3.png | Bin .../emojis/1f1f8-1f1f4.png | Bin .../emojis/1f1f8-1f1f7.png | Bin .../emojis/1f1f8-1f1f8.png | Bin .../emojis/1f1f8-1f1f9.png | Bin .../emojis/1f1f8-1f1fb.png | Bin .../emojis/1f1f8-1f1fd.png | Bin .../emojis/1f1f8-1f1fe.png | Bin .../emojis/1f1f8-1f1ff.png | Bin .../emojis/1f1f9-1f1e6.png | Bin .../emojis/1f1f9-1f1e8.png | Bin .../emojis/1f1f9-1f1e9.png | Bin .../emojis/1f1f9-1f1eb.png | Bin .../emojis/1f1f9-1f1ec.png | Bin .../emojis/1f1f9-1f1ed.png | Bin .../emojis/1f1f9-1f1ef.png | Bin .../emojis/1f1f9-1f1f0.png | Bin .../emojis/1f1f9-1f1f1.png | Bin .../emojis/1f1f9-1f1f2.png | Bin .../emojis/1f1f9-1f1f3.png | Bin .../emojis/1f1f9-1f1f4.png | Bin .../emojis/1f1f9-1f1f7.png | Bin .../emojis/1f1f9-1f1f9.png | Bin .../emojis/1f1f9-1f1fb.png | Bin .../emojis/1f1f9-1f1fc.png | Bin .../emojis/1f1f9-1f1ff.png | Bin .../emojis/1f1fa-1f1e6.png | Bin .../emojis/1f1fa-1f1ec.png | Bin .../emojis/1f1fa-1f1f2.png | Bin .../emojis/1f1fa-1f1f3.png | Bin .../emojis/1f1fa-1f1f8.png | Bin .../emojis/1f1fa-1f1fe.png | Bin .../emojis/1f1fa-1f1ff.png | Bin .../emojis/1f1fb-1f1e6.png | Bin .../emojis/1f1fb-1f1e8.png | Bin .../emojis/1f1fb-1f1ea.png | Bin .../emojis/1f1fb-1f1ec.png | Bin .../emojis/1f1fb-1f1ee.png | Bin .../emojis/1f1fb-1f1f3.png | Bin .../emojis/1f1fb-1f1fa.png | Bin .../emojis/1f1fc-1f1eb.png | Bin .../emojis/1f1fc-1f1f8.png | Bin .../emojis/1f1fd-1f1f0.png | Bin .../emojis/1f1fe-1f1ea.png | Bin .../emojis/1f1fe-1f1f9.png | Bin .../emojis/1f1ff-1f1e6.png | Bin .../emojis/1f1ff-1f1f2.png | Bin .../emojis/1f1ff-1f1fc.png | Bin .../emojis/1f201.png | Bin .../emojis/1f202.png | Bin .../emojis/1f21a.png | Bin .../emojis/1f22f.png | Bin .../emojis/1f232.png | Bin .../emojis/1f233.png | Bin .../emojis/1f234.png | Bin .../emojis/1f235.png | Bin .../emojis/1f236.png | Bin .../emojis/1f237.png | Bin .../emojis/1f238.png | Bin .../emojis/1f239.png | Bin .../emojis/1f23a.png | Bin .../emojis/1f250.png | Bin .../emojis/1f251.png | Bin .../emojis/1f300.png | Bin .../emojis/1f301.png | Bin .../emojis/1f302.png | Bin .../emojis/1f303.png | Bin .../emojis/1f304.png | Bin .../emojis/1f305.png | Bin .../emojis/1f306.png | Bin .../emojis/1f307.png | Bin .../emojis/1f308.png | Bin .../emojis/1f309.png | Bin .../emojis/1f30a.png | Bin .../emojis/1f30b.png | Bin .../emojis/1f30c.png | Bin .../emojis/1f30d.png | Bin .../emojis/1f30e.png | Bin .../emojis/1f30f.png | Bin .../emojis/1f310.png | Bin .../emojis/1f311.png | Bin .../emojis/1f312.png | Bin .../emojis/1f313.png | Bin .../emojis/1f314.png | Bin .../emojis/1f315.png | Bin .../emojis/1f316.png | Bin .../emojis/1f317.png | Bin .../emojis/1f318.png | Bin .../emojis/1f319.png | Bin .../emojis/1f31a.png | Bin .../emojis/1f31b.png | Bin .../emojis/1f31c.png | Bin .../emojis/1f31d.png | Bin .../emojis/1f31e.png | Bin .../emojis/1f31f.png | Bin .../emojis/1f320.png | Bin .../emojis/1f321.png | Bin .../emojis/1f324.png | Bin .../emojis/1f325.png | Bin .../emojis/1f326.png | Bin .../emojis/1f327.png | Bin .../emojis/1f328.png | Bin .../emojis/1f329.png | Bin .../emojis/1f32a.png | Bin .../emojis/1f32b.png | Bin .../emojis/1f32c.png | Bin .../emojis/1f32d.png | Bin .../emojis/1f32e.png | Bin .../emojis/1f32f.png | Bin .../emojis/1f330.png | Bin .../emojis/1f331.png | Bin .../emojis/1f332.png | Bin .../emojis/1f333.png | Bin .../emojis/1f334.png | Bin .../emojis/1f335.png | Bin .../emojis/1f336.png | Bin .../emojis/1f337.png | Bin .../emojis/1f338.png | Bin .../emojis/1f339.png | Bin .../emojis/1f33a.png | Bin .../emojis/1f33b.png | Bin .../emojis/1f33c.png | Bin .../emojis/1f33d.png | Bin .../emojis/1f33e.png | Bin .../emojis/1f33f.png | Bin .../emojis/1f340.png | Bin .../emojis/1f341.png | Bin .../emojis/1f342.png | Bin .../emojis/1f343.png | Bin .../emojis/1f344.png | Bin .../emojis/1f345.png | Bin .../emojis/1f346.png | Bin .../emojis/1f347.png | Bin .../emojis/1f348.png | Bin .../emojis/1f349.png | Bin .../emojis/1f34a.png | Bin .../emojis/1f34b.png | Bin .../emojis/1f34c.png | Bin .../emojis/1f34d.png | Bin .../emojis/1f34e.png | Bin .../emojis/1f34f.png | Bin .../emojis/1f350.png | Bin .../emojis/1f351.png | Bin .../emojis/1f352.png | Bin .../emojis/1f353.png | Bin .../emojis/1f354.png | Bin .../emojis/1f355.png | Bin .../emojis/1f356.png | Bin .../emojis/1f357.png | Bin .../emojis/1f358.png | Bin .../emojis/1f359.png | Bin .../emojis/1f35a.png | Bin .../emojis/1f35b.png | Bin .../emojis/1f35c.png | Bin .../emojis/1f35d.png | Bin .../emojis/1f35e.png | Bin .../emojis/1f35f.png | Bin .../emojis/1f360.png | Bin .../emojis/1f361.png | Bin .../emojis/1f362.png | Bin .../emojis/1f363.png | Bin .../emojis/1f364.png | Bin .../emojis/1f365.png | Bin .../emojis/1f366.png | Bin .../emojis/1f367.png | Bin .../emojis/1f368.png | Bin .../emojis/1f369.png | Bin .../emojis/1f36a.png | Bin .../emojis/1f36b.png | Bin .../emojis/1f36c.png | Bin .../emojis/1f36d.png | Bin .../emojis/1f36e.png | Bin .../emojis/1f36f.png | Bin .../emojis/1f370.png | Bin .../emojis/1f371.png | Bin .../emojis/1f372.png | Bin .../emojis/1f373.png | Bin .../emojis/1f374.png | Bin .../emojis/1f375.png | Bin .../emojis/1f376.png | Bin .../emojis/1f377.png | Bin .../emojis/1f378.png | Bin .../emojis/1f379.png | Bin .../emojis/1f37a.png | Bin .../emojis/1f37b.png | Bin .../emojis/1f37c.png | Bin .../emojis/1f37d.png | Bin .../emojis/1f37e.png | Bin .../emojis/1f37f.png | Bin .../emojis/1f380.png | Bin .../emojis/1f381.png | Bin .../emojis/1f382.png | Bin .../emojis/1f383.png | Bin .../emojis/1f384.png | Bin .../emojis/1f385.png | Bin .../emojis/1f386.png | Bin .../emojis/1f387.png | Bin .../emojis/1f388.png | Bin .../emojis/1f389.png | Bin .../emojis/1f38a.png | Bin .../emojis/1f38b.png | Bin .../emojis/1f38c.png | Bin .../emojis/1f38d.png | Bin .../emojis/1f38e.png | Bin .../emojis/1f38f.png | Bin .../emojis/1f390.png | Bin .../emojis/1f391.png | Bin .../emojis/1f392.png | Bin .../emojis/1f393.png | Bin .../emojis/1f396.png | Bin .../emojis/1f397.png | Bin .../emojis/1f399.png | Bin .../emojis/1f39a.png | Bin .../emojis/1f39b.png | Bin .../emojis/1f39e.png | Bin .../emojis/1f39f.png | Bin .../emojis/1f3a0.png | Bin .../emojis/1f3a1.png | Bin .../emojis/1f3a2.png | Bin .../emojis/1f3a3.png | Bin .../emojis/1f3a4.png | Bin .../emojis/1f3a5.png | Bin .../emojis/1f3a6.png | Bin .../emojis/1f3a7.png | Bin .../emojis/1f3a8.png | Bin .../emojis/1f3a9.png | Bin .../emojis/1f3aa.png | Bin .../emojis/1f3ab.png | Bin .../emojis/1f3ac.png | Bin .../emojis/1f3ad.png | Bin .../emojis/1f3ae.png | Bin .../emojis/1f3af.png | Bin .../emojis/1f3b0.png | Bin .../emojis/1f3b1.png | Bin .../emojis/1f3b2.png | Bin .../emojis/1f3b3.png | Bin .../emojis/1f3b4.png | Bin .../emojis/1f3b5.png | Bin .../emojis/1f3b6.png | Bin .../emojis/1f3b7.png | Bin .../emojis/1f3b8.png | Bin .../emojis/1f3b9.png | Bin .../emojis/1f3ba.png | Bin .../emojis/1f3bb.png | Bin .../emojis/1f3bc.png | Bin .../emojis/1f3bd.png | Bin .../emojis/1f3be.png | Bin .../emojis/1f3bf.png | Bin .../emojis/1f3c0.png | Bin .../emojis/1f3c1.png | Bin .../emojis/1f3c2.png | Bin .../emojis/1f3c3-200d-2640-fe0f.png | Bin .../emojis/1f3c3-200d-2642-fe0f.png | Bin .../emojis/1f3c3.png | Bin .../emojis/1f3c4-200d-2640-fe0f.png | Bin .../emojis/1f3c4-200d-2642-fe0f.png | Bin .../emojis/1f3c4.png | Bin .../emojis/1f3c5.png | Bin .../emojis/1f3c6.png | Bin .../emojis/1f3c7.png | Bin .../emojis/1f3c8.png | Bin .../emojis/1f3c9.png | Bin .../emojis/1f3ca-200d-2640-fe0f.png | Bin .../emojis/1f3ca-200d-2642-fe0f.png | Bin .../emojis/1f3ca.png | Bin .../emojis/1f3cb-fe0f-200d-2640-fe0f.png | Bin .../emojis/1f3cb-fe0f-200d-2642-fe0f.png | Bin .../emojis/1f3cb.png | Bin .../emojis/1f3cc-fe0f-200d-2640-fe0f.png | Bin .../emojis/1f3cc-fe0f-200d-2642-fe0f.png | Bin .../emojis/1f3cc.png | Bin .../emojis/1f3cd.png | Bin .../emojis/1f3ce.png | Bin .../emojis/1f3cf.png | Bin .../emojis/1f3d0.png | Bin .../emojis/1f3d1.png | Bin .../emojis/1f3d2.png | Bin .../emojis/1f3d3.png | Bin .../emojis/1f3d4.png | Bin .../emojis/1f3d5.png | Bin .../emojis/1f3d6.png | Bin .../emojis/1f3d7.png | Bin .../emojis/1f3d8.png | Bin .../emojis/1f3d9.png | Bin .../emojis/1f3da.png | Bin .../emojis/1f3db.png | Bin .../emojis/1f3dc.png | Bin .../emojis/1f3dd.png | Bin .../emojis/1f3de.png | Bin .../emojis/1f3df.png | Bin .../emojis/1f3e0.png | Bin .../emojis/1f3e1.png | Bin .../emojis/1f3e2.png | Bin .../emojis/1f3e3.png | Bin .../emojis/1f3e4.png | Bin .../emojis/1f3e5.png | Bin .../emojis/1f3e6.png | Bin .../emojis/1f3e7.png | Bin .../emojis/1f3e8.png | Bin .../emojis/1f3e9.png | Bin .../emojis/1f3ea.png | Bin .../emojis/1f3eb.png | Bin .../emojis/1f3ec.png | Bin .../emojis/1f3ed.png | Bin .../emojis/1f3ee.png | Bin .../emojis/1f3ef.png | Bin .../emojis/1f3f0.png | Bin .../emojis/1f3f3-fe0f-200d-1f308.png | Bin .../emojis/1f3f3.png | Bin .../emojis/1f3f4.png | Bin .../emojis/1f3f5.png | Bin .../emojis/1f3f7.png | Bin .../emojis/1f3f8.png | Bin .../emojis/1f3f9.png | Bin .../emojis/1f3fa.png | Bin .../emojis/1f3fb.png | Bin .../emojis/1f3fc.png | Bin .../emojis/1f3fd.png | Bin .../emojis/1f3fe.png | Bin .../emojis/1f3ff.png | Bin .../emojis/1f400.png | Bin .../emojis/1f401.png | Bin .../emojis/1f402.png | Bin .../emojis/1f403.png | Bin .../emojis/1f404.png | Bin .../emojis/1f405.png | Bin .../emojis/1f406.png | Bin .../emojis/1f407.png | Bin .../emojis/1f408.png | Bin .../emojis/1f409.png | Bin .../emojis/1f40a.png | Bin .../emojis/1f40b.png | Bin .../emojis/1f40c.png | Bin .../emojis/1f40d.png | Bin .../emojis/1f40e.png | Bin .../emojis/1f40f.png | Bin .../emojis/1f410.png | Bin .../emojis/1f411.png | Bin .../emojis/1f412.png | Bin .../emojis/1f413.png | Bin .../emojis/1f414.png | Bin .../emojis/1f415.png | Bin .../emojis/1f416.png | Bin .../emojis/1f417.png | Bin .../emojis/1f418.png | Bin .../emojis/1f419.png | Bin .../emojis/1f41a.png | Bin .../emojis/1f41b.png | Bin .../emojis/1f41c.png | Bin .../emojis/1f41d.png | Bin .../emojis/1f41e.png | Bin .../emojis/1f41f.png | Bin .../emojis/1f420.png | Bin .../emojis/1f421.png | Bin .../emojis/1f422.png | Bin .../emojis/1f423.png | Bin .../emojis/1f424.png | Bin .../emojis/1f425.png | Bin .../emojis/1f426.png | Bin .../emojis/1f427.png | Bin .../emojis/1f428.png | Bin .../emojis/1f429.png | Bin .../emojis/1f42a.png | Bin .../emojis/1f42b.png | Bin .../emojis/1f42c.png | Bin .../emojis/1f42d.png | Bin .../emojis/1f42e.png | Bin .../emojis/1f42f.png | Bin .../emojis/1f430.png | Bin .../emojis/1f431.png | Bin .../emojis/1f432.png | Bin .../emojis/1f433.png | Bin .../emojis/1f434.png | Bin .../emojis/1f435.png | Bin .../emojis/1f436.png | Bin .../emojis/1f437.png | Bin .../emojis/1f438.png | Bin .../emojis/1f439.png | Bin .../emojis/1f43a.png | Bin .../emojis/1f43b.png | Bin .../emojis/1f43c.png | Bin .../emojis/1f43d.png | Bin .../emojis/1f43e.png | Bin .../emojis/1f43f.png | Bin .../emojis/1f440.png | Bin .../emojis/1f441.png | Bin .../emojis/1f442.png | Bin .../emojis/1f443.png | Bin .../emojis/1f444.png | Bin .../emojis/1f445.png | Bin .../emojis/1f446.png | Bin .../emojis/1f447.png | Bin .../emojis/1f448.png | Bin .../emojis/1f449.png | Bin .../emojis/1f44a.png | Bin .../emojis/1f44b.png | Bin .../emojis/1f44c.png | Bin .../emojis/1f44d.png | Bin .../emojis/1f44e.png | Bin .../emojis/1f44f.png | Bin .../emojis/1f450.png | Bin .../emojis/1f451.png | Bin .../emojis/1f452.png | Bin .../emojis/1f453.png | Bin .../emojis/1f454.png | Bin .../emojis/1f455.png | Bin .../emojis/1f456.png | Bin .../emojis/1f457.png | Bin .../emojis/1f458.png | Bin .../emojis/1f459.png | Bin .../emojis/1f45a.png | Bin .../emojis/1f45b.png | Bin .../emojis/1f45c.png | Bin .../emojis/1f45d.png | Bin .../emojis/1f45e.png | Bin .../emojis/1f45f.png | Bin .../emojis/1f460.png | Bin .../emojis/1f461.png | Bin .../emojis/1f462.png | Bin .../emojis/1f463.png | Bin .../emojis/1f464.png | Bin .../emojis/1f465.png | Bin .../emojis/1f466.png | Bin .../emojis/1f467.png | Bin .../emojis/1f468-200d-1f33e.png | Bin .../emojis/1f468-200d-1f373.png | Bin .../emojis/1f468-200d-1f393.png | Bin .../emojis/1f468-200d-1f3a4.png | Bin .../emojis/1f468-200d-1f3a8.png | Bin .../emojis/1f468-200d-1f3eb.png | Bin .../emojis/1f468-200d-1f3ed.png | Bin .../emojis/1f468-200d-1f466-200d-1f466.png | Bin .../emojis/1f468-200d-1f466.png | Bin .../emojis/1f468-200d-1f467-200d-1f466.png | Bin .../emojis/1f468-200d-1f467-200d-1f467.png | Bin .../emojis/1f468-200d-1f467.png | Bin ...1f468-200d-1f468-200d-1f466-200d-1f466.png | Bin .../emojis/1f468-200d-1f468-200d-1f466.png | Bin ...1f468-200d-1f468-200d-1f467-200d-1f466.png | Bin ...1f468-200d-1f468-200d-1f467-200d-1f467.png | Bin .../emojis/1f468-200d-1f468-200d-1f467.png | Bin ...1f468-200d-1f469-200d-1f466-200d-1f466.png | Bin .../emojis/1f468-200d-1f469-200d-1f466.png | Bin ...1f468-200d-1f469-200d-1f467-200d-1f466.png | Bin ...1f468-200d-1f469-200d-1f467-200d-1f467.png | Bin .../emojis/1f468-200d-1f469-200d-1f467.png | Bin .../emojis/1f468-200d-1f4bb.png | Bin .../emojis/1f468-200d-1f4bc.png | Bin .../emojis/1f468-200d-1f527.png | Bin .../emojis/1f468-200d-1f52c.png | Bin .../emojis/1f468-200d-1f680.png | Bin .../emojis/1f468-200d-1f692.png | Bin .../emojis/1f468-200d-2695-fe0f.png | Bin .../emojis/1f468-200d-2696-fe0f.png | Bin .../emojis/1f468-200d-2708-fe0f.png | Bin .../1f468-200d-2764-fe0f-200d-1f468.png | Bin ...8-200d-2764-fe0f-200d-1f48b-200d-1f468.png | Bin .../emojis/1f468.png | Bin .../emojis/1f469-200d-1f33e.png | Bin .../emojis/1f469-200d-1f373.png | Bin .../emojis/1f469-200d-1f393.png | Bin .../emojis/1f469-200d-1f3a4.png | Bin .../emojis/1f469-200d-1f3a8.png | Bin .../emojis/1f469-200d-1f3eb.png | Bin .../emojis/1f469-200d-1f3ed.png | Bin .../emojis/1f469-200d-1f466-200d-1f466.png | Bin .../emojis/1f469-200d-1f466.png | Bin .../emojis/1f469-200d-1f467-200d-1f466.png | Bin .../emojis/1f469-200d-1f467-200d-1f467.png | Bin .../emojis/1f469-200d-1f467.png | Bin ...1f469-200d-1f469-200d-1f466-200d-1f466.png | Bin .../emojis/1f469-200d-1f469-200d-1f466.png | Bin ...1f469-200d-1f469-200d-1f467-200d-1f466.png | Bin ...1f469-200d-1f469-200d-1f467-200d-1f467.png | Bin .../emojis/1f469-200d-1f469-200d-1f467.png | Bin .../emojis/1f469-200d-1f4bb.png | Bin .../emojis/1f469-200d-1f4bc.png | Bin .../emojis/1f469-200d-1f527.png | Bin .../emojis/1f469-200d-1f52c.png | Bin .../emojis/1f469-200d-1f680.png | Bin .../emojis/1f469-200d-1f692.png | Bin .../emojis/1f469-200d-2695-fe0f.png | Bin .../emojis/1f469-200d-2696-fe0f.png | Bin .../emojis/1f469-200d-2708-fe0f.png | Bin .../1f469-200d-2764-fe0f-200d-1f468.png | Bin .../1f469-200d-2764-fe0f-200d-1f469.png | Bin ...9-200d-2764-fe0f-200d-1f48b-200d-1f468.png | Bin ...9-200d-2764-fe0f-200d-1f48b-200d-1f469.png | Bin .../emojis/1f469.png | Bin .../emojis/1f46a.png | Bin .../emojis/1f46b.png | Bin .../emojis/1f46c.png | Bin .../emojis/1f46d.png | Bin .../emojis/1f46e-200d-2640-fe0f.png | Bin .../emojis/1f46e-200d-2642-fe0f.png | Bin .../emojis/1f46e.png | Bin .../emojis/1f46f-200d-2640-fe0f.png | Bin .../emojis/1f46f-200d-2642-fe0f.png | Bin .../emojis/1f46f.png | Bin .../emojis/1f470.png | Bin .../emojis/1f471-200d-2640-fe0f.png | Bin .../emojis/1f471-200d-2642-fe0f.png | Bin .../emojis/1f471.png | Bin .../emojis/1f472.png | Bin .../emojis/1f473-200d-2640-fe0f.png | Bin .../emojis/1f473-200d-2642-fe0f.png | Bin .../emojis/1f473.png | Bin .../emojis/1f474.png | Bin .../emojis/1f475.png | Bin .../emojis/1f476.png | Bin .../emojis/1f477-200d-2640-fe0f.png | Bin .../emojis/1f477-200d-2642-fe0f.png | Bin .../emojis/1f477.png | Bin .../emojis/1f478.png | Bin .../emojis/1f479.png | Bin .../emojis/1f47a.png | Bin .../emojis/1f47b.png | Bin .../emojis/1f47c.png | Bin .../emojis/1f47d.png | Bin .../emojis/1f47e.png | Bin .../emojis/1f47f.png | Bin .../emojis/1f480.png | Bin .../emojis/1f481-200d-2640-fe0f.png | Bin .../emojis/1f481-200d-2642-fe0f.png | Bin .../emojis/1f481.png | Bin .../emojis/1f482-200d-2640-fe0f.png | Bin .../emojis/1f482-200d-2642-fe0f.png | Bin .../emojis/1f482.png | Bin .../emojis/1f483.png | Bin .../emojis/1f484.png | Bin .../emojis/1f485.png | Bin .../emojis/1f486-200d-2640-fe0f.png | Bin .../emojis/1f486-200d-2642-fe0f.png | Bin .../emojis/1f486.png | Bin .../emojis/1f487-200d-2640-fe0f.png | Bin .../emojis/1f487-200d-2642-fe0f.png | Bin .../emojis/1f487.png | Bin .../emojis/1f488.png | Bin .../emojis/1f489.png | Bin .../emojis/1f48a.png | Bin .../emojis/1f48b.png | Bin .../emojis/1f48c.png | Bin .../emojis/1f48d.png | Bin .../emojis/1f48e.png | Bin .../emojis/1f48f.png | Bin .../emojis/1f490.png | Bin .../emojis/1f491.png | Bin .../emojis/1f492.png | Bin .../emojis/1f493.png | Bin .../emojis/1f494.png | Bin .../emojis/1f495.png | Bin .../emojis/1f496.png | Bin .../emojis/1f497.png | Bin .../emojis/1f498.png | Bin .../emojis/1f499.png | Bin .../emojis/1f49a.png | Bin .../emojis/1f49b.png | Bin .../emojis/1f49c.png | Bin .../emojis/1f49d.png | Bin .../emojis/1f49e.png | Bin .../emojis/1f49f.png | Bin .../emojis/1f4a0.png | Bin .../emojis/1f4a1.png | Bin .../emojis/1f4a2.png | Bin .../emojis/1f4a3.png | Bin .../emojis/1f4a4.png | Bin .../emojis/1f4a5.png | Bin .../emojis/1f4a6.png | Bin .../emojis/1f4a7.png | Bin .../emojis/1f4a8.png | Bin .../emojis/1f4a9.png | Bin .../emojis/1f4aa.png | Bin .../emojis/1f4ab.png | Bin .../emojis/1f4ac.png | Bin .../emojis/1f4ad.png | Bin .../emojis/1f4ae.png | Bin .../emojis/1f4af.png | Bin .../emojis/1f4b0.png | Bin .../emojis/1f4b1.png | Bin .../emojis/1f4b2.png | Bin .../emojis/1f4b3.png | Bin .../emojis/1f4b4.png | Bin .../emojis/1f4b5.png | Bin .../emojis/1f4b6.png | Bin .../emojis/1f4b7.png | Bin .../emojis/1f4b8.png | Bin .../emojis/1f4b9.png | Bin .../emojis/1f4ba.png | Bin .../emojis/1f4bb.png | Bin .../emojis/1f4bc.png | Bin .../emojis/1f4bd.png | Bin .../emojis/1f4be.png | Bin .../emojis/1f4bf.png | Bin .../emojis/1f4c0.png | Bin .../emojis/1f4c1.png | Bin .../emojis/1f4c2.png | Bin .../emojis/1f4c3.png | Bin .../emojis/1f4c4.png | Bin .../emojis/1f4c5.png | Bin .../emojis/1f4c6.png | Bin .../emojis/1f4c7.png | Bin .../emojis/1f4c8.png | Bin .../emojis/1f4c9.png | Bin .../emojis/1f4ca.png | Bin .../emojis/1f4cb.png | Bin .../emojis/1f4cc.png | Bin .../emojis/1f4cd.png | Bin .../emojis/1f4ce.png | Bin .../emojis/1f4cf.png | Bin .../emojis/1f4d0.png | Bin .../emojis/1f4d1.png | Bin .../emojis/1f4d2.png | Bin .../emojis/1f4d3.png | Bin .../emojis/1f4d4.png | Bin .../emojis/1f4d5.png | Bin .../emojis/1f4d6.png | Bin .../emojis/1f4d7.png | Bin .../emojis/1f4d8.png | Bin .../emojis/1f4d9.png | Bin .../emojis/1f4da.png | Bin .../emojis/1f4db.png | Bin .../emojis/1f4dc.png | Bin .../emojis/1f4dd.png | Bin .../emojis/1f4de.png | Bin .../emojis/1f4df.png | Bin .../emojis/1f4e0.png | Bin .../emojis/1f4e1.png | Bin .../emojis/1f4e2.png | Bin .../emojis/1f4e3.png | Bin .../emojis/1f4e4.png | Bin .../emojis/1f4e5.png | Bin .../emojis/1f4e6.png | Bin .../emojis/1f4e7.png | Bin .../emojis/1f4e8.png | Bin .../emojis/1f4e9.png | Bin .../emojis/1f4ea.png | Bin .../emojis/1f4eb.png | Bin .../emojis/1f4ec.png | Bin .../emojis/1f4ed.png | Bin .../emojis/1f4ee.png | Bin .../emojis/1f4ef.png | Bin .../emojis/1f4f0.png | Bin .../emojis/1f4f1.png | Bin .../emojis/1f4f2.png | Bin .../emojis/1f4f3.png | Bin .../emojis/1f4f4.png | Bin .../emojis/1f4f5.png | Bin .../emojis/1f4f6.png | Bin .../emojis/1f4f7.png | Bin .../emojis/1f4f8.png | Bin .../emojis/1f4f9.png | Bin .../emojis/1f4fa.png | Bin .../emojis/1f4fb.png | Bin .../emojis/1f4fc.png | Bin .../emojis/1f4fd.png | Bin .../emojis/1f4ff.png | Bin .../emojis/1f500.png | Bin .../emojis/1f501.png | Bin .../emojis/1f502.png | Bin .../emojis/1f503.png | Bin .../emojis/1f504.png | Bin .../emojis/1f505.png | Bin .../emojis/1f506.png | Bin .../emojis/1f507.png | Bin .../emojis/1f508.png | Bin .../emojis/1f509.png | Bin .../emojis/1f50a.png | Bin .../emojis/1f50b.png | Bin .../emojis/1f50c.png | Bin .../emojis/1f50d.png | Bin .../emojis/1f50e.png | Bin .../emojis/1f50f.png | Bin .../emojis/1f510.png | Bin .../emojis/1f511.png | Bin .../emojis/1f512.png | Bin .../emojis/1f513.png | Bin .../emojis/1f514.png | Bin .../emojis/1f515.png | Bin .../emojis/1f516.png | Bin .../emojis/1f517.png | Bin .../emojis/1f518.png | Bin .../emojis/1f519.png | Bin .../emojis/1f51a.png | Bin .../emojis/1f51b.png | Bin .../emojis/1f51c.png | Bin .../emojis/1f51d.png | Bin .../emojis/1f51e.png | Bin .../emojis/1f51f.png | Bin .../emojis/1f520.png | Bin .../emojis/1f521.png | Bin .../emojis/1f522.png | Bin .../emojis/1f523.png | Bin .../emojis/1f524.png | Bin .../emojis/1f525.png | Bin .../emojis/1f526.png | Bin .../emojis/1f527.png | Bin .../emojis/1f528.png | Bin .../emojis/1f529.png | Bin .../emojis/1f52a.png | Bin .../emojis/1f52b.png | Bin .../emojis/1f52c.png | Bin .../emojis/1f52d.png | Bin .../emojis/1f52e.png | Bin .../emojis/1f52f.png | Bin .../emojis/1f530.png | Bin .../emojis/1f531.png | Bin .../emojis/1f532.png | Bin .../emojis/1f533.png | Bin .../emojis/1f534.png | Bin .../emojis/1f535.png | Bin .../emojis/1f536.png | Bin .../emojis/1f537.png | Bin .../emojis/1f538.png | Bin .../emojis/1f539.png | Bin .../emojis/1f53a.png | Bin .../emojis/1f53b.png | Bin .../emojis/1f53c.png | Bin .../emojis/1f53d.png | Bin .../emojis/1f549.png | Bin .../emojis/1f54a.png | Bin .../emojis/1f54b.png | Bin .../emojis/1f54c.png | Bin .../emojis/1f54d.png | Bin .../emojis/1f54e.png | Bin .../emojis/1f550.png | Bin .../emojis/1f551.png | Bin .../emojis/1f552.png | Bin .../emojis/1f553.png | Bin .../emojis/1f554.png | Bin .../emojis/1f555.png | Bin .../emojis/1f556.png | Bin .../emojis/1f557.png | Bin .../emojis/1f558.png | Bin .../emojis/1f559.png | Bin .../emojis/1f55a.png | Bin .../emojis/1f55b.png | Bin .../emojis/1f55c.png | Bin .../emojis/1f55d.png | Bin .../emojis/1f55e.png | Bin .../emojis/1f55f.png | Bin .../emojis/1f560.png | Bin .../emojis/1f561.png | Bin .../emojis/1f562.png | Bin .../emojis/1f563.png | Bin .../emojis/1f564.png | Bin .../emojis/1f565.png | Bin .../emojis/1f566.png | Bin .../emojis/1f567.png | Bin .../emojis/1f56f.png | Bin .../emojis/1f570.png | Bin .../emojis/1f573.png | Bin .../emojis/1f574.png | Bin .../emojis/1f575-fe0f-200d-2640-fe0f.png | Bin .../emojis/1f575-fe0f-200d-2642-fe0f.png | Bin .../emojis/1f575.png | Bin .../emojis/1f576.png | Bin .../emojis/1f577.png | Bin .../emojis/1f578.png | Bin .../emojis/1f579.png | Bin .../emojis/1f57a.png | Bin .../emojis/1f587.png | Bin .../emojis/1f58a.png | Bin .../emojis/1f58b.png | Bin .../emojis/1f58c.png | Bin .../emojis/1f58d.png | Bin .../emojis/1f590.png | Bin .../emojis/1f595.png | Bin .../emojis/1f596.png | Bin .../emojis/1f5a4.png | Bin .../emojis/1f5a5.png | Bin .../emojis/1f5a8.png | Bin .../emojis/1f5b1.png | Bin .../emojis/1f5b2.png | Bin .../emojis/1f5bc.png | Bin .../emojis/1f5c2.png | Bin .../emojis/1f5c3.png | Bin .../emojis/1f5c4.png | Bin .../emojis/1f5d1.png | Bin .../emojis/1f5d2.png | Bin .../emojis/1f5d3.png | Bin .../emojis/1f5dc.png | Bin .../emojis/1f5dd.png | Bin .../emojis/1f5de.png | Bin .../emojis/1f5e1.png | Bin .../emojis/1f5e3.png | Bin .../emojis/1f5e8.png | Bin .../emojis/1f5ef.png | Bin .../emojis/1f5f3.png | Bin .../emojis/1f5fa.png | Bin .../emojis/1f5fb.png | Bin .../emojis/1f5fc.png | Bin .../emojis/1f5fd.png | Bin .../emojis/1f5fe.png | Bin .../emojis/1f5ff.png | Bin .../emojis/1f600.png | Bin .../emojis/1f601.png | Bin .../emojis/1f602.png | Bin .../emojis/1f603.png | Bin .../emojis/1f604.png | Bin .../emojis/1f605.png | Bin .../emojis/1f606.png | Bin .../emojis/1f607.png | Bin .../emojis/1f608.png | Bin .../emojis/1f609.png | Bin .../emojis/1f60a.png | Bin .../emojis/1f60b.png | Bin .../emojis/1f60c.png | Bin .../emojis/1f60d.png | Bin .../emojis/1f60e.png | Bin .../emojis/1f60f.png | Bin .../emojis/1f610.png | Bin .../emojis/1f611.png | Bin .../emojis/1f612.png | Bin .../emojis/1f613.png | Bin .../emojis/1f614.png | Bin .../emojis/1f615.png | Bin .../emojis/1f616.png | Bin .../emojis/1f617.png | Bin .../emojis/1f618.png | Bin .../emojis/1f619.png | Bin .../emojis/1f61a.png | Bin .../emojis/1f61b.png | Bin .../emojis/1f61c.png | Bin .../emojis/1f61d.png | Bin .../emojis/1f61e.png | Bin .../emojis/1f61f.png | Bin .../emojis/1f620.png | Bin .../emojis/1f621.png | Bin .../emojis/1f622.png | Bin .../emojis/1f623.png | Bin .../emojis/1f624.png | Bin .../emojis/1f625.png | Bin .../emojis/1f626.png | Bin .../emojis/1f627.png | Bin .../emojis/1f628.png | Bin .../emojis/1f629.png | Bin .../emojis/1f62a.png | Bin .../emojis/1f62b.png | Bin .../emojis/1f62c.png | Bin .../emojis/1f62d.png | Bin .../emojis/1f62e.png | Bin .../emojis/1f62f.png | Bin .../emojis/1f630.png | Bin .../emojis/1f631.png | Bin .../emojis/1f632.png | Bin .../emojis/1f633.png | Bin .../emojis/1f634.png | Bin .../emojis/1f635.png | Bin .../emojis/1f636.png | Bin .../emojis/1f637.png | Bin .../emojis/1f638.png | Bin .../emojis/1f639.png | Bin .../emojis/1f63a.png | Bin .../emojis/1f63b.png | Bin .../emojis/1f63c.png | Bin .../emojis/1f63d.png | Bin .../emojis/1f63e.png | Bin .../emojis/1f63f.png | Bin .../emojis/1f640.png | Bin .../emojis/1f641.png | Bin .../emojis/1f642.png | Bin .../emojis/1f643.png | Bin .../emojis/1f644.png | Bin .../emojis/1f645-200d-2640-fe0f.png | Bin .../emojis/1f645-200d-2642-fe0f.png | Bin .../emojis/1f645.png | Bin .../emojis/1f646-200d-2640-fe0f.png | Bin .../emojis/1f646-200d-2642-fe0f.png | Bin .../emojis/1f646.png | Bin .../emojis/1f647-200d-2640-fe0f.png | Bin .../emojis/1f647-200d-2642-fe0f.png | Bin .../emojis/1f647.png | Bin .../emojis/1f648.png | Bin .../emojis/1f649.png | Bin .../emojis/1f64a.png | Bin .../emojis/1f64b-200d-2640-fe0f.png | Bin .../emojis/1f64b-200d-2642-fe0f.png | Bin .../emojis/1f64b.png | Bin .../emojis/1f64c.png | Bin .../emojis/1f64d-200d-2640-fe0f.png | Bin .../emojis/1f64d-200d-2642-fe0f.png | Bin .../emojis/1f64d.png | Bin .../emojis/1f64e-200d-2640-fe0f.png | Bin .../emojis/1f64e-200d-2642-fe0f.png | Bin .../emojis/1f64e.png | Bin .../emojis/1f64f.png | Bin .../emojis/1f680.png | Bin .../emojis/1f681.png | Bin .../emojis/1f682.png | Bin .../emojis/1f683.png | Bin .../emojis/1f684.png | Bin .../emojis/1f685.png | Bin .../emojis/1f686.png | Bin .../emojis/1f687.png | Bin .../emojis/1f688.png | Bin .../emojis/1f689.png | Bin .../emojis/1f68a.png | Bin .../emojis/1f68b.png | Bin .../emojis/1f68c.png | Bin .../emojis/1f68d.png | Bin .../emojis/1f68e.png | Bin .../emojis/1f68f.png | Bin .../emojis/1f690.png | Bin .../emojis/1f691.png | Bin .../emojis/1f692.png | Bin .../emojis/1f693.png | Bin .../emojis/1f694.png | Bin .../emojis/1f695.png | Bin .../emojis/1f696.png | Bin .../emojis/1f697.png | Bin .../emojis/1f698.png | Bin .../emojis/1f699.png | Bin .../emojis/1f69a.png | Bin .../emojis/1f69b.png | Bin .../emojis/1f69c.png | Bin .../emojis/1f69d.png | Bin .../emojis/1f69e.png | Bin .../emojis/1f69f.png | Bin .../emojis/1f6a0.png | Bin .../emojis/1f6a1.png | Bin .../emojis/1f6a2.png | Bin .../emojis/1f6a3-200d-2640-fe0f.png | Bin .../emojis/1f6a3-200d-2642-fe0f.png | Bin .../emojis/1f6a3.png | Bin .../emojis/1f6a4.png | Bin .../emojis/1f6a5.png | Bin .../emojis/1f6a6.png | Bin .../emojis/1f6a7.png | Bin .../emojis/1f6a8.png | Bin .../emojis/1f6a9.png | Bin .../emojis/1f6aa.png | Bin .../emojis/1f6ab.png | Bin .../emojis/1f6ac.png | Bin .../emojis/1f6ad.png | Bin .../emojis/1f6ae.png | Bin .../emojis/1f6af.png | Bin .../emojis/1f6b0.png | Bin .../emojis/1f6b1.png | Bin .../emojis/1f6b2.png | Bin .../emojis/1f6b3.png | Bin .../emojis/1f6b4-200d-2640-fe0f.png | Bin .../emojis/1f6b4-200d-2642-fe0f.png | Bin .../emojis/1f6b4.png | Bin .../emojis/1f6b5-200d-2640-fe0f.png | Bin .../emojis/1f6b5-200d-2642-fe0f.png | Bin .../emojis/1f6b5.png | Bin .../emojis/1f6b6-200d-2640-fe0f.png | Bin .../emojis/1f6b6-200d-2642-fe0f.png | Bin .../emojis/1f6b6.png | Bin .../emojis/1f6b7.png | Bin .../emojis/1f6b8.png | Bin .../emojis/1f6b9.png | Bin .../emojis/1f6ba.png | Bin .../emojis/1f6bb.png | Bin .../emojis/1f6bc.png | Bin .../emojis/1f6bd.png | Bin .../emojis/1f6be.png | Bin .../emojis/1f6bf.png | Bin .../emojis/1f6c0.png | Bin .../emojis/1f6c1.png | Bin .../emojis/1f6c2.png | Bin .../emojis/1f6c3.png | Bin .../emojis/1f6c4.png | Bin .../emojis/1f6c5.png | Bin .../emojis/1f6cb.png | Bin .../emojis/1f6cc.png | Bin .../emojis/1f6cd.png | Bin .../emojis/1f6ce.png | Bin .../emojis/1f6cf.png | Bin .../emojis/1f6d0.png | Bin .../emojis/1f6d1.png | Bin .../emojis/1f6d2.png | Bin .../emojis/1f6e0.png | Bin .../emojis/1f6e1.png | Bin .../emojis/1f6e2.png | Bin .../emojis/1f6e3.png | Bin .../emojis/1f6e4.png | Bin .../emojis/1f6e5.png | Bin .../emojis/1f6e9.png | Bin .../emojis/1f6eb.png | Bin .../emojis/1f6ec.png | Bin .../emojis/1f6f0.png | Bin .../emojis/1f6f3.png | Bin .../emojis/1f6f4.png | Bin .../emojis/1f6f5.png | Bin .../emojis/1f6f6.png | Bin .../emojis/1f910.png | Bin .../emojis/1f911.png | Bin .../emojis/1f912.png | Bin .../emojis/1f913.png | Bin .../emojis/1f914.png | Bin .../emojis/1f915.png | Bin .../emojis/1f916.png | Bin .../emojis/1f917.png | Bin .../emojis/1f918.png | Bin .../emojis/1f919.png | Bin .../emojis/1f91a.png | Bin .../emojis/1f91b.png | Bin .../emojis/1f91c.png | Bin .../emojis/1f91d.png | Bin .../emojis/1f91e.png | Bin .../emojis/1f920.png | Bin .../emojis/1f921.png | Bin .../emojis/1f922.png | Bin .../emojis/1f923.png | Bin .../emojis/1f924.png | Bin .../emojis/1f925.png | Bin .../emojis/1f926-200d-2640-fe0f.png | Bin .../emojis/1f926-200d-2642-fe0f.png | Bin .../emojis/1f926.png | Bin .../emojis/1f927.png | Bin .../emojis/1f930.png | Bin .../emojis/1f933.png | Bin .../emojis/1f934.png | Bin .../emojis/1f935.png | Bin .../emojis/1f936.png | Bin .../emojis/1f937-200d-2640-fe0f.png | Bin .../emojis/1f937-200d-2642-fe0f.png | Bin .../emojis/1f937.png | Bin .../emojis/1f938-200d-2640-fe0f.png | Bin .../emojis/1f938-200d-2642-fe0f.png | Bin .../emojis/1f938.png | Bin .../emojis/1f939-200d-2640-fe0f.png | Bin .../emojis/1f939-200d-2642-fe0f.png | Bin .../emojis/1f939.png | Bin .../emojis/1f93a.png | Bin .../emojis/1f93c-200d-2640-fe0f.png | Bin .../emojis/1f93c-200d-2642-fe0f.png | Bin .../emojis/1f93c.png | Bin .../emojis/1f93d-200d-2640-fe0f.png | Bin .../emojis/1f93d-200d-2642-fe0f.png | Bin .../emojis/1f93d.png | Bin .../emojis/1f93e-200d-2640-fe0f.png | Bin .../emojis/1f93e-200d-2642-fe0f.png | Bin .../emojis/1f93e.png | Bin .../emojis/1f940.png | Bin .../emojis/1f941.png | Bin .../emojis/1f942.png | Bin .../emojis/1f943.png | Bin .../emojis/1f944.png | Bin .../emojis/1f945.png | Bin .../emojis/1f947.png | Bin .../emojis/1f948.png | Bin .../emojis/1f949.png | Bin .../emojis/1f94a.png | Bin .../emojis/1f94b.png | Bin .../emojis/1f950.png | Bin .../emojis/1f951.png | Bin .../emojis/1f952.png | Bin .../emojis/1f953.png | Bin .../emojis/1f954.png | Bin .../emojis/1f955.png | Bin .../emojis/1f956.png | Bin .../emojis/1f957.png | Bin .../emojis/1f958.png | Bin .../emojis/1f959.png | Bin .../emojis/1f95a.png | Bin .../emojis/1f95b.png | Bin .../emojis/1f95c.png | Bin .../emojis/1f95d.png | Bin .../emojis/1f95e.png | Bin .../emojis/1f980.png | Bin .../emojis/1f981.png | Bin .../emojis/1f982.png | Bin .../emojis/1f983.png | Bin .../emojis/1f984.png | Bin .../emojis/1f985.png | Bin .../emojis/1f986.png | Bin .../emojis/1f987.png | Bin .../emojis/1f988.png | Bin .../emojis/1f989.png | Bin .../emojis/1f98a.png | Bin .../emojis/1f98b.png | Bin .../emojis/1f98c.png | Bin .../emojis/1f98d.png | Bin .../emojis/1f98e.png | Bin .../emojis/1f98f.png | Bin .../emojis/1f990.png | Bin .../emojis/1f991.png | Bin .../emojis/1f9c0.png | Bin .../emojis/203c.png | Bin .../emojis/2049.png | Bin .../emojis/2122.png | Bin .../emojis/2139.png | Bin .../emojis/2194.png | Bin .../emojis/2195.png | Bin .../emojis/2196.png | Bin .../emojis/2197.png | Bin .../emojis/2198.png | Bin .../emojis/2199.png | Bin .../emojis/21a9.png | Bin .../emojis/21aa.png | Bin .../emojis/231a.png | Bin .../emojis/231b.png | Bin .../emojis/2328.png | Bin .../emojis/23cf.png | Bin .../emojis/23e9.png | Bin .../emojis/23ea.png | Bin .../emojis/23eb.png | Bin .../emojis/23ec.png | Bin .../emojis/23ed.png | Bin .../emojis/23ee.png | Bin .../emojis/23ef.png | Bin .../emojis/23f0.png | Bin .../emojis/23f1.png | Bin .../emojis/23f2.png | Bin .../emojis/23f3.png | Bin .../emojis/23f8.png | Bin .../emojis/23f9.png | Bin .../emojis/23fa.png | Bin .../emojis/24c2.png | Bin .../emojis/25aa.png | Bin .../emojis/25ab.png | Bin .../emojis/25b6.png | Bin .../emojis/25c0.png | Bin .../emojis/25fb.png | Bin .../emojis/25fc.png | Bin .../emojis/25fd.png | Bin .../emojis/25fe.png | Bin .../emojis/2600.png | Bin .../emojis/2601.png | Bin .../emojis/2602.png | Bin .../emojis/2603.png | Bin .../emojis/2604.png | Bin .../emojis/260e.png | Bin .../emojis/2611.png | Bin .../emojis/2614.png | Bin .../emojis/2615.png | Bin .../emojis/2618.png | Bin .../emojis/261d.png | Bin .../emojis/2620.png | Bin .../emojis/2622.png | Bin .../emojis/2623.png | Bin .../emojis/2626.png | Bin .../emojis/262a.png | Bin .../emojis/262e.png | Bin .../emojis/262f.png | Bin .../emojis/2638.png | Bin .../emojis/2639.png | Bin .../emojis/263a.png | Bin .../emojis/2640.png | Bin .../emojis/2642.png | Bin .../emojis/2648.png | Bin .../emojis/2649.png | Bin .../emojis/264a.png | Bin .../emojis/264b.png | Bin .../emojis/264c.png | Bin .../emojis/264d.png | Bin .../emojis/264e.png | Bin .../emojis/264f.png | Bin .../emojis/2650.png | Bin .../emojis/2651.png | Bin .../emojis/2652.png | Bin .../emojis/2653.png | Bin .../emojis/2660.png | Bin .../emojis/2663.png | Bin .../emojis/2665.png | Bin .../emojis/2666.png | Bin .../emojis/2668.png | Bin .../emojis/267b.png | Bin .../emojis/267f.png | Bin .../emojis/2692.png | Bin .../emojis/2693.png | Bin .../emojis/2694.png | Bin .../emojis/2695.png | Bin .../emojis/2696.png | Bin .../emojis/2697.png | Bin .../emojis/2699.png | Bin .../emojis/269b.png | Bin .../emojis/269c.png | Bin .../emojis/26a0.png | Bin .../emojis/26a1.png | Bin .../emojis/26aa.png | Bin .../emojis/26ab.png | Bin .../emojis/26b0.png | Bin .../emojis/26b1.png | Bin .../emojis/26bd.png | Bin .../emojis/26be.png | Bin .../emojis/26c4.png | Bin .../emojis/26c5.png | Bin .../emojis/26c8.png | Bin .../emojis/26ce.png | Bin .../emojis/26cf.png | Bin .../emojis/26d1.png | Bin .../emojis/26d3.png | Bin .../emojis/26d4.png | Bin .../emojis/26e9.png | Bin .../emojis/26ea.png | Bin .../emojis/26f0.png | Bin .../emojis/26f1.png | Bin .../emojis/26f2.png | Bin .../emojis/26f3.png | Bin .../emojis/26f4.png | Bin .../emojis/26f5.png | Bin .../emojis/26f7.png | Bin .../emojis/26f8.png | Bin .../emojis/26f9-fe0f-200d-2640-fe0f.png | Bin .../emojis/26f9-fe0f-200d-2642-fe0f.png | Bin .../emojis/26f9.png | Bin .../emojis/26fa.png | Bin .../emojis/26fd.png | Bin .../emojis/2702.png | Bin .../emojis/2705.png | Bin .../emojis/2708.png | Bin .../emojis/2709.png | Bin .../emojis/270a.png | Bin .../emojis/270b.png | Bin .../emojis/270c.png | Bin .../emojis/270d.png | Bin .../emojis/270f.png | Bin .../emojis/2712.png | Bin .../emojis/2714.png | Bin .../emojis/2716.png | Bin .../emojis/271d.png | Bin .../emojis/2721.png | Bin .../emojis/2728.png | Bin .../emojis/2733.png | Bin .../emojis/2734.png | Bin .../emojis/2744.png | Bin .../emojis/2747.png | Bin .../emojis/274c.png | Bin .../emojis/274e.png | Bin .../emojis/2753.png | Bin .../emojis/2754.png | Bin .../emojis/2755.png | Bin .../emojis/2757.png | Bin .../emojis/2763.png | Bin .../emojis/2764.png | Bin .../emojis/2795.png | Bin .../emojis/2796.png | Bin .../emojis/2797.png | Bin .../emojis/27a1.png | Bin .../emojis/27b0.png | Bin .../emojis/27bf.png | Bin .../emojis/2934.png | Bin .../emojis/2935.png | Bin .../emojis/2b05.png | Bin .../emojis/2b06.png | Bin .../emojis/2b07.png | Bin .../emojis/2b1b.png | Bin .../emojis/2b1c.png | Bin .../emojis/2b50.png | Bin .../emojis/2b55.png | Bin .../emojis/3030.png | Bin .../emojis/303d.png | Bin .../emojis/3297.png | Bin .../emojis/3299.png | Bin .../emojis/emojis-data.json | 0 .../fonts/OpenSans-Bold.ttf | Bin .../fonts/OpenSans-CondLight.eot | Bin .../fonts/OpenSans-CondLight.svg | 0 .../fonts/OpenSans-CondLight.ttf | Bin .../fonts/OpenSans-CondLight.woff | Bin .../fonts/OpenSans-Light.ttf | Bin .../fonts/OpenSans-Regular.ttf | Bin .../fonts/OpenSans-Semibold.ttf | Bin .../fonts/taiga.eot | Bin .../fonts/taiga.svg | 0 .../fonts/taiga.ttf | Bin .../fonts/taiga.woff | Bin .../images/attachment-gallery.png | Bin dist/{ => v-1537436040060}/images/bg.png | Bin .../{ => v-1537436040060}/images/discover.png | Bin .../images/empty/empty_contact.png | Bin .../images/empty/empty_des.png | Bin .../images/empty/empty_field.png | Bin .../images/empty/empty_like.png | Bin .../images/empty/empty_mex.png | Bin .../images/empty/empty_moon.png | Bin .../images/empty/empty_sprint.png | Bin .../images/empty/empty_tex.png | Bin .../images/empty/empty_upvote.png | Bin .../images/empty/empty_watch.png | Bin .../images/epics-empty.png | Bin dist/{ => v-1537436040060}/images/favicon.png | Bin .../images/import-logos/asana.png | Bin .../images/import-logos/github.png | Bin .../images/import-logos/jira.png | Bin .../images/import-logos/trello.png | Bin .../images/invitation_bg.jpg | Bin .../images/logo-color.png | Bin dist/{ => v-1537436040060}/images/logo.png | Bin .../images/looking-for-people.png | Bin .../images/markitup/bg-container.png | Bin .../images/markitup/bg-editor-bbcode.png | Bin .../images/markitup/bg-editor-dotclear.png | Bin .../images/markitup/bg-editor-html.png | Bin .../images/markitup/bg-editor-json.png | Bin .../images/markitup/bg-editor-markdown.png | Bin .../images/markitup/bg-editor-textile.png | Bin .../images/markitup/bg-editor-wiki.png | Bin .../images/markitup/bg-editor-xml.png | Bin .../images/markitup/bg-editor.png | Bin dist/v-1537436040060/images/markitup/body.png | Bin 0 -> 130 bytes .../images/markitup/bold.png | Bin .../images/markitup/clean.png | Bin .../images/markitup/code.png | Bin .../images/markitup/h1.png | Bin .../images/markitup/h2.png | Bin .../images/markitup/h3.png | Bin .../images/markitup/h4.png | Bin .../images/markitup/h5.png | Bin .../images/markitup/h6.png | Bin .../images/markitup/handle.png | Bin .../images/markitup/help.png | Bin .../images/markitup/image.png | Bin .../images/markitup/italic.png | Bin .../images/markitup/jaysalvat.png | Bin .../images/markitup/link.png | Bin .../images/markitup/list-bullet.png | Bin .../images/markitup/list-numeric.png | Bin .../images/markitup/markitup.png | Bin .../images/markitup/menu.png | Bin .../images/markitup/picture.png | Bin .../images/markitup/preview.png | Bin .../images/markitup/preview_ico.png | Bin .../images/markitup/quotes.png | Bin .../images/markitup/stroke.png | Bin .../images/markitup/submenu.png | Bin .../images/menu-vert.png | Bin dist/{ => v-1537436040060}/images/menu.png | Bin .../images/monster-fight.png | Bin .../images/notification-decoration.png | Bin .../images/project-logos/project-logo-01.png | Bin .../images/project-logos/project-logo-02.png | Bin .../images/project-logos/project-logo-03.png | Bin .../images/project-logos/project-logo-04.png | Bin .../images/project-logos/project-logo-05.png | Bin dist/{ => v-1537436040060}/images/quote.png | Bin .../images/tribe-logo.png | Bin dist/{ => v-1537436040060}/images/unnamed.png | Bin .../images/user-avatars/user-avatar-01.png | Bin .../images/user-avatars/user-avatar-02.png | Bin .../images/user-avatars/user-avatar-03.png | Bin .../images/user-avatars/user-avatar-04.png | Bin .../images/user-avatars/user-avatar-05.png | Bin .../images/user-noimage.png | Bin dist/v-1537436040060/js/app-loader.js | 1 + dist/v-1537436040060/js/app.js | 24 +++ .../js/libs.js | 33 ++-- dist/v-1537436040060/js/maps/app.js.map | 1 + dist/v-1537436040060/js/maps/libs.js.map | 1 + dist/v-1537436040060/js/templates.js | 18 +++ .../locales/moment-locales/af.js | 0 .../locales/moment-locales/ar-dz.js | 0 .../locales/moment-locales/ar-kw.js | 0 .../locales/moment-locales/ar-ly.js | 0 .../locales/moment-locales/ar-ma.js | 0 .../locales/moment-locales/ar-sa.js | 0 .../locales/moment-locales/ar-tn.js | 0 .../locales/moment-locales/ar.js | 0 .../locales/moment-locales/az.js | 0 .../locales/moment-locales/be.js | 0 .../locales/moment-locales/bg.js | 0 .../locales/moment-locales/bm.js | 0 .../locales/moment-locales/bn.js | 0 .../locales/moment-locales/bo.js | 0 .../locales/moment-locales/br.js | 0 .../locales/moment-locales/bs.js | 0 .../locales/moment-locales/ca.js | 0 .../locales/moment-locales/cs.js | 0 .../locales/moment-locales/cv.js | 0 .../locales/moment-locales/cy.js | 0 .../locales/moment-locales/da.js | 0 .../locales/moment-locales/de-at.js | 0 .../locales/moment-locales/de-ch.js | 0 .../locales/moment-locales/de.js | 0 .../locales/moment-locales/dv.js | 0 .../locales/moment-locales/el.js | 0 .../locales/moment-locales/en-au.js | 0 .../locales/moment-locales/en-ca.js | 0 .../locales/moment-locales/en-gb.js | 0 .../locales/moment-locales/en-ie.js | 0 .../locales/moment-locales/en-il.js | 0 .../locales/moment-locales/en-nz.js | 0 .../locales/moment-locales/eo.js | 0 .../locales/moment-locales/es-do.js | 0 .../locales/moment-locales/es-us.js | 0 .../locales/moment-locales/es.js | 0 .../locales/moment-locales/et.js | 0 .../locales/moment-locales/eu.js | 0 .../locales/moment-locales/fa.js | 0 .../locales/moment-locales/fi.js | 0 .../locales/moment-locales/fo.js | 0 .../locales/moment-locales/fr-ca.js | 0 .../locales/moment-locales/fr-ch.js | 0 .../locales/moment-locales/fr.js | 0 .../locales/moment-locales/fy.js | 0 .../locales/moment-locales/gd.js | 0 .../locales/moment-locales/gl.js | 0 .../locales/moment-locales/gom-latn.js | 1 + .../locales/moment-locales/gu.js | 0 .../locales/moment-locales/he.js | 0 .../locales/moment-locales/hi.js | 0 .../locales/moment-locales/hr.js | 0 .../locales/moment-locales/hu.js | 0 .../locales/moment-locales/hy-am.js | 0 .../locales/moment-locales/id.js | 0 .../locales/moment-locales/is.js | 0 .../locales/moment-locales/it.js | 0 .../locales/moment-locales/ja.js | 2 +- .../locales/moment-locales/jv.js | 0 .../locales/moment-locales/ka.js | 2 +- .../locales/moment-locales/kk.js | 0 .../locales/moment-locales/km.js | 1 + .../locales/moment-locales/kn.js | 0 .../locales/moment-locales/ko.js | 0 .../locales/moment-locales/ky.js | 0 .../locales/moment-locales/lb.js | 0 .../locales/moment-locales/lo.js | 0 .../locales/moment-locales/lt.js | 0 .../locales/moment-locales/lv.js | 0 .../locales/moment-locales/me.js | 0 .../locales/moment-locales/mi.js | 0 .../locales/moment-locales/mk.js | 0 .../locales/moment-locales/ml.js | 0 .../locales/moment-locales/mr.js | 0 .../locales/moment-locales/ms-my.js | 0 .../locales/moment-locales/ms.js | 0 .../locales/moment-locales/mt.js | 0 .../locales/moment-locales/my.js | 0 .../locales/moment-locales/nb.js | 0 .../locales/moment-locales/ne.js | 0 .../locales/moment-locales/nl-be.js | 0 .../locales/moment-locales/nl.js | 0 .../locales/moment-locales/nn.js | 0 .../locales/moment-locales/pa-in.js | 0 .../locales/moment-locales/pl.js | 0 .../locales/moment-locales/pt-br.js | 0 .../locales/moment-locales/pt.js | 0 .../locales/moment-locales/ro.js | 0 .../locales/moment-locales/ru.js | 2 +- .../locales/moment-locales/sd.js | 0 .../locales/moment-locales/se.js | 0 .../locales/moment-locales/si.js | 0 .../locales/moment-locales/sk.js | 0 .../locales/moment-locales/sl.js | 0 .../locales/moment-locales/sq.js | 0 .../locales/moment-locales/sr-cyrl.js | 0 .../locales/moment-locales/sr.js | 0 .../locales/moment-locales/ss.js | 0 .../locales/moment-locales/sv.js | 0 .../locales/moment-locales/sw.js | 0 .../locales/moment-locales/ta.js | 0 .../locales/moment-locales/te.js | 0 .../locales/moment-locales/tet.js | 0 .../locales/moment-locales/tg.js | 0 .../locales/moment-locales/th.js | 0 .../locales/moment-locales/tl-ph.js | 0 .../locales/moment-locales/tlh.js | 0 .../locales/moment-locales/tr.js | 0 .../locales/moment-locales/tzl.js | 0 .../locales/moment-locales/tzm-latn.js | 0 .../locales/moment-locales/tzm.js | 0 .../locales/moment-locales/ug-cn.js | 0 .../locales/moment-locales/uk.js | 0 .../locales/moment-locales/ur.js | 0 .../locales/moment-locales/uz-latn.js | 0 .../locales/moment-locales/uz.js | 0 .../locales/moment-locales/vi.js | 0 .../locales/moment-locales/x-pseudo.js | 0 .../locales/moment-locales/yo.js | 0 .../locales/moment-locales/zh-cn.js | 0 .../locales/moment-locales/zh-hk.js | 0 .../locales/moment-locales/zh-tw.js | 2 +- .../locales/taiga/locale-ca.json | 1 + .../locales/taiga/locale-de.json | 1 + .../locales/taiga/locale-en.json | 1 + .../locales/taiga/locale-es.json | 1 + .../locales/taiga/locale-fa.json | 1 + .../locales/taiga/locale-fi.json | 1 + .../locales/taiga/locale-fr.json | 1 + .../locales/taiga/locale-it.json | 1 + .../locales/taiga/locale-ja.json | 1 + .../locales/taiga/locale-ko.json | 1 + .../locales/taiga/locale-nb.json | 1 + .../locales/taiga/locale-nl.json | 1 + .../locales/taiga/locale-pl.json | 1 + .../locales/taiga/locale-pt-br.json | 1 + .../locales/taiga/locale-ru.json | 1 + .../locales/taiga/locale-sv.json | 1 + .../locales/taiga/locale-tr.json | 2 +- .../locales/taiga/locale-zh-hans.json | 1 + .../locales/taiga/locale-zh-hant.json | 1 + .../prism/prism-abap.min.js | 0 .../prism/prism-actionscript.min.js | 0 .../prism/prism-ada.min.js | 0 .../prism/prism-apacheconf.min.js | 0 .../prism/prism-apl.min.js | 0 .../prism/prism-applescript.min.js | 1 + .../prism/prism-arduino.min.js | 0 .../prism/prism-asciidoc.min.js | 0 .../prism/prism-asm6502.min.js | 2 +- .../prism/prism-aspnet.min.js | 0 .../prism/prism-autohotkey.min.js | 1 + .../prism/prism-autoit.min.js | 0 dist/v-1537436040060/prism/prism-bash.min.js | 1 + dist/v-1537436040060/prism/prism-basic.min.js | 1 + .../prism/prism-batch.min.js | 0 .../prism/prism-bison.min.js | 0 .../prism/prism-brainfuck.min.js | 0 .../prism/prism-bro.min.js | 2 +- dist/v-1537436040060/prism/prism-c.min.js | 1 + dist/v-1537436040060/prism/prism-clike.min.js | 1 + .../prism/prism-coffeescript.min.js | 0 dist/v-1537436040060/prism/prism-core.min.js | 1 + .../prism/prism-cpp.min.js | 0 .../prism/prism-crystal.min.js | 1 + .../v-1537436040060/prism/prism-csharp.min.js | 1 + .../prism/prism-csp.min.js | 2 +- .../prism/prism-css-extras.min.js | 0 dist/v-1537436040060/prism/prism-css.min.js | 1 + .../prism/prism-d.min.js | 0 .../prism/prism-dart.min.js | 0 .../prism/prism-diff.min.js | 0 .../prism/prism-django.min.js | 0 .../prism/prism-docker.min.js | 0 .../prism/prism-eiffel.min.js | 2 +- .../v-1537436040060/prism/prism-elixir.min.js | 1 + .../prism/prism-elm.min.js | 0 .../v-1537436040060/prism/prism-erlang.min.js | 1 + .../prism/prism-flow.min.js | 0 .../prism/prism-fortran.min.js | 1 + .../prism/prism-fsharp.min.js | 2 +- .../prism/prism-gherkin.min.js | 0 .../prism/prism-git.min.js | 0 dist/v-1537436040060/prism/prism-glsl.min.js | 1 + .../prism/prism-go.min.js | 2 +- .../prism/prism-graphql.min.js | 1 + .../prism/prism-groovy.min.js | 0 .../prism/prism-haml.min.js | 0 .../prism/prism-handlebars.min.js | 1 + .../prism/prism-haskell.min.js | 0 .../prism/prism-haxe.min.js | 2 +- dist/v-1537436040060/prism/prism-hpkp.min.js | 1 + dist/v-1537436040060/prism/prism-hsts.min.js | 1 + .../prism/prism-http.min.js | 0 .../prism/prism-ichigojam.min.js | 1 + .../prism/prism-icon.min.js | 0 .../prism/prism-inform7.min.js | 1 + .../prism/prism-ini.min.js | 0 .../prism/prism-io.min.js | 2 +- .../prism/prism-j.min.js | 0 dist/v-1537436040060/prism/prism-java.min.js | 1 + .../prism/prism-javascript.min.js | 1 + dist/v-1537436040060/prism/prism-jolie.min.js | 1 + dist/v-1537436040060/prism/prism-json.min.js | 1 + dist/v-1537436040060/prism/prism-jsx.min.js | 1 + .../prism/prism-julia.min.js | 2 +- .../prism/prism-keyman.min.js | 0 .../prism/prism-kotlin.min.js | 2 +- .../prism/prism-languages.json | 1 + .../prism/prism-latex.min.js | 0 .../prism/prism-less.min.js | 0 .../prism/prism-livescript.min.js | 0 .../prism/prism-lolcode.min.js | 1 + .../prism/prism-lua.min.js | 0 .../prism/prism-makefile.min.js | 0 .../prism/prism-markdown.min.js | 2 +- .../v-1537436040060/prism/prism-markup.min.js | 1 + .../v-1537436040060/prism/prism-matlab.min.js | 1 + dist/v-1537436040060/prism/prism-mel.min.js | 1 + .../prism/prism-mizar.min.js | 0 .../v-1537436040060/prism/prism-monkey.min.js | 1 + .../prism/prism-n4js.min.js | 2 +- .../prism/prism-nasm.min.js | 2 +- .../prism/prism-nginx.min.js | 0 .../prism/prism-nim.min.js | 0 .../prism/prism-nix.min.js | 2 +- dist/v-1537436040060/prism/prism-nsis.min.js | 1 + .../prism/prism-objectivec.min.js | 0 dist/v-1537436040060/prism/prism-ocaml.min.js | 1 + .../prism/prism-opencl.min.js | 0 .../prism/prism-oz.min.js | 0 .../prism/prism-parigp.min.js | 0 .../prism/prism-parser.min.js | 0 .../prism/prism-pascal.min.js | 2 +- .../prism/prism-perl.min.js | 2 +- .../prism/prism-php-extras.min.js | 0 dist/v-1537436040060/prism/prism-php.min.js | 1 + .../prism/prism-powershell.min.js | 1 + .../prism/prism-processing.min.js | 0 .../prism/prism-prolog.min.js | 0 .../prism/prism-properties.min.js | 0 .../prism/prism-protobuf.min.js | 0 .../prism/prism-pug.min.js | 0 .../v-1537436040060/prism/prism-puppet.min.js | 1 + .../prism/prism-pure.min.js | 0 .../prism/prism-python.min.js | 2 +- dist/v-1537436040060/prism/prism-q.min.js | 1 + .../prism/prism-qore.min.js | 0 dist/v-1537436040060/prism/prism-r.min.js | 1 + .../prism/prism-reason.min.js | 0 .../prism/prism-renpy.min.js | 2 +- .../prism/prism-rest.min.js | 0 .../prism/prism-rip.min.js | 0 .../prism/prism-roboconf.min.js | 0 dist/v-1537436040060/prism/prism-ruby.min.js | 1 + dist/v-1537436040060/prism/prism-rust.min.js | 1 + .../prism/prism-sas.min.js | 2 +- .../prism/prism-sass.min.js | 0 .../prism/prism-scala.min.js | 2 +- .../prism/prism-scheme.min.js | 2 +- .../prism/prism-scss.min.js | 2 +- .../prism/prism-smalltalk.min.js | 2 +- .../v-1537436040060/prism/prism-smarty.min.js | 1 + dist/v-1537436040060/prism/prism-sql.min.js | 1 + .../v-1537436040060/prism/prism-stylus.min.js | 1 + .../prism/prism-swift.min.js | 2 +- .../prism/prism-tcl.min.js | 0 .../prism/prism-textile.min.js | 1 + .../prism/prism-tsx.min.js | 0 .../prism/prism-twig.min.js | 2 +- .../prism/prism-typescript.min.js | 2 +- .../prism/prism-vbnet.min.js | 0 .../prism/prism-verilog.min.js | 0 .../prism/prism-vhdl.min.js | 0 .../prism/prism-vim.min.js | 0 .../prism/prism-wiki.min.js | 0 .../prism/prism-xeora.min.js | 0 dist/v-1537436040060/prism/prism-xojo.min.js | 1 + .../prism/prism-yaml.min.js | 2 +- .../styles/theme-high-contrast.css | 4 + .../styles/theme-material-design.css | 4 + dist/v-1537436040060/styles/theme-taiga.css | 4 + .../svg/editor.svg | 0 .../svg/icons/block-user.svg | 0 .../svg/icons/multi-block-project.svg | 0 .../svg/icons/project-limit.svg | 0 .../svg/icons/team-question.svg | 0 .../svg/logo-color.svg | 0 .../svg/logo-moustache.svg | 0 .../svg/logo-nav.svg | 0 .../svg/logo.svg | 0 .../svg/pattern.svg | 0 .../svg/spinner-circle.svg | 0 .../svg/spinner.svg | 148 +++++++++--------- .../svg/sprite.svg | 0 2043 files changed, 251 insertions(+), 264 deletions(-) create mode 120000 dist/images delete mode 100755 dist/images/markitup/body.png delete mode 100644 dist/v-1535381918818/images/attachment-gallery.png delete mode 100644 dist/v-1535381918818/images/bg.png delete mode 100644 dist/v-1535381918818/images/discover.png delete mode 100644 dist/v-1535381918818/images/empty/empty_contact.png delete mode 100644 dist/v-1535381918818/images/empty/empty_des.png delete mode 100644 dist/v-1535381918818/images/empty/empty_field.png delete mode 100644 dist/v-1535381918818/images/empty/empty_like.png delete mode 100644 dist/v-1535381918818/images/empty/empty_mex.png delete mode 100644 dist/v-1535381918818/images/empty/empty_moon.png delete mode 100644 dist/v-1535381918818/images/empty/empty_sprint.png delete mode 100644 dist/v-1535381918818/images/empty/empty_tex.png delete mode 100644 dist/v-1535381918818/images/empty/empty_upvote.png delete mode 100644 dist/v-1535381918818/images/empty/empty_watch.png delete mode 100644 dist/v-1535381918818/images/epics-empty.png delete mode 100644 dist/v-1535381918818/images/favicon.png delete mode 100644 dist/v-1535381918818/images/import-logos/asana.png delete mode 100644 dist/v-1535381918818/images/import-logos/github.png delete mode 100644 dist/v-1535381918818/images/import-logos/jira.png delete mode 100644 dist/v-1535381918818/images/import-logos/trello.png delete mode 100644 dist/v-1535381918818/images/invitation_bg.jpg delete mode 100644 dist/v-1535381918818/images/logo-color.png delete mode 100644 dist/v-1535381918818/images/logo.png delete mode 100644 dist/v-1535381918818/images/looking-for-people.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-container.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-bbcode.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-dotclear.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-html.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-json.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-markdown.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-textile.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-wiki.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor-xml.png delete mode 100755 dist/v-1535381918818/images/markitup/bg-editor.png delete mode 100755 dist/v-1535381918818/images/markitup/body.png delete mode 100644 dist/v-1535381918818/images/markitup/bold.png delete mode 100755 dist/v-1535381918818/images/markitup/clean.png delete mode 100644 dist/v-1535381918818/images/markitup/code.png delete mode 100644 dist/v-1535381918818/images/markitup/h1.png delete mode 100644 dist/v-1535381918818/images/markitup/h2.png delete mode 100644 dist/v-1535381918818/images/markitup/h3.png delete mode 100644 dist/v-1535381918818/images/markitup/h4.png delete mode 100644 dist/v-1535381918818/images/markitup/h5.png delete mode 100644 dist/v-1535381918818/images/markitup/h6.png delete mode 100755 dist/v-1535381918818/images/markitup/handle.png delete mode 100644 dist/v-1535381918818/images/markitup/help.png delete mode 100755 dist/v-1535381918818/images/markitup/image.png delete mode 100644 dist/v-1535381918818/images/markitup/italic.png delete mode 100755 dist/v-1535381918818/images/markitup/jaysalvat.png delete mode 100755 dist/v-1535381918818/images/markitup/link.png delete mode 100644 dist/v-1535381918818/images/markitup/list-bullet.png delete mode 100755 dist/v-1535381918818/images/markitup/list-numeric.png delete mode 100755 dist/v-1535381918818/images/markitup/markitup.png delete mode 100755 dist/v-1535381918818/images/markitup/menu.png delete mode 100644 dist/v-1535381918818/images/markitup/picture.png delete mode 100755 dist/v-1535381918818/images/markitup/preview.png delete mode 100644 dist/v-1535381918818/images/markitup/preview_ico.png delete mode 100644 dist/v-1535381918818/images/markitup/quotes.png delete mode 100644 dist/v-1535381918818/images/markitup/stroke.png delete mode 100755 dist/v-1535381918818/images/markitup/submenu.png delete mode 100644 dist/v-1535381918818/images/menu-vert.png delete mode 100644 dist/v-1535381918818/images/menu.png delete mode 100644 dist/v-1535381918818/images/monster-fight.png delete mode 100644 dist/v-1535381918818/images/notification-decoration.png delete mode 100644 dist/v-1535381918818/images/project-logos/project-logo-01.png delete mode 100644 dist/v-1535381918818/images/project-logos/project-logo-02.png delete mode 100644 dist/v-1535381918818/images/project-logos/project-logo-03.png delete mode 100644 dist/v-1535381918818/images/project-logos/project-logo-04.png delete mode 100644 dist/v-1535381918818/images/project-logos/project-logo-05.png delete mode 100644 dist/v-1535381918818/images/quote.png delete mode 100644 dist/v-1535381918818/images/tribe-logo.png delete mode 100644 dist/v-1535381918818/images/unnamed.png delete mode 100644 dist/v-1535381918818/images/user-avatars/user-avatar-01.png delete mode 100644 dist/v-1535381918818/images/user-avatars/user-avatar-02.png delete mode 100644 dist/v-1535381918818/images/user-avatars/user-avatar-03.png delete mode 100644 dist/v-1535381918818/images/user-avatars/user-avatar-04.png delete mode 100644 dist/v-1535381918818/images/user-avatars/user-avatar-05.png delete mode 100644 dist/v-1535381918818/images/user-noimage.png delete mode 100644 dist/v-1535381918818/js/app-loader.js delete mode 100644 dist/v-1535381918818/js/app.js delete mode 100644 dist/v-1535381918818/js/maps/app.js.map delete mode 100644 dist/v-1535381918818/js/maps/libs.js.map delete mode 100644 dist/v-1535381918818/js/templates.js delete mode 100644 dist/v-1535381918818/locales/moment-locales/gom-latn.js delete mode 100644 dist/v-1535381918818/locales/moment-locales/km.js delete mode 100644 dist/v-1535381918818/locales/moment-locales/mn.js delete mode 100644 dist/v-1535381918818/locales/taiga/locale-ca.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-de.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-en.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-es.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-fa.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-fi.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-fr.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-it.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-ja.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-ko.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-nb.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-nl.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-pl.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-pt-br.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-ru.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-sv.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-zh-hans.json delete mode 100644 dist/v-1535381918818/locales/taiga/locale-zh-hant.json delete mode 100644 dist/v-1535381918818/prism/prism-applescript.min.js delete mode 100644 dist/v-1535381918818/prism/prism-arff.min.js delete mode 100644 dist/v-1535381918818/prism/prism-autohotkey.min.js delete mode 100644 dist/v-1535381918818/prism/prism-bash.min.js delete mode 100644 dist/v-1535381918818/prism/prism-basic.min.js delete mode 100644 dist/v-1535381918818/prism/prism-c.min.js delete mode 100644 dist/v-1535381918818/prism/prism-clike.min.js delete mode 100644 dist/v-1535381918818/prism/prism-clojure.min.js delete mode 100644 dist/v-1535381918818/prism/prism-core.min.js delete mode 100644 dist/v-1535381918818/prism/prism-crystal.min.js delete mode 100644 dist/v-1535381918818/prism/prism-csharp.min.js delete mode 100644 dist/v-1535381918818/prism/prism-css.min.js delete mode 100644 dist/v-1535381918818/prism/prism-elixir.min.js delete mode 100644 dist/v-1535381918818/prism/prism-erb.min.js delete mode 100644 dist/v-1535381918818/prism/prism-erlang.min.js delete mode 100644 dist/v-1535381918818/prism/prism-fortran.min.js delete mode 100644 dist/v-1535381918818/prism/prism-gedcom.min.js delete mode 100644 dist/v-1535381918818/prism/prism-glsl.min.js delete mode 100644 dist/v-1535381918818/prism/prism-graphql.min.js delete mode 100644 dist/v-1535381918818/prism/prism-handlebars.min.js delete mode 100644 dist/v-1535381918818/prism/prism-hpkp.min.js delete mode 100644 dist/v-1535381918818/prism/prism-hsts.min.js delete mode 100644 dist/v-1535381918818/prism/prism-ichigojam.min.js delete mode 100644 dist/v-1535381918818/prism/prism-inform7.min.js delete mode 100644 dist/v-1535381918818/prism/prism-java.min.js delete mode 100644 dist/v-1535381918818/prism/prism-javascript.min.js delete mode 100644 dist/v-1535381918818/prism/prism-jolie.min.js delete mode 100644 dist/v-1535381918818/prism/prism-json.min.js delete mode 100644 dist/v-1535381918818/prism/prism-jsx.min.js delete mode 100644 dist/v-1535381918818/prism/prism-languages.json delete mode 100644 dist/v-1535381918818/prism/prism-liquid.min.js delete mode 100644 dist/v-1535381918818/prism/prism-lisp.min.js delete mode 100644 dist/v-1535381918818/prism/prism-lolcode.min.js delete mode 100644 dist/v-1535381918818/prism/prism-markup-templating.min.js delete mode 100644 dist/v-1535381918818/prism/prism-markup.min.js delete mode 100644 dist/v-1535381918818/prism/prism-matlab.min.js delete mode 100644 dist/v-1535381918818/prism/prism-mel.min.js delete mode 100644 dist/v-1535381918818/prism/prism-monkey.min.js delete mode 100644 dist/v-1535381918818/prism/prism-nsis.min.js delete mode 100644 dist/v-1535381918818/prism/prism-ocaml.min.js delete mode 100644 dist/v-1535381918818/prism/prism-php.min.js delete mode 100644 dist/v-1535381918818/prism/prism-plsql.min.js delete mode 100644 dist/v-1535381918818/prism/prism-powershell.min.js delete mode 100644 dist/v-1535381918818/prism/prism-puppet.min.js delete mode 100644 dist/v-1535381918818/prism/prism-q.min.js delete mode 100644 dist/v-1535381918818/prism/prism-r.min.js delete mode 100644 dist/v-1535381918818/prism/prism-ruby.min.js delete mode 100644 dist/v-1535381918818/prism/prism-rust.min.js delete mode 100644 dist/v-1535381918818/prism/prism-smarty.min.js delete mode 100644 dist/v-1535381918818/prism/prism-soy.min.js delete mode 100644 dist/v-1535381918818/prism/prism-sql.min.js delete mode 100644 dist/v-1535381918818/prism/prism-stylus.min.js delete mode 100644 dist/v-1535381918818/prism/prism-textile.min.js delete mode 100644 dist/v-1535381918818/prism/prism-velocity.min.js delete mode 100644 dist/v-1535381918818/prism/prism-visual-basic.min.js delete mode 100644 dist/v-1535381918818/prism/prism-wasm.min.js delete mode 100644 dist/v-1535381918818/prism/prism-xojo.min.js delete mode 100644 dist/v-1535381918818/styles/theme-high-contrast.css delete mode 100644 dist/v-1535381918818/styles/theme-material-design.css delete mode 100644 dist/v-1535381918818/styles/theme-taiga.css rename dist/{v-1535381918818 => v-1537436040060}/emojis/0023-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/002a-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0030-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0031-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0032-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0033-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0034-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0035-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0036-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0037-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0038-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/0039-20e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f004.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f0cf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f170.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f171.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f17e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f17f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f18e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f191.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f192.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f193.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f194.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f195.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f196.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f197.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f198.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f199.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f19a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1f6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e6-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1e7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e7-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e8-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e9-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e9-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e9-1f1ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e9-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e9-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e9-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1e9-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ea-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1eb-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1eb-1f1ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1eb-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1eb-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1eb-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1eb-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1e7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ec-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ed-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ed-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ed-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ed-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ed-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ed-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ee-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ef-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ef-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ef-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ef-1f1f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f0-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1e7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f1-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f2-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f3-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f4-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f5-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f6-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f7-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f7-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f7-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f7-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f7-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1e7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f8-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1f9-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fa-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fa-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fa-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fa-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fa-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fa-1f1fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fa-1f1ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fb-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fb-1f1e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fb-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fb-1f1ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fb-1f1ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fb-1f1f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fb-1f1fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fc-1f1eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fc-1f1f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fd-1f1f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fe-1f1ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1fe-1f1f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ff-1f1e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ff-1f1f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f1ff-1f1fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f201.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f202.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f21a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f22f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f232.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f233.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f234.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f235.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f236.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f237.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f238.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f239.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f23a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f250.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f251.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f300.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f301.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f302.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f303.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f304.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f305.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f306.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f307.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f308.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f309.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f30a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f30b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f30c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f30d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f30e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f30f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f310.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f311.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f312.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f313.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f314.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f315.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f316.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f317.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f318.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f319.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f31a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f31b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f31c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f31d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f31e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f31f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f320.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f321.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f324.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f325.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f326.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f327.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f328.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f329.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f32a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f32b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f32c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f32d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f32e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f32f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f330.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f331.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f332.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f333.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f334.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f335.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f336.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f337.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f338.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f339.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f33a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f33b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f33c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f33d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f33e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f33f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f340.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f341.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f342.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f343.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f344.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f345.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f346.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f347.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f348.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f349.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f34a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f34b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f34c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f34d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f34e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f34f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f350.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f351.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f352.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f353.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f354.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f355.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f356.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f357.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f358.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f359.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f35a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f35b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f35c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f35d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f35e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f35f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f360.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f361.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f362.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f363.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f364.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f365.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f366.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f367.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f368.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f369.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f36a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f36b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f36c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f36d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f36e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f36f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f370.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f371.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f372.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f373.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f374.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f375.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f376.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f377.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f378.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f379.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f37a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f37b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f37c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f37d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f37e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f37f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f380.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f381.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f382.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f383.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f384.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f385.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f386.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f387.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f388.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f389.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f38a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f38b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f38c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f38d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f38e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f38f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f390.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f391.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f392.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f393.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f396.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f397.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f399.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f39a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f39b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f39e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f39f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3a9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3aa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ab.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ac.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ad.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ae.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3af.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3b9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ba.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3bb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3bc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3bd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3be.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3bf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c3-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c3-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c4-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c4-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3c9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ca-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ca-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ca.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cb-fe0f-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cb-fe0f-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cc-fe0f-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cc-fe0f-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ce.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3cf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3d9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3da.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3db.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3dc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3dd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3de.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3df.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f3-fe0f-200d-1f308.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f3ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f400.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f401.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f402.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f403.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f404.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f405.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f406.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f407.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f408.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f409.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f40a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f40b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f40c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f40d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f40e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f40f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f410.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f411.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f412.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f413.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f414.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f415.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f416.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f417.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f418.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f419.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f41a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f41b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f41c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f41d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f41e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f41f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f420.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f421.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f422.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f423.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f424.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f425.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f426.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f427.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f428.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f429.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f42a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f42b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f42c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f42d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f42e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f42f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f430.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f431.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f432.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f433.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f434.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f435.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f436.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f437.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f438.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f439.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f43a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f43b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f43c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f43d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f43e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f43f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f440.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f441.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f442.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f443.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f444.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f445.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f446.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f447.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f448.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f449.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f44a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f44b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f44c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f44d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f44e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f44f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f450.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f451.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f452.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f453.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f454.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f455.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f456.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f457.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f458.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f459.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f45a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f45b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f45c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f45d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f45e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f45f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f460.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f461.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f462.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f463.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f464.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f465.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f33e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f373.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f393.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f3a4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f3a8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f3eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f3ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f466-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f467-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f467-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f468-200d-1f466-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f468-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f468-200d-1f467-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f468-200d-1f467-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f468-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f469-200d-1f466-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f469-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f469-200d-1f467-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f469-200d-1f467-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f469-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f4bb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f4bc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f527.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f52c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f680.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-1f692.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-2695-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-2696-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-2708-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-2764-fe0f-200d-1f468.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f468.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f33e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f373.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f393.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f3a4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f3a8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f3eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f3ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f466-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f467-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f467-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f469-200d-1f466-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f469-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f469-200d-1f467-200d-1f466.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f469-200d-1f467-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f469-200d-1f467.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f4bb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f4bc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f527.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f52c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f680.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-1f692.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-2695-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-2696-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-2708-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-2764-fe0f-200d-1f468.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-2764-fe0f-200d-1f469.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f469.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46e-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46e-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46f-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46f-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f46f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f470.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f471-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f471-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f471.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f472.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f473-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f473-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f473.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f474.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f475.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f476.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f477-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f477-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f477.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f478.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f479.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f47a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f47b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f47c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f47d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f47e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f47f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f480.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f481-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f481-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f481.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f482-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f482-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f482.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f483.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f484.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f485.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f486-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f486-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f486.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f487-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f487-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f487.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f488.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f489.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f48a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f48b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f48c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f48d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f48e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f48f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f490.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f491.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f492.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f493.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f494.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f495.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f496.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f497.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f498.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f499.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f49a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f49b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f49c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f49d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f49e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f49f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4a9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4aa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ab.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ac.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ad.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ae.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4af.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4b9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ba.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4bb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4bc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4bd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4be.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4bf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4c9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ca.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4cb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4cc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4cd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ce.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4cf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4d9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4da.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4db.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4dc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4dd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4de.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4df.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f4ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f500.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f501.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f502.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f503.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f504.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f505.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f506.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f507.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f508.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f509.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f50a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f50b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f50c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f50d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f50e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f50f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f510.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f511.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f512.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f513.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f514.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f515.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f516.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f517.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f518.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f519.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f51a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f51b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f51c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f51d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f51e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f51f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f520.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f521.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f522.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f523.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f524.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f525.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f526.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f527.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f528.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f529.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f52a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f52b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f52c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f52d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f52e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f52f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f530.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f531.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f532.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f533.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f534.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f535.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f536.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f537.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f538.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f539.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f53a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f53b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f53c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f53d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f549.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f54a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f54b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f54c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f54d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f54e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f550.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f551.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f552.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f553.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f554.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f555.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f556.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f557.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f558.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f559.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f55a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f55b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f55c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f55d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f55e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f55f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f560.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f561.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f562.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f563.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f564.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f565.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f566.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f567.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f56f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f570.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f573.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f574.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f575-fe0f-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f575-fe0f-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f575.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f576.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f577.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f578.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f579.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f57a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f587.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f58a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f58b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f58c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f58d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f590.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f595.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f596.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5a4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5a5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5a8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5b1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5b2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5bc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5c2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5c3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5c4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5d1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5d2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5d3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5dc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5dd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5de.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5e1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5e8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f5ff.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f600.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f601.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f602.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f603.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f604.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f605.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f606.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f607.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f608.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f609.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f60a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f60b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f60c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f60d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f60e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f60f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f610.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f611.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f612.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f613.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f614.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f615.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f616.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f617.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f618.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f619.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f61a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f61b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f61c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f61d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f61e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f61f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f620.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f621.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f622.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f623.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f624.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f625.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f626.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f627.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f628.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f629.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f62a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f62b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f62c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f62d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f62e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f62f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f630.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f631.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f632.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f633.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f634.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f635.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f636.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f637.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f638.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f639.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f63a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f63b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f63c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f63d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f63e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f63f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f640.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f641.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f642.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f643.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f644.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f645-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f645-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f645.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f646-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f646-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f646.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f647-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f647-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f647.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f648.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f649.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64b-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64b-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64d-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64d-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64e-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64e-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f64f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f680.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f681.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f682.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f683.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f684.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f685.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f686.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f687.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f688.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f689.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f68a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f68b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f68c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f68d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f68e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f68f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f690.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f691.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f692.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f693.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f694.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f695.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f696.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f697.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f698.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f699.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f69a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f69b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f69c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f69d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f69e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f69f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a3-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a3-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6a9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6aa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6ab.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6ac.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6ad.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6ae.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6af.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b4-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b4-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b5-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b5-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b6-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b6-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6b9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6ba.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6bb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6bc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6bd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6be.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6bf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6c0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6c1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6c2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6c3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6c4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6c5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6cb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6cc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6cd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6ce.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6cf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6d0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6d1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6d2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6e0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6e1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6e2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6e3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6e4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6e5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f6f6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f910.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f911.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f912.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f913.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f914.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f915.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f916.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f917.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f918.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f919.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f91a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f91b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f91c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f91d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f91e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f920.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f921.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f922.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f923.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f924.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f925.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f926-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f926-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f926.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f927.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f930.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f933.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f934.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f935.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f936.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f937-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f937-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f937.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f938-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f938-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f938.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f939-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f939-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f939.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93c-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93c-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93d-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93d-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93e-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93e-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f93e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f940.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f941.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f942.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f943.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f944.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f945.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f947.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f948.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f949.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f94a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f94b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f950.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f951.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f952.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f953.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f954.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f955.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f956.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f957.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f958.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f959.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f95a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f95b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f95c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f95d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f95e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f980.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f981.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f982.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f983.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f984.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f985.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f986.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f987.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f988.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f989.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f98a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f98b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f98c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f98d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f98e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f98f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f990.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f991.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/1f9c0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/203c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2049.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2122.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2139.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2194.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2195.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2196.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2197.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2198.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2199.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/21a9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/21aa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/231a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/231b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2328.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23cf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23eb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23ec.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23ed.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23ee.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23ef.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/23fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/24c2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25aa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25ab.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25b6.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25c0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25fb.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25fc.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/25fe.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2600.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2601.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2602.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2603.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2604.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/260e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2611.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2614.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2615.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2618.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/261d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2620.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2622.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2623.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2626.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/262a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/262e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/262f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2638.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2639.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/263a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2640.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2642.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2648.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2649.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/264a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/264b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/264c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/264d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/264e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/264f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2650.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2651.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2652.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2653.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2660.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2663.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2665.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2666.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2668.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/267b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/267f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2692.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2693.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2694.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2695.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2696.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2697.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2699.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/269b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/269c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26a0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26a1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26aa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26ab.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26b0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26b1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26bd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26be.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26c4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26c5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26c8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26ce.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26cf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26d1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26d3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26d4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26e9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26ea.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f2.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f3.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f4.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f5.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f7.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f8.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f9-fe0f-200d-2640-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f9-fe0f-200d-2642-fe0f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26f9.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26fa.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/26fd.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2702.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2705.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2708.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2709.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/270a.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/270b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/270c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/270d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/270f.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2712.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2714.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2716.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/271d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2721.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2728.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2733.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2734.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2744.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2747.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/274c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/274e.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2753.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2754.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2755.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2757.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2763.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2764.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2795.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2796.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2797.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/27a1.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/27b0.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/27bf.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2934.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2935.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2b05.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2b06.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2b07.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2b1b.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2b1c.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2b50.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/2b55.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/3030.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/303d.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/3297.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/3299.png (100%) rename dist/{v-1535381918818 => v-1537436040060}/emojis/emojis-data.json (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-Bold.ttf (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-CondLight.eot (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-CondLight.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-CondLight.ttf (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-CondLight.woff (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-Light.ttf (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-Regular.ttf (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/OpenSans-Semibold.ttf (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/taiga.eot (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/taiga.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/taiga.ttf (100%) rename dist/{v-1535381918818 => v-1537436040060}/fonts/taiga.woff (100%) rename dist/{ => v-1537436040060}/images/attachment-gallery.png (100%) rename dist/{ => v-1537436040060}/images/bg.png (100%) rename dist/{ => v-1537436040060}/images/discover.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_contact.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_des.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_field.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_like.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_mex.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_moon.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_sprint.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_tex.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_upvote.png (100%) rename dist/{ => v-1537436040060}/images/empty/empty_watch.png (100%) rename dist/{ => v-1537436040060}/images/epics-empty.png (100%) rename dist/{ => v-1537436040060}/images/favicon.png (100%) rename dist/{ => v-1537436040060}/images/import-logos/asana.png (100%) rename dist/{ => v-1537436040060}/images/import-logos/github.png (100%) rename dist/{ => v-1537436040060}/images/import-logos/jira.png (100%) rename dist/{ => v-1537436040060}/images/import-logos/trello.png (100%) rename dist/{ => v-1537436040060}/images/invitation_bg.jpg (100%) rename dist/{ => v-1537436040060}/images/logo-color.png (100%) rename dist/{ => v-1537436040060}/images/logo.png (100%) rename dist/{ => v-1537436040060}/images/looking-for-people.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-container.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-bbcode.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-dotclear.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-html.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-json.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-markdown.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-textile.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-wiki.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor-xml.png (100%) rename dist/{ => v-1537436040060}/images/markitup/bg-editor.png (100%) create mode 100755 dist/v-1537436040060/images/markitup/body.png rename dist/{ => v-1537436040060}/images/markitup/bold.png (100%) rename dist/{ => v-1537436040060}/images/markitup/clean.png (100%) rename dist/{ => v-1537436040060}/images/markitup/code.png (100%) rename dist/{ => v-1537436040060}/images/markitup/h1.png (100%) rename dist/{ => v-1537436040060}/images/markitup/h2.png (100%) rename dist/{ => v-1537436040060}/images/markitup/h3.png (100%) rename dist/{ => v-1537436040060}/images/markitup/h4.png (100%) rename dist/{ => v-1537436040060}/images/markitup/h5.png (100%) rename dist/{ => v-1537436040060}/images/markitup/h6.png (100%) rename dist/{ => v-1537436040060}/images/markitup/handle.png (100%) rename dist/{ => v-1537436040060}/images/markitup/help.png (100%) rename dist/{ => v-1537436040060}/images/markitup/image.png (100%) rename dist/{ => v-1537436040060}/images/markitup/italic.png (100%) rename dist/{ => v-1537436040060}/images/markitup/jaysalvat.png (100%) rename dist/{ => v-1537436040060}/images/markitup/link.png (100%) rename dist/{ => v-1537436040060}/images/markitup/list-bullet.png (100%) rename dist/{ => v-1537436040060}/images/markitup/list-numeric.png (100%) rename dist/{ => v-1537436040060}/images/markitup/markitup.png (100%) rename dist/{ => v-1537436040060}/images/markitup/menu.png (100%) rename dist/{ => v-1537436040060}/images/markitup/picture.png (100%) rename dist/{ => v-1537436040060}/images/markitup/preview.png (100%) rename dist/{ => v-1537436040060}/images/markitup/preview_ico.png (100%) rename dist/{ => v-1537436040060}/images/markitup/quotes.png (100%) rename dist/{ => v-1537436040060}/images/markitup/stroke.png (100%) rename dist/{ => v-1537436040060}/images/markitup/submenu.png (100%) rename dist/{ => v-1537436040060}/images/menu-vert.png (100%) rename dist/{ => v-1537436040060}/images/menu.png (100%) rename dist/{ => v-1537436040060}/images/monster-fight.png (100%) rename dist/{ => v-1537436040060}/images/notification-decoration.png (100%) rename dist/{ => v-1537436040060}/images/project-logos/project-logo-01.png (100%) rename dist/{ => v-1537436040060}/images/project-logos/project-logo-02.png (100%) rename dist/{ => v-1537436040060}/images/project-logos/project-logo-03.png (100%) rename dist/{ => v-1537436040060}/images/project-logos/project-logo-04.png (100%) rename dist/{ => v-1537436040060}/images/project-logos/project-logo-05.png (100%) rename dist/{ => v-1537436040060}/images/quote.png (100%) rename dist/{ => v-1537436040060}/images/tribe-logo.png (100%) rename dist/{ => v-1537436040060}/images/unnamed.png (100%) rename dist/{ => v-1537436040060}/images/user-avatars/user-avatar-01.png (100%) rename dist/{ => v-1537436040060}/images/user-avatars/user-avatar-02.png (100%) rename dist/{ => v-1537436040060}/images/user-avatars/user-avatar-03.png (100%) rename dist/{ => v-1537436040060}/images/user-avatars/user-avatar-04.png (100%) rename dist/{ => v-1537436040060}/images/user-avatars/user-avatar-05.png (100%) rename dist/{ => v-1537436040060}/images/user-noimage.png (100%) create mode 100644 dist/v-1537436040060/js/app-loader.js create mode 100644 dist/v-1537436040060/js/app.js rename dist/{v-1535381918818 => v-1537436040060}/js/libs.js (58%) create mode 100644 dist/v-1537436040060/js/maps/app.js.map create mode 100644 dist/v-1537436040060/js/maps/libs.js.map create mode 100644 dist/v-1537436040060/js/templates.js rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/af.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ar-dz.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ar-kw.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ar-ly.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ar-ma.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ar-sa.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ar-tn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ar.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/az.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/be.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/bg.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/bm.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/bn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/bo.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/br.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/bs.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ca.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/cs.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/cv.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/cy.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/da.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/de-at.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/de-ch.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/de.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/dv.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/el.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/en-au.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/en-ca.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/en-gb.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/en-ie.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/en-il.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/en-nz.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/eo.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/es-do.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/es-us.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/es.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/et.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/eu.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/fa.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/fi.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/fo.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/fr-ca.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/fr-ch.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/fr.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/fy.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/gd.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/gl.js (100%) create mode 100644 dist/v-1537436040060/locales/moment-locales/gom-latn.js rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/gu.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/he.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/hi.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/hr.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/hu.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/hy-am.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/id.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/is.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/it.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ja.js (57%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/jv.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ka.js (79%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/kk.js (100%) create mode 100644 dist/v-1537436040060/locales/moment-locales/km.js rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/kn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ko.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ky.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/lb.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/lo.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/lt.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/lv.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/me.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/mi.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/mk.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ml.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/mr.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ms-my.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ms.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/mt.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/my.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/nb.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ne.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/nl-be.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/nl.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/nn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/pa-in.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/pl.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/pt-br.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/pt.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ro.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ru.js (70%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sd.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/se.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/si.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sk.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sl.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sq.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sr-cyrl.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sr.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ss.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sv.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/sw.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ta.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/te.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tet.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tg.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/th.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tl-ph.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tlh.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tr.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tzl.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tzm-latn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/tzm.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ug-cn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/uk.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/ur.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/uz-latn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/uz.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/vi.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/x-pseudo.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/yo.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/zh-cn.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/zh-hk.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/locales/moment-locales/zh-tw.js (71%) create mode 100644 dist/v-1537436040060/locales/taiga/locale-ca.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-de.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-en.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-es.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-fa.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-fi.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-fr.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-it.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-ja.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-ko.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-nb.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-nl.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-pl.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-pt-br.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-ru.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-sv.json rename dist/{v-1535381918818 => v-1537436040060}/locales/taiga/locale-tr.json (59%) create mode 100644 dist/v-1537436040060/locales/taiga/locale-zh-hans.json create mode 100644 dist/v-1537436040060/locales/taiga/locale-zh-hant.json rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-abap.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-actionscript.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-ada.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-apacheconf.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-apl.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-applescript.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-arduino.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-asciidoc.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-asm6502.min.js (77%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-aspnet.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-autohotkey.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-autoit.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-bash.min.js create mode 100644 dist/v-1537436040060/prism/prism-basic.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-batch.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-bison.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-brainfuck.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-bro.min.js (91%) create mode 100644 dist/v-1537436040060/prism/prism-c.min.js create mode 100644 dist/v-1537436040060/prism/prism-clike.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-coffeescript.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-core.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-cpp.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-crystal.min.js create mode 100644 dist/v-1537436040060/prism/prism-csharp.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-csp.min.js (67%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-css-extras.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-css.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-d.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-dart.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-diff.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-django.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-docker.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-eiffel.min.js (73%) create mode 100644 dist/v-1537436040060/prism/prism-elixir.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-elm.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-erlang.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-flow.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-fortran.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-fsharp.min.js (69%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-gherkin.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-git.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-glsl.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-go.min.js (70%) create mode 100644 dist/v-1537436040060/prism/prism-graphql.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-groovy.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-haml.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-handlebars.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-haskell.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-haxe.min.js (90%) create mode 100644 dist/v-1537436040060/prism/prism-hpkp.min.js create mode 100644 dist/v-1537436040060/prism/prism-hsts.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-http.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-ichigojam.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-icon.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-inform7.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-ini.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-io.min.js (86%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-j.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-java.min.js create mode 100644 dist/v-1537436040060/prism/prism-javascript.min.js create mode 100644 dist/v-1537436040060/prism/prism-jolie.min.js create mode 100644 dist/v-1537436040060/prism/prism-json.min.js create mode 100644 dist/v-1537436040060/prism/prism-jsx.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-julia.min.js (61%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-keyman.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-kotlin.min.js (86%) create mode 100644 dist/v-1537436040060/prism/prism-languages.json rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-latex.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-less.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-livescript.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-lolcode.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-lua.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-makefile.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-markdown.min.js (80%) create mode 100644 dist/v-1537436040060/prism/prism-markup.min.js create mode 100644 dist/v-1537436040060/prism/prism-matlab.min.js create mode 100644 dist/v-1537436040060/prism/prism-mel.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-mizar.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-monkey.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-n4js.min.js (88%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-nasm.min.js (66%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-nginx.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-nim.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-nix.min.js (96%) create mode 100644 dist/v-1537436040060/prism/prism-nsis.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-objectivec.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-ocaml.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-opencl.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-oz.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-parigp.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-parser.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-pascal.min.js (80%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-perl.min.js (87%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-php-extras.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-php.min.js create mode 100644 dist/v-1537436040060/prism/prism-powershell.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-processing.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-prolog.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-properties.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-protobuf.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-pug.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-puppet.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-pure.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-python.min.js (82%) create mode 100644 dist/v-1537436040060/prism/prism-q.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-qore.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-r.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-reason.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-renpy.min.js (94%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-rest.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-rip.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-roboconf.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-ruby.min.js create mode 100644 dist/v-1537436040060/prism/prism-rust.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-sas.min.js (68%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-sass.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-scala.min.js (74%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-scheme.min.js (64%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-scss.min.js (92%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-smalltalk.min.js (74%) create mode 100644 dist/v-1537436040060/prism/prism-smarty.min.js create mode 100644 dist/v-1537436040060/prism/prism-sql.min.js create mode 100644 dist/v-1537436040060/prism/prism-stylus.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-swift.min.js (97%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-tcl.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-textile.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-tsx.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-twig.min.js (50%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-typescript.min.js (65%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-vbnet.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-verilog.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-vhdl.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-vim.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-wiki.min.js (100%) rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-xeora.min.js (100%) create mode 100644 dist/v-1537436040060/prism/prism-xojo.min.js rename dist/{v-1535381918818 => v-1537436040060}/prism/prism-yaml.min.js (79%) create mode 100644 dist/v-1537436040060/styles/theme-high-contrast.css create mode 100644 dist/v-1537436040060/styles/theme-material-design.css create mode 100644 dist/v-1537436040060/styles/theme-taiga.css rename dist/{v-1535381918818 => v-1537436040060}/svg/editor.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/icons/block-user.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/icons/multi-block-project.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/icons/project-limit.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/icons/team-question.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/logo-color.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/logo-moustache.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/logo-nav.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/logo.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/pattern.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/spinner-circle.svg (100%) rename dist/{v-1535381918818 => v-1537436040060}/svg/spinner.svg (97%) rename dist/{v-1535381918818 => v-1537436040060}/svg/sprite.svg (100%) diff --git a/dist/images b/dist/images new file mode 120000 index 0000000..4bc384b --- /dev/null +++ b/dist/images @@ -0,0 +1 @@ +./v-1537436040060/images \ No newline at end of file diff --git a/dist/images/markitup/body.png b/dist/images/markitup/body.png deleted file mode 100755 index fe5d0649656a0a1beafa9ad1ac793088ddff0e15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmV-{0Dk|8P)|zv0*$Qn}LOakpTo|FmW*PF^MtpGqE!<;DL--*^F5E`1KGg jgU@Wr>|w;BlBy5@iOL#)9om)B00000NkvXXu0mjfXgDw< diff --git a/dist/index.html b/dist/index.html index 0a8fbae..9ce01c5 100644 --- a/dist/index.html +++ b/dist/index.html @@ -8,8 +8,8 @@ Taiga - - + + - - + + + iocaine diff --git a/dist/v-1535381918818/images/attachment-gallery.png b/dist/v-1535381918818/images/attachment-gallery.png deleted file mode 100644 index a34ac62b5e8bdcd1ee387dce8b5bd012dfa0bd35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1797 zcmcJOdsNbQAIE>$*BF(Eo(iVr|rq*vD$K_2|vmd&JY7hF-%F# z%T9Lj`e;D%=(L!KDJl{Wks^XO9Edkk6ou5d2#AEDR_Kn<+5h`v?>|20{W+iS_jA7A z@8|Wsdp0x#;<>{U0079TlPAIeV4Xhz0MgCt0RU*Yv?>Mwj~~zecs>{a0E59WJ3G6u zurNPA?{GNmcDvim&CS{Ec8kSgv)Sx+yUAp-xunzS=3KH^ELN*kqtTenW{bt5R;y=b zX3S>u$jFFFr81dJX0zF7G@48%rBZ1y7>q`vUavP84DP5-QBIxXr`v7#A5N}df}2*s}%?Y8jVJ))$;lL@$qquM#JOr)N1v_#Dq$v z8XFty@9!TN7;v9qbaYg$R*OU;xm-RpG&C|Y!elZB1_pY2dld>re}6xN!Dwr1>*?u{ z$z*c5ysD~7DwWb`G@($~)z#JB-rmvCA(2QbDk_?rn_F61%F41=N91e#>B9X~tnoD##y{4vy#bOl~7nhcn78MmSnaqNMg2KYWM~@yc7>xY<{Hm%d zI-OowS(%fQQ&v`1US3Y2P_nbLNhDHcX6CJ1x6;$oZ``<%m6er~lT%bwl$x5FmzPH* z5|fjYv$C?1l9Gr-B7s0iNl76P2pJg}csxEaF)<+_AuTN}H8mB7!zCsr;&8Zxgaix* zgT-Po7z`edN2AfPv9Tx=DlRS#jYeZI7$g#jMx&#nqfsbSR8$lKfj}aWQBhGyBr-BG zGCDdMfk43Fa1aFHaQKA_7ho{hpFScY0t$t~U@*4esX*{-?U{u_VQXt^ zTbtM=i9{l4@96C8>{?TIw^SG@qIm%GN;*VpGB`M}`d(2!E8d_Fupyas}Le8L5a z_QmAn^vjoPsI4(LGh2$8Ftf0>C zzYPHEt52Ocex5jLQ7yv?j_>NS;X{VE6_ZFfc!@dYKuHYyUj0pW%wDz?&i+yrr1}j7 zk%q;umQvHwu9nXdo@MyOPE=}y`t(fd@OAWcw8sY9A&ZB{e}OIjERn|+|9`H9HMhZ) zvP2&1+y&O(v1IE}Y+4&PZ1+AY&?`yxGSgGm z>6tMJtvUK6c1&>CA^mr9Yv|&YueR4YA>SyUtJtdP=5xPl-gxIqF@b`BmEnhfrox?S)?OZ?4`R&VvVRxSXJm4OVn;$)GOY_eBHGkNRm$GZpN>F5TWi z@h^UG5bNW0{fzCRV%2f=@ZL1)U3!s6O4YT`z8f<`&ZxeQA@91p=Q)1k+|O4e0U!Sw zzg%70@>Tekj;+-zJHLf)`e4WKgWj&_vGA5>{Lz+!g#nI`)LQh>aUy)zr-zPQSEQQG z78?QO4ZAleg`?`4oI;~>@RWS- zU8ZB}#pOYz1)u9O;)(j&bnK!y@C=8-37`-r9_tEWMg-jW{}R~ylvZPfFQJjN%I+H7 zz7s+rfANtL`UKHr*#8EMgWpk~m$lKoW8J&&@Ru9xWAfS+ocER>{)0Y>WZR~r Q0001|fPXqvD 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%0Dl88PgDpl_~YrEF@p9YK& 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 diff --git a/dist/v-1535381918818/images/discover.png b/dist/v-1535381918818/images/discover.png deleted file mode 100644 index 2f50690564355dc48c1b4082954389db3e0cbbaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8211 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 diff --git a/dist/v-1535381918818/images/empty/empty_contact.png b/dist/v-1535381918818/images/empty/empty_contact.png deleted file mode 100644 index f292ebb4717814541711091eb4d7feb79aeb88c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK_nP)hbFJ{Qv*|st-jr0002{NklgoJFb ztgFbf=wcvrJ(QS4#6%`0FRX;dfIb=E!FOv&hgwDUJgs@P)QKh5IMrfXuA%uo%zqkHvs|+DLls6lFm^PE;qzU1meu~ifP^4P7 zZaKNy)+dC8%9gN|Irti(6CmG0I9wovfKW?O6{(L7;r%%wB&0?4w`Q?nN`#=$x0c`Y qJ3t5zm4{y$S6fNwBnTHm?mPkUwZG$>9issN0000~i)aQD*vPx0Nh zef1n13JnZQ910BvQxc-u#JU5kzj%vgEaiiWeu(3U-5%SrdEpDDm&!~abqq`#>1`9D zTNW>TG3in|D~o^w10##TIfjKfoKX%JMZM!yp;|8(wUmo3==IEHc06g-2)2X4$&y1? zWP!EAuYPu@##hc6^&dE%90VESz`)pI!jUey>*akVMyOqh9M9$dd@r}v_{+!)6*3e! z$Cn`KxHs+dzpkI_f5ve^E!@EOut)dezL)wx?VKdP*R%0Kz4oS2pgdyPyA-|HY1{n1 z%bN#loqxR65n>;Uz$3*i7oN!08f8EKUjFCzkNiFVepbeS{p7%qDBtq%$*FAbADzbn zJ_*?5<%UW^o&89WN4ou~$VdN0hHK&%3bdxP#K+(6O?27J0d=Ilz&v&3T7$~|3lh_^ z#ES)WbbJ`0UObw%vFr9zAhT|0x^PEXkH% z!UDgnI=r|BwZ`&eo;9oocwXlel$>#Nnar@HWGKU&oWrivf;fQwKCug9^K0S`HW%k7z-wg6+ z`n@``j13yDpA`OFzmj+H7AGuODkyMpFf~D`lxO_^%Da?~=1L?oFfcH9y85}Sb4q9e E05jP~8~^|S diff --git a/dist/v-1535381918818/images/empty/empty_field.png b/dist/v-1535381918818/images/empty/empty_field.png deleted file mode 100644 index 993baa1583a5958ee4dd58acc6e01e330998408a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 966 zcmeAS@N?(olHy`uVBq!ia0y~yU=d(oV5neWW?*30xme~o0|SFffKP~PZEfxRDc!4< zE#AI<`TnhIj&E6fcJsU|N4MYE)ca)Dv^PhW{Qv)7Qb(eb(>dobTJ-?x@}IPl!XIfq{ubVT#j^njM*s;-=3$bHY}y_HU11St7(> z#uh`4V&BVqZgRDpmr{f(U*h~iPj_3Ki>6rn_m@BSdcUlzX9u~0kwqX#;f%R$*U=8a zV{c%ppEya}3JJ|!*dmn|S6jbv#{D&{yVS!uUY9A@(Eq$Rk(<@qUr|Xrs z4sH$+`;L~)UwHiItNV4a@_fgOUs=`eku~1|4%G&RLoays1O*;>9r_gJbLQmI7u$k8 zZ(3}rFWr0p{kfa(`P+BN-Mjod9_mPm_7A(Jgq=yc6CE+ZdKs_j(zjcVWb_}u`|kPj zOg)jH(?{pAnma;bWnuEcvvWM9tWOHvj_T4Cd)_Qi+nj$cetTP#-m z@|W93_It$5h`LGd_g-ZIhZGZsrNAY*hlcw+E{Ay?eW78>kILLxOS_JiDy;eG@nuq~*R6xl@Nlwfd4AbDI<}{}TVUH1Gebz~YnZ^j zu-oO7Vy4v5q&F6~BblN0Jrz(|@aOIpX?|#8Im7N~XNjBzpcz8snf-4)mHF{g7Pm4m PFfe$!`njxgN@xNA#BY(S diff --git a/dist/v-1535381918818/images/empty/empty_like.png b/dist/v-1535381918818/images/empty/empty_like.png deleted file mode 100644 index df0c8dd054fec6c4f0d9d86749e978071388f358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmV-O0k{5%P)8l%|G2&X|Nqdz%#{ED0Od(UK~!ko?byo^!ypUdO(bjFh93d>E zhinhnvwaAyfN&du5E>d8s?PO3O$Z64q1uCt3|>N5sCDI^`5YjGhw8(x&dlf~vN8^b27I<2+<0000+RjQ6IU6Cuq8xoV2xhTdizlB zL9v|r>zzD|O)3r%SDydf_^QvrrgDa*@Slu#O8YaXI5-Fhu&^*XVo*<91oZZ6R{#5z zYj5p+^+wRz(@QfQ7#LXu92g!}aHul(%;$B|Y+1IlbXOAt6Nf?rgA*@@>S1o@uK!+f zrpuP!d3}oCf2Z>-R{^l5eNu-?463E zwOr4AutDnbtFPxdME&PBeGEJ7m7gc(2(@(PZR6Z(X%(NE9p88G9^Tpe=|PTlOTPMN?j!xpde=lP)S zed2r~_RkA(t!uj6b8|IU^6j~^_gR?ovI%)&%iVq7@2-cdb2t(Ir$ceg%u9O}|I|M# zd@n0LW!AFX;u|Gz@85A<{-vf75^RUeICeJoMNi!--uEfKO0M~}asAN;C(<^r@vV=2 z`J_n*YAuh#6TZBfmyh2IOSGhYtlC@a@l3z@ZDc*vuQ%35%EbS&(EC5{rTkZcB%ba3 z=lA9RWrce2uL6&L?Unhz-qroT|1R){v;+%7{q`j#IxT;-_`z|<#IaPM&0F&2`rH+_ zb&jzF@$70bGkg}1-}v0-?4x}=(0EVeZu!Wrekyv}q@-h$ZTH!?1bpw+yxc!+pZn$+ z=5bJ$oM<#yVo>ujlOy)@r06AEU1k0L%y3)~@Ve=87{^EV;OXBcmak!0m>a+Mr}_Kd zgPY^0FhX4r8NY0*T->>WbN4H*#`|=|7wfg;9_Oi!oHzZE{v8&mPqL2ov~M$SGn#b# z(8-w(uKds5J8zBrJ4gy)Z2281vQIrduZ_Eo;ff0+Sr+L3ZPc$kpYv;C0i&Y>17nMD z;tuhnF8M2!Vd>8yLhI9C-p{td(PFTK!~QV3c-_fWl2ASaO74i9DX+3`>p!9L|11m) O3=E#GelF{r5}E*O|A~SC diff --git a/dist/v-1535381918818/images/empty/empty_moon.png b/dist/v-1535381918818/images/empty/empty_moon.png deleted file mode 100644 index 21d6ef71d0bcdc5ec4a68687feee3a0990132e70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 906 zcmeAS@N?(olHy`uVBq!ia0y~yU=d(oV5neWW?*30xme~o0|SFxfKQ0)xm)Kh-g~A1FW>)p`Q_!iU+@0^|IZscw}pX$S>4mcF{I+w+qLf%!OYJZ1Pje@$2?(&TFgiM5 zQk9t;^VxYh6dD+qI20N_M9Kb0t6SW{ zxA)ThO|4L8DKag5`{A@u@86$Fozt)HbkT%3o#Bv8%P!`AvrQv+w_YEBopBeTF=jv>hMk zlXKjl&}L*22oiWEwv5NV=+FJfjKRHeRUcRVol-kdH<>x#G(vy+x)2}Ucf9%s1It6; z0Tl7>)6B=G(|n$qS#FxIxboj3*@;ROHV4AWkG#Hc=hyv`XVd+lKHPB0bz5+7gsS)r z9c|a^88<#2xLuu^6zuYLzyG%`O{k&?G9g{_qINk4P4-)>XHgsf;p&~R#n04@4s*`C zbyRbs>-M*TurQT7wCQP5e3Y;4{iF*kuFebgc77&z{KN77XaPhRCEvSIeA-9%zOH8N zdrh5iov=F$A>W%I3C(0XWBlSRHpl#HPv?E-g9g}Afe99M>djyk42L!eM7f&hUA+nO rK|Tk=+Pf#AybpJX*(--HTt7Oa`poq^XD8>hw-bdhx}1b$9v`?#wK_JFoKo{L1?aYaT4Dd9AVhZj`#oj<^`L^UiA@M+$a}R z`cL|dYl@v-n$^lx%z15LE6q(#S2>iwU<*z5P-tv2EOt4=_OWBz*Xa=~oHTZ3BnY;ni) z8C@(wD^y-E&sExO=cOA|Cd;_X)pvzVa_z!!l?e{2jxk?2H@Qk5JG{t2#)mg`gISL| zr%Hfl0G|e@(G|;GE=Ot>>-9J=$ug~Ysc<$iaKU2{!|NT~c}^SDL!|v!g)}6d1j?nc zual2i>~Q46XRbC=o2hoco5 znH+_~?e_596sh2^SCPB1ka>dxlPJT@f>W$Kwl1Hi8$RTpz{DBC@TC3n{~WfTwm-ek zoDer);uPUM)qc4~<8Acq+R#oGp%nqK-GA1`?h6t0Sg^5aO3>CihR@8626FYcH-Tc+ M)78&qol`;+05iG`&j0`b diff --git a/dist/v-1535381918818/images/empty/empty_tex.png b/dist/v-1535381918818/images/empty/empty_tex.png deleted file mode 100644 index 2d8161da7af1a99bf09882240a097d3a35c5e5fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1029 zcmeAS@N?(olHy`uVBq!ia0y~yU=d(oV5neWW?*30xme~o0|SFZfKP~PW>!|ux&@Q> zt)0Dg`~3~g?+(xUdvd}5|NrIH?@eW3U|!+r;uunK>+Ri(y^9S57%psa;NIfEeY+{z zgL_N8yqJYiG{HV#H|x; z*%$t+I#iTJz=460Mc|f0gO{!ioW=E(EH zP|p`BuHoGzvnn;PK0T&VaRqo00m# z-$#Gx6p8=M*X6tS3w~c@M9V=wLKD!zc z0S+hH1vHO*TmSlzLuuy{^Tm%=tTaqsZN_uh;JFdc_k;=CJIj_ty-eG@hSUG)=IO!^ zpC~+Wv{)RgnLq#7$Bz=n3u|oV{m*Uru!}eRd-9FSp84}HS-&&shK5bShf>+w_W5gb z&7OxD+Rv|+n|kv6s`sDw_jv1Op7rnDyuSn%#Ijr~Z?Bi1FlXD6d-nHlE6r4!>7Tf- z{GI*p82#jIKgB1#yT3mT_{$b2#|m}2M)L%_DN={3H*d00*jYNIv@-YXq`84dD!v-B z&97Y6_doCaqZ`*^_gsJNxajLw?JO}zNMc%85u9nIaPyIe+h4_=ivKnTqD7K8um6Ac z^_R^B-M;^M_tQ@$M>XH64&D2d7n1nw`5#Vp_DPv}Zq5Pq=1cNN-}x%+`|)Y7#__(g zWz*KA?3r_{e3f79>X>OKYu5j*PT8+32aU>Oi`_%MotkQuU@5-r?EdFgi%+}_$cdkO zyH2iq>sB^sx)b8KzUPPcmWBKLGqQ7`ZhXkm^2uVm#^a}f^Y30w@JeTc#_4q@f&Hpz hc?!&RN&UmTZRYZ25=-l@FfcGMc)I$ztaD0e0ss|FurL4s diff --git a/dist/v-1535381918818/images/empty/empty_upvote.png b/dist/v-1535381918818/images/empty/empty_upvote.png deleted file mode 100644 index 15e157f5e722bbcec05452818bc19052dcfd8227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>UtP)`6pHRA}Dq*Rc`9APfai zR$v9M;1yVb6Z$ z_8rh#P$7u%9?&|FbDYQwpmiYU&ReYI450r*cZwK5TF`Nn>064N$_yYasFbFWlrrYY z0Fptav=oYwGk`Q9eo!S$D#sY_tp%h9WlYLk-`r9;14sv=@M~~1L;;!w=}~~@K^N6~ zbf1f>89>?)Z?Y|5%k}{@0~+55fM!EIO?BH^X9LoNsHwIfJ&hNTF7)k}f8;p;NFS;% kzdA#YG(eLey#N}{8-;2Mvp7}vRsaA107*qoM6N<$g59N#G5`Po diff --git a/dist/v-1535381918818/images/empty/empty_watch.png b/dist/v-1535381918818/images/empty/empty_watch.png deleted file mode 100644 index fb56993806ab65d223ed3a75ec989b8b73f60e06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 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 diff --git a/dist/v-1535381918818/images/import-logos/asana.png b/dist/v-1535381918818/images/import-logos/asana.png deleted file mode 100644 index 94254b8318b686f06340c71768f273b1737bdfd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4729 zcmV-<5{B)GP)HiHBl%_PLDNSk0|9hb?+XH)7T~*+B*Zn1Y|F0mj2Y`VP=?Q>9 zv1(&t34!M3kedk+7#bLHjI1f)SJ zjvc=#2r|rNHk%~XFt@GUn=HAr=B;}?i90uQi8bBceBP#6}Lm=@Y&~WVI z-TUu;q6tVSrEwR2O}1=Z0l|(bFxs0TB56)Q*|) zp}k{B)^|kpL(!Y9pL?Onkm8sN4@1d&HefEDaVz9^L=;G%*VSdL->VP z0L{}<)*Q27wfz}VuGc)xyJKO88mZl(QzCcXyDyjy4w#^F7=rxZUR5OgN+Os`BCwOe z5axaOg;x#*u%t@@0-w(SSyWNDGTc-Wgk&$P4nQOW5JKEdK>% znCzhNsCMsyL0#>b20~RCi)>GZaCjds-*cy~2uQC$F=d9R8Z1FZSGWxfiS@9;I3neE zLOr@7Ac3YR3kX$xv`$%bR>=tn%9w0SvLj@Kn7}Z?KXx%dl>KR?m!r}^L_ne9dWb6) zPLcyk_&*X}N2qchfn>O;@^ytO01-a#iVRsFC_`n(kunI1E7nYs4M_NPk!pab@H{-i z%8nnx0I5HAJwPmb6_^c%7(fskrNRt~F(e(h2^5~1M}ml|fWs;TB`gszRB>CRR&_Z* zsC)Ni^63@<6a`=)WCK@@#32X^gA>4nppfgn*yW~9tiL<- zJt%usFm)k-r2*vwmJcW&WO*RV3qD&uV0o2dm(LURxpkHL%5}ZyUQjv&TLH>`kA{Bz z&8`Q?A;STsehtMH#aKSb@^gU5Q?!=@Ru)KpR7e^3i41`Or4~DrPT;N=LjX`WwLrG% zE1S>`e7nRY&k|Zds0I`B2Tj99{f&EP3hKVC-hkodi3;_Ug z=~{UHC@5_shb5HJ<4OZ!Vv`K&0T5CKgA~AF%peKQAwsr&bw`5HDHs9(r3S zfDv(E(tspqZj*o{28E`pA_lP)#EmjT6xL8n_sN|?7w9BX`qAY>;cs0^O82R_E}c0x zNxCdDK#>$6i7`hMKLUn`*qdOr99sCvtuHkJNr-pVMTdg7Jps}^@&Y`?T$UKUEyR0Q z2nT|ZtI7=IMJV?~XZp;iI*SfEUG}>-_1r_i#Ydq0zGi@@7)x?S>#=DQGj6C#+=$|b z^*L0_DbDq?pYBZU@080Cyc@^=1@zX3K;AG?Mvuz`1?E&rUJpwFOaU9pz_0~~y&9_9 zDb6+X{?OUl-f0)?__s~yhOPfQ4OF@qqzh4iCk|hwaGijt3M<6&A%(l7rT10NrN7+N z8Qb0I*BJUg|JyylTc?7&Q$X5Ic7G|>^`*)be0=gyLkf>Vb-T{K^r4lVxxHVCMW0gI z3_bVsLGU*H5agXi@b?C>igkg_E^kmo;H-q$i(&V;N1b@f8nx3NoxZJKx@FM-pzl4Y zKem3nFW~P1$UuO51t?gb1GFBnSEHrha%=3PAEPNvX-ZR?(v&VD?Hbhei*G{T_n$k- zmQBN;yuqZr{;>T5lvjl1Z-ArMQZILoK+WQ5}*oC?BqYUU216QlhKjs{^4ODuW;)2vPBE0}wlyF%S(v1H`XF;V0@_yFB1r zeWw1x04a`}wkJHE1)=Xo3t!9yFe=RO$jA=KW{n3pyaWYnqCIKx7nS#$Yp~8kZD6u**04X0KFTtU6-38Yz->!gox6C76`Syj-atmO&F(6Dp%52DDNGeOj ztn;_P!NqF-(|@V<8@qko(|^nauXubkN-_)D>6OifjJo9aMACqW4}d)=OjW~nyT!TU z?7Fj9>P`bHT{PY16>rXl@6Q0>wi#c_`nq%nm*((`^KRqcT(aF#l=z9uiB~>+BXnsI zfL@hFps{Dkd1o(mHclL9|0Z7f*1e?*ZgkrfkkaIvEZOkMLa;vPi*f4yBzgbES^Dt{ z+kI+>m(7N(TlzDwKLzP@`t5+e9xWUH{9tL)kDYb_L_hQtka?a0)DBtaP^A8nZJ-8_rh42Zw@=`ry2 zMRl_^xyMV&H&MDyD7&yfh5voZ@$EKFn!EoIV1Ifne=919&sBY^`JLph5P3J(<9Ov8 z6Watx>C8)Zf$!a3Rq0trQ|W?4V-uf|Q-T*v1or0Wg$EC4GZ^Ee^Z(?_29-C;*}Pj1tUOs?W7TM4Fe%ITd^LYoC>oTh(uQul^?or}+OpfNVOj(P2Jo>m4J@#SwB ztAx=?h6F4*rZoPdfpr5SpM7>5AT5ot!Z^lOF{zCBkYA#4F`1KR41&ptY` z;co7RHHSc}9iZ*-T2_S}oM56OH9h0GWYZ#e;Je zBg)x?QO=Z6A1TjJq)!b40$)bPu909#RG)BTk`dElvCd>iOc!!sXR(v6wM5(BH;WzN$} zy&i?XYqxqW($(T5-~F4(=kq^ z*&#KKxt;}tjT?6cu(2v2C>DDM8VRkus^YVXxm`u50Agc(hE-X$R9U?gUwmWSIvQlE z5Zuo{{Yt%nz(-GL%SKGeCNpweSXDO`ZY}`MX?vd6NXHXl-KRD~Sl2oBFt(+N5;XSyaFdk`PeRfUoLySjq@-h|R)7L_n)oYNJ9d51b}kUHURdDIn0{?vv?jJBbd1ofs^t8f}!En3?0k;_P@`4Ij3w zen5^s3Q#m79{|Y+YRLzv1q#KKF6np?FK}nH{%wFe12J~QSt2PTC^JJR;zk|D2hIQ} zVbF?ZIzP((rMTP|RJ6;^4}$P|HUK#mQH|Qk2ADC$w9>3@FFVWCcMoXw&q&zkOne<>QfC5WTbC7P z-MOt*Ne+cMcRvlK=H-tuq&_Q(<-MBc2^Yq8Iy`H-JFBn*%y4+o|%iKiFfpqEu|$89-gw| zWDlvPVd*L^O;?U2AE4kI?A~|p|Fk)C5dhpp_pF0s9}bdtYCdq*!@3l7=08p59{zmHNj0E_V*gca9t;&onFmgNw$@?f2j;IHWx&Z+I_x?q1Q@54_ zKzOdEp%)a15>QOihB##C6HNnt1!05D5)pFH@ z<#1aLaPPb4wYobX4K?JR1s~ABoeqbku7_}`uC8q+5DCi+K5v7CD{0rS9$mQml25Rm zr7-K_Pu0*}Pk@C5ZuBPckYz8(E(CCd-@=3E8YP1M?=KUp8AnGIw&k4{1yf0N_Ww` z6>Z4*Y(rzlo-+(3?_4lWfzS^5fjj|(verXc{{+{a?asZn!!|CC1^n^ThDfn^E?A!m z)`N2A?|`g7z$rYZhV1%^bIo}golv}+<|uhQL3jv+zY5|OFqZ(?2;#MX zyb4P_uLkeB%(?Mu4^3%GQ<~D0rZlA~O=(I~n$nb}v{n8O?i$_>MeMTG00000NkvXX Hu0mjfKjP#z diff --git a/dist/v-1535381918818/images/import-logos/github.png b/dist/v-1535381918818/images/import-logos/github.png deleted file mode 100644 index 965c7d4153c733b0cd6ab2bbffd51bb33247da1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2749 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 diff --git a/dist/v-1535381918818/images/import-logos/trello.png b/dist/v-1535381918818/images/import-logos/trello.png deleted file mode 100644 index 13e6af355ddaeb0f2db6677eda39648632e970ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2495 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

Kn6$hLf(&L@%4NZek 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 >CPjPCZOgFh1SfKE;hLqmDWXzS-BR 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

RbU78 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

M_Y1K*VFEn_@pOG{4Y01D56QV^zJq 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 diff --git a/dist/v-1535381918818/images/logo-color.png b/dist/v-1535381918818/images/logo-color.png deleted file mode 100644 index 74b8c04805decf62f96f8989a683fedab37d2280..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9533 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 diff --git a/dist/v-1535381918818/images/logo.png b/dist/v-1535381918818/images/logo.png deleted file mode 100644 index bb374cf22a7a8fcb2ab63090a2cbe78f776575ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62174 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 diff --git a/dist/v-1535381918818/images/looking-for-people.png b/dist/v-1535381918818/images/looking-for-people.png deleted file mode 100644 index f3162fcf188110cd2e12eb9bc5848a8da6a56403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6385 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 diff --git a/dist/v-1535381918818/images/markitup/bg-editor-markdown.png b/dist/v-1535381918818/images/markitup/bg-editor-markdown.png deleted file mode 100755 index ccca7ed71b4c36c5c5d8b399e8468862e59cce91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 zcmeAS@N?(olHy`uVBq!ia0y~yV1B{Cz;J?tfq{V`u4l?*1_q{go-U3d6}R5rw$2lA z6li$3^S|m2#`FgasuL$qe867Uz{_^~hT4WKiS24`!B_8#Z^<&(c{zR8(z{P(FWmbi zmy!RIVaxU!mRr$wjBj=4H-4L@?@;Z;zL438J*%Z|(xbJ)3wRecUuYCtIDc7(1#6U$ z6^E>VRezxv_&9l9^nFYCB5xA9X8pA&lv-xZF(dc6PL_cJ4$wBY2`+H$s6?f&w>ssm&J}s}}yh*U|Bn$R2MHKsw#65+1>F?-cj zhs77%Zy_#`FgaiVq(@+`w~&@34_Hn^#Dz)jm>JIKF7O&}ivYZ?AH5Z{tf&*%rQ#mVb#Jo2r>F3tMr> zX7JShWzt<(FEc48Zb1uJHRD2NcZpxKG8brk*_Nu|mSj`CmIc}1Fd9g$0i*V;j+6yLKcqrnuUv5$i^VAkTC-zrP@y5Iy zvNJTl%uW>k#T)Qgp`^G0VqFX0pTigO+f}wZEIrDiP~!07fXKpn$w_bS9ryy$spa&4 z*Q6)sxxWZlamcRVj(r*+_3Q3Jm2wBkg@;$R{@Y!&7VPZfGQW1^uXPT8alcJvx4D7s z!o!}ed>pbfEWW&Vo^)4w1}OX-TwmBjWt%TF9=mW|U!f#n)`faLPc!`hrx#$mYZk7b z$=2nxU*2rteP+`ZK6Ozmu(;0ti)R^^F0|+Ilxy&U1k5vzzl9#3I6|yAYR{S|lq4*> zFu%?Bg}*~@^M$jFpm5`m{ZYTrp5Jp`qnA_rWG-0&uu*VtbI5{}pa??38zBgab8wu% vR0{0kbifcJ*;qzcRKtvQ0DB(Et{=1GQ)2(P%~jqX3QE(Su6{1-oD!MVt7 diff --git a/dist/v-1535381918818/images/markitup/bg-editor-wiki.png b/dist/v-1535381918818/images/markitup/bg-editor-wiki.png deleted file mode 100755 index 2150bd1f4a0c512ceebfbbd68afc638c05ddcf9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 686 zcmeAS@N?(olHy`uVBq!ia0y~yV1B{Cz;J?tfq{V`u4l?*1_q{5PZ!6Kid%1QSo<+M zinv_7_h0P>V|D_gzmmH0!32YCKmRKxCgfOdTXy=ni|q80=Id`cI!g!FJ(c$JT$>x1Vx+(Qu)$vwd9=2XF1Zm8+gPNGxo=z_^gPwxw?G%2n$c4RYuF zn33u5!oh#xeV%Pj`x%o=gd4yLTHm>~-?<>(y!L{)0}seJJ`Py{D}$#O@*6AuFU+q! zHj}M|k3)7w+KXf-_Jz!ITld{rx@ww3k6B;!854yPhZhG-oXZzG=e<}RyDE$Ih=7%h z(~H*!ul4R@13NthWZnylFV+h4E`S`#xRBY2{hR17TLJ$UAl(k~3+)*`w(vQzD>>D( zJmQoES@uHti#nQmV}$zsaP_QE^#WD~6EECvr~o<8iM@r-N99X7ntpbK{(2^;egBz| z_3v+l>j#AZ$Z-t_Cxe^?5`;;B{Q(ke$z#G4LoxxZ5aKL6#yWrl0~$OK?FiLSyFfle c5!_$Luydhdp~Zn~g`kA!>FVdQ&MBb@01|x$WdHyG diff --git a/dist/v-1535381918818/images/markitup/bg-editor-xml.png b/dist/v-1535381918818/images/markitup/bg-editor-xml.png deleted file mode 100755 index 1e26751b3654dae9e24510441de93178dff1d43e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 zcmeAS@N?(olHy`uVBq!ia0y~yV1B{Cz;J?tfq{V`u4l?*1_q`EPZ!6Kid%25Tlz6O zinw09^~sg4g@^C8#f2_oT*z$OT4%R()wxCqC-#NRf(!MRg4sy;o*I) zd3+qawYDo(nF@Hm*pR=lerot(d*I`_}#%iB*mzG%46IJ13S5eM(zU;9_>Vmrhk`%Ur7 z?1`&>{bsUk;d5f&4mJy$FEB1- zu5GE~KO$_!A=|<6m$5?~=1=)Xu!o@PLtpqK)c@mwsb__%cX)BY$Elw65vMH3bO9@a z$rtWJ0tBxAJ(7M#n0{eo{r{QZ`V~qXUNnFl2MQdB5uo4)34(kMmVnr#P$IC46RsF8 zhHL^z5GDaviEb<-BruTeLUIH|JIH4!f`5LoJ+d=3xxDk!9#ER}boFyt=akR{09o_{ A&;S4c diff --git a/dist/v-1535381918818/images/markitup/bg-editor.png b/dist/v-1535381918818/images/markitup/bg-editor.png deleted file mode 100755 index 1bae2b4f8d8839653f150ac868d23bc53ee301bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780 zcmeAS@N?(olHy`uVBq!ia0y~yV1B{Cz;J?tfq{V`u4l?*1_q|fo-U3d6}R5rvCb25 zlxV$p>%ZC!#_R;f{VslPO@==h>ln8kWLd1WHCi}o@w(g3S(bLK|H5jTR11 z#am{9^|dUIw)#8l`6k(MeILWe7CtBT7QQorzaqo$KCELqB4EWK+rjZyTfqN?LWzR* zmyd4dTt`~#?)6?c-)P{}zPHuR&*4SG1;&NU>imDB!$TjlEaH%D;p32{LP^4=3+ww2)M7{`3 z<>TP}yKMC;X@yBJ6Qp@+Pnrmb{L0f)g-n*9@O$JGZpk4#!}QDX>#JS~awwMwSb_Z&{$Da(ii7L#%IMaAEJp;a z-e{G8LZWf!y%+7fGZi$xJkM*X+hNaa*uq!MUHc?Y9PFX`-K(tTv~y2*?D4{laUt{P z)_?0)uPS5;gvONkuSp=S)AK}saSJ%V*svPpI4AZ!7s1p$gD-_lpzs2P4#;B-7aU(W zwcED5J8c1W)o+N;Di(u1xF-=DFmUZ4Q<^Wd^4){P#B46ODPYq<#v&UH7K9jxY#%sz nARHmE3zh(o#GsCA4F1jE>AWxMrpuGvpk(gp>gTe~DWM4faw|zv0*$Qn}LOakpTo|FmW*PF^MtpGqE!<;DL--*^F5E`1KGg jgU@Wr>|w;BlBy5@iOL#)9om)B00000NkvXXu0mjfXgDw< diff --git a/dist/v-1535381918818/images/markitup/bold.png b/dist/v-1535381918818/images/markitup/bold.png deleted file mode 100644 index 05afce8ed7b7a8199399cfa8b46a1e4bc0386416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmV$v8>1TqSu{r#~w+!xD?RaAbEtYLO zT3;Ayp=)n{f^)p!X_FQTD?H)~2YnFp|3A|Q6dIo^9*&aB00000NkvXXu0mjfauQ{r diff --git a/dist/v-1535381918818/images/markitup/clean.png b/dist/v-1535381918818/images/markitup/clean.png deleted file mode 100755 index f7a7ebab4b3da46abe197e93fec1fed03bfc3c65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmV+*0^j|KP)ErZ@9Yt|@s+8$lfCU4j#a@j3| z-nl{q!&V)*L<7TC9JfRR!d4kLcG*0C+((+_NS)rj~ER;K4snBr8P2xn<^bpY>v7xbKB^`~+6w2b$(jQDi`{>`oa*0=w55&wP{|Aip`kxc*p|0}7F z<^TWyI&@M_Qve1A4-XF#5)vC58yhn-SXfwCZFhKhdVt2p#>U3o-rnBc-rnBc-{a)u z?(p#N@$vWf_xJnz{QUk2^WxM10059lL_t&-8I8f!5`sVg1<&&rm`DYvMj5=BxIr4ojyNM!p0<>-0JeRR;@1;DUJ%BSeDnGM0000f()@Q_zyHJh=^@wo55&U5MfF1M+ky#f*|-&#*)=ElSSpSWK*!I zui?Uqdeb=N4No}dJ)(L{A2_gI4eo4L05d);{|T%+4J%&5nN76`Fl)z16k*p*7>h@H z>Ls`mg=4L7q8D0@Jd4{B487@EjPPJ1!jePp1|{eii7)3GKFx&--{RiZWJzt;UaWbF qP`I@E>r72u{WAU2g9Y=`f7TC1#NG1X>x&xz0000VU3rfR7#?TR3S64i+Y!q~~$3CV1I!wJDYqzegykz$R+}22&0c4>ee2IUHLyJRLd* z1NSvp#FYseV-9-mYT(2c@Y~&STLUYm0EKIJ%grCym`;OE&s1SRk1n>M`4DKQ*Hd48 ZUtiNx^dz@rF?av~002ovPDHLkV1k9@P+tH5 diff --git a/dist/v-1535381918818/images/markitup/h2.png b/dist/v-1535381918818/images/markitup/h2.png deleted file mode 100644 index ab10e73b6a0e0682cc52c8939a6297c39c959ef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmVST5CzbaC}{+X;4t`=I&Wd1Cne=vL$pVO;{m%jP^>Ds)RXu;xTqo+xQ{^N$z-s0CvNlyPA4C@F4 z?p!pX90_Qlb^~V8P>|u9!j}kd&sz+duRHbm`~YAI>yCB;Yw!R7002ovPDHLkV1kDg BWKaMA diff --git a/dist/v-1535381918818/images/markitup/h3.png b/dist/v-1535381918818/images/markitup/h3.png deleted file mode 100644 index 7c7ca64bc81b28268ff4c4a8a51458ce85f16a0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmVtV*3aS0arngK?9>U{8<vX7!ez?v zw;!iCP<#$w0c%-hm1R@R+bBt58A5n^anrG|a*=ST5Cu?66f_8liYiw`*U?cSH?G{cp@?J#VS<|=8)SmpfC<=u32qH?0VkxQMAumQ zPv1V9)tryH1VoCgGpwc`0(*A!37Q+yuOUk0-D@mcT;c@$2ObGH?lyognCk;Pq@Tm+ zM>lqJs{o&1YpxE^OGphZ-vuo!8ZX6?QvyMJ0*wMFYg^f3%BQSJz>7-&8Du}@oPDqG qq)+2k*Tex>%eVD1GIZTnpU)dmuJI8A%=eT40000 z?XSZ`v8F08aAX;Dc%@d$D9Z0uhRDE@VW6-f z8BbJi{SodTU{k4vy2Pnanxn{duAY!!IPTQ@^9Fm^?6|z+%Mt(p002ovPDHLkV1g!W BYqtOZ diff --git a/dist/v-1535381918818/images/markitup/h6.png b/dist/v-1535381918818/images/markitup/h6.png deleted file mode 100644 index 3a4884c712f93b5b7a9aaaaa3076f3c380b16e5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmV+c0sj7pP)mgD=tu`%#m=S$Y7joV6ZE=3RHnBxDHgobg&g{BfpKgV8y~F z4$V*B{22y{IgsB}&*83OCq4b1e-k7kT<9fePO`vDvh*6$@_#1nH@8 zcPno<+&DkR6jMn3c(jMWg~E zLjhL4*!fS^L*+k+K>htJ unR%V^?R9cYj0^&d3=B*R6F3P ztdgw7`NKe9=AYzGCLzYCUm=7FhuBDfCgCc^`1qqC#weKt)R-d{Fi)EB-PdcL4K)77 ztTX8h>VmMrLxHQi@vF?SU$NC2ZwD`#aVj{=xSwDZm$<+R&NI4Gm}ZDwOw#%dV;p33 zQ)n~92R`wPH7w&cqiahB9gZ==O@VJm>84BdgiUN0_+}{?>=gt@cpuo{zVwV8_OU*Y r%IdEm-QjvLNdFS$MLttl^gDk64p!SwB+z^)00000NkvXXu0mjfj2wTK diff --git a/dist/v-1535381918818/images/markitup/image.png b/dist/v-1535381918818/images/markitup/image.png deleted file mode 100755 index a33c43306b38641d4ff7df83ed28f25c14ed8cff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmV;=0WkiFP)^PV@JoGPt@r=TbZ;--^}f}g<6$-xdHh~k#LlV}&w%~`}r1a}8Ng%mm# z17ah#L~5FxocFmssfm9f1$$j4iNlCAR#sm>NwwYF9;Ei}h<`bMC~{aVc>d<`jZUPI z+*Tgmy;LrjrI|$p2yiA02_$ePM5-%pKX`i!=tLUZyD2YEly?8=OHQ3RPM$eQIfNyG zK`;ox$b#`<<2{c$_ZTNL8j;3e1R+GupF7Ki%U8)lhLpe}m=Vk{3xp78WdV17icC3> z=WW`>F_4%?2oMvIDF?>YknwO2%#a*c!aZPsBr;3X)d0zviA+iGx&M(by*^{FaV5Tv zwy4r+j31Ws9rnKUL4ldblmwr)7HD;c?2|wx(vX=Q3c6kKyGX+U2|{*+kmbyiwc3bZ z0#g$ICDM>P2J|-9IY@7F9dr$M_C*@Tgm|{L3K;WU2P$SFjm0ALy&f)|Tre<0Ob7(x zZ$@2L>js1)gi#0h-^M z1K6H3X*6duO;HSHNd3X)kg+U=nWOpfJGMV!Obq2OIToKxuU!gqg{P~Z%Q~loCIEid BFlGP% diff --git a/dist/v-1535381918818/images/markitup/jaysalvat.png b/dist/v-1535381918818/images/markitup/jaysalvat.png deleted file mode 100755 index d487f6e33f384138ce15355481d82b27a9e96372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 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 Gq5lUXX7N1$ diff --git a/dist/v-1535381918818/images/markitup/menu.png b/dist/v-1535381918818/images/markitup/menu.png deleted file mode 100755 index ae47f2372656f0eef72edfca231000479fd08458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmV;Z09XHsP)gL9n*}`(MJWzztYyAcDoWiSQM{G?{81TrQ94YOSVbF`1kdUcO5y zWrYh)U(6kcBtvU{;*8sPcX;5KWPq++qm%+0T(QPJN&oZbBu3i~Tl9_O)BG>QUS1S16%d5{Pi z(*9zr$-uxMUlQaO%)rPhsG{TQ;T4sTSWq~5*0Rl8ckDfQHq(wtUDrR7tK;RFkj-41Vh7RBe&fQTn=nI zw`(<8boXB4=P@xYKC0m5AHuBPbKS|s{oDiR^z#DlcVgFU&7AS~>l? diff --git a/dist/v-1535381918818/images/markitup/preview.png b/dist/v-1535381918818/images/markitup/preview.png deleted file mode 100755 index b402749728189c62ca4e95a8911624181abf7a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmV+j0r&oiP)ZI*DHe?$lt9xNQQ zGXpz&7ny03v$c`>&kQ2sAR=xe;w2)U>%KqekeRDO-~^v|!yO*5EbO%9XQp0!g)Gr_ z)7!;k^=97;I`I-a7-3p9!XDm>Gw%&9s*$)Y?6AS6g)JKFJTq4z4n2l8;1~?B4H5Hh zgfWh)#y^hGn9P0=;^p8L8uHniHGbfD?HW6i3GVTVCtPDP#Et*|nZ5vh>C(FEZQ#}b O0000VU7=|D6K!XIjOSfRq&<%tV;iiL4LS08gm(bkY9R%eRHE2Vt;Ns>MAwffgJPm$_ zJJ22_B@=pj#Ts~>7@ z!}iQt)V9|h^nhDnv0;10B5HftK~i7T{vWny_M<1Ew$yjE`i}wC=xHUO3oL<~g4HMB zBI0x4pr9{-ZUQ>MJuoR0oB^*9p8{6}{SD}#&ecJQ&9UDYm*@j^o?>&eM#tUkpFaJME_fCey%^8h%GduJR0*Qj-M>Q4;S?clIPpQ`mQS|e4Y1--$>00000 LNkvXXu0mjfEZT+X diff --git a/dist/v-1535381918818/images/markitup/quotes.png b/dist/v-1535381918818/images/markitup/quotes.png deleted file mode 100644 index 947a4a4086b5da9a2ecf562b857966501610caf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmV+|0n+}7P)9 zUNd{bbV^CtypESFxWz)jR`Hx!A4@eWMAupHj>X1gmzjNF`4`KAd36f*uz7T2|j*cv#L673g8{VeV41)$2!h2?U?UJhYl&p z2-m2p+L^Bp-a%E(Fu`UY(AvToHn7|^-r%aq_6S_!sq;I8-KTH=!h$cRF)%QwdAc};a9mGLXlP{MFy(cc>%|b9KCNNp o<=%u>EsQg?+B5v$^ZZW diff --git a/dist/v-1535381918818/images/menu-vert.png b/dist/v-1535381918818/images/menu-vert.png deleted file mode 100644 index 81db59ecc64af8ffcc111afc706a9bffa8b3fa37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9390 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 diff --git a/dist/v-1535381918818/images/menu.png b/dist/v-1535381918818/images/menu.png deleted file mode 100644 index 9d22fe2ccd5ae4b6fa6e61f34bd3b3bc3ca1f1ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13984 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 Tx%UhJ004~i%ynySV&nfG8}P)J diff --git a/dist/v-1535381918818/images/monster-fight.png b/dist/v-1535381918818/images/monster-fight.png deleted file mode 100644 index eec5449013f25cf7faf176f8b8e953e5e1812c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26811 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 diff --git a/dist/v-1535381918818/images/project-logos/project-logo-01.png b/dist/v-1535381918818/images/project-logos/project-logo-01.png deleted file mode 100644 index a5749ecbcd73eff3a4b70db33eb05e12674d5943..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8B&IkB}xH2#>{2xYOMaMjM z1_lO~k|4ie25vzKSp`j9J$+*f8wY2X;P}L(lG3vJhQ_YG36p0pS-NcbijAAMY~8bW z|B++IPn~)y?fm6u!D%h zMFA_$z1IVr)xX?3`M+LRXm;hq4IJDu>~nX^-n9F6s!HnS(n%_wlTRJ z7EkCxI4I6d(%UL=u{wI?&ZdRpuU7V^x$V9H2lavHBQmzie)*ZQ;*MZRz3pP35^ray z?9N5M*@7QWFJF1M?81BZg)c8&IWT`w`eWf*&UxKs7s5Y=6ecoDfq_;0m#@yRo+xac z+qzG)-KwQ;F598#FK76dPuu)%S;mW(6($f+!g%rP-79HdOb#7e{dv*CdRwvPHW2v7 zR$DXMDx1AFp0|{vR#@-%72U&98DQ{Y{l}N!X)9?kmDhY45Ir`TW1~E}N-=r?Wr*3Ub@K)amKtK)A0jTsXR3yFO0= d6lg(twM?>FaRHp~89G7f)YH|^Wt~$(69DwT$IAc! diff --git a/dist/v-1535381918818/images/project-logos/project-logo-02.png b/dist/v-1535381918818/images/project-logos/project-logo-02.png deleted file mode 100644 index 0205f9d116e2d904e283e8a9041ea2ce15847996..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 927 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8BWdnRdTp1V`{*MA2U?Si2 z7zPH0xRM~hUYCcR=9a$x$y26In>}y-f<-GPyY1hTpUxC)$}tk?6c7Z1iIMMDUx^lZv2V{6ekqfT3kw{Z+5XyJ*yKmxXMyvc-1q$59h%u7^8fjEWjbkn zW{=&cSz3|y^(B-1GTUA0>prl@Ek>AoOL?tQN_-+O-+DC7 z#4>N&Gr8K$dDCu8T{C6b^mBDha$Dw{dck!3pUl^1-YpZ#YTn8~yvHk5a^l6ir{CXf z-`8K-c(`_RPxY6{^UiPew)}ne^Xl(y`z?EVZe6$;yxBOmYW;=3B`?e8yPP@9nRTV; z9RtkXU;7tp&t57!+e-88F8BM-&%DvEeK}&(^F1T6FaeoSLvU|{fc^>bP0 Hl+XkKyh%Qj diff --git a/dist/v-1535381918818/images/project-logos/project-logo-03.png b/dist/v-1535381918818/images/project-logos/project-logo-03.png deleted file mode 100644 index a6e32bd10661abe3dc0784f33bc12e0741d49136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8BmInBQxH2#>{2%mS$KS`H z3=9lrB|(0{3>@47V$yQ*3aZ8?<`!<=fpJ-d72VUO&s?~8`KtAsHgDa%Z~uvtr!HK) za`pO+I}cvGeEaVG$4}Rv%l0xbFgkm>IEGZ*dVBY@-ysKyhKp7EyPFi4nif5h72W#& ze}}R4YEGA>6^X@~O!l0eI!VQIlFCbWZ}x>(yB1vkbivL93`$O3eEl{= zebM;p80=K+O`=B7J`BOYSZp+_Di4dO>x}1Cg!IY6T}lx z@Wm!7&NDZZ^)COp&xmdKI;Vst0ITw4ssI20 diff --git a/dist/v-1535381918818/images/project-logos/project-logo-04.png b/dist/v-1535381918818/images/project-logos/project-logo-04.png deleted file mode 100644 index 0d8fa3564898373c34c089ed6a83e8d702735dee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1098 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8B;{$v`Tp1V`{*MBh0sg;k z{}~t*J`~$;c;u2Fba`Fm` zOUf#$YwGG7T3S21d;0n(PMJP))|~kZ7A{`0a@E=m8@FuRzGL^Ez55OvJaqWT(PPI? zoIZQu>diZM?>%_<=<$=M&tJa#_~q-j?>~P1^ZXK@&%nT>=IP=XQgQ3;-SA-HK$-T3 z%Cao24M9hmF6n5U3N}0U4d?EQ}M;sfkmG{L^)8kk7e{@o} zkJ5i1U9RlZzvSP2&M&?<6CnV~K%*Y=%Gn423ul&8$XW7xJ)Y-Nmcd+qFmE3s2KS{pCZ{1aK zrK-%Eml*HJ+h_beqMsM}R*}zle_GSKjtm>9vGH18rnX$s+|jCkZM$!FIPd$mHS^lT z=KDOd*{l3?XYu;mkE5?gZ?U-?Jzp*L?-Xt`s1;xK%k@U&v+gZQ_#5=1Z;oTu#MM>D zpFWy;U2o64xusD)@fGhEaY8-#R=RfmnW$dIT^@PI>)y2fTiD;Ua?`1pFQz{ozwfSK zwc`2`WVT4%p_z^MSJLA3w~}9E%@X~)xH2#>{2v9w7bKLg zoXo($Fux?oFPMRam5rT~o0nfeNLWNvOk6@rT1Hk*UQtO!RZT-vTi?LQ*vi(y(cQz- z%g5I*ASgH_G%PAQCN?fUF(o5ACpRy@ps=X8q_n)EvZ}hKwyvSEskyDQtGle^yTC#N6ij}L@uG_F>$Ie~5_wL(&=QuQNeUjcaY{EdDbOb1$vi_)%K^Z$|Hx z+Lc#hThm`C%?+1&a^L>acm4HCUI_>7x19Um>G5q3I`E75;rx#JN(j~bUOS|{Jy1}1WzceITYv%vc z?Jf&nm&ji$4Y2p65@Ub$aQxCoZ$~R&T1B7xFnu>ZI58MTak~*mUoj zr@!=4uJac{ce$N8n>OR}`!k3CZk<$V_xJKgE&q$(OZLKIh|N~^!saiV(;iIwQj`(E z)wcCJ^QF+gwzmTITv+z_S=RK|HOJ5Rm*^Q5|1>K1{?mBxjgKeX3BjG~{w)3a-SfWA zuaCv$^M#tX?F~G7K`VD<<&NJA0-|P!y!c&a{zBT%2obweUG2TDzrFW8Agc(Tg8nm_ Yec`b=|9{O<1_lNOPgg&ebxsLQ0G&LRfB*mh diff --git a/dist/v-1535381918818/images/quote.png b/dist/v-1535381918818/images/quote.png deleted file mode 100644 index dd6d973ead471aff39e4c16a8c0850fb39db22d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 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 Bv?c%m diff --git a/dist/v-1535381918818/images/unnamed.png b/dist/v-1535381918818/images/unnamed.png deleted file mode 100644 index e6c900d17b8d237ae3bfdbc8037585ca17839009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2053 zcmV+g2>SPlP)4Ks<5QTaFcf+mKUTk+87eLt+b;e5&LPDxyGWM1FHN#T*;G7dS+c29ha| zYSRG0B<5=Ja)QbP&syOh2|8X}E3flff^96+_N4^V7^vwB35F3w5Di~OAe!JAD;U3H zf+wu-4+OIqt=TUT%opR2x0ap>9$BIF_Ay@ks1mF^QqCF#>G-jve8CFs{^w-5cJr1S zRf4IFJmt zgD1yRdOrL3-k+)j9US0t&FhkZoEVTK8@gC^z2FFa1GQk$< zkgx+?&lLejc1@7o_v$m!3hoec<6JKl!I@tZ!uxO338qpL(5eV(YY;0e)d{{Hn;<{i zl%T!_w!%c6VDQ)kq>eNS!m30$j4(mxu?a|>N`j-fE>sO8a%}|S2#k_~VJyy%Y8VlM zEi@YnqnzO|=BofNx;pmTaXevh6fCL{ zMucF1To~avCJH7%!-x zSn3gcl}C^lt3)Km5ivo*Umn6lk6=KLfISSs3dedFkGuk9C3qMyf(~;8btTTVI37V0 z#N6)LA@nt$8~sztSEU4Fg_I9tWr7+%IfS+rL2HuKJ1|N_d>m8J1mQ{CeXcVfbbst9 z6)O^~aN)vugcT^xp}l@nCV1c4b^tUSq^9z&!_@9zHRTm)CgJ=J1YG2y=C>6GeL~(=;dtzB@93TQV!CnRN_bh3WTFX z0aE*WUr`AIP#~`p)~ZkauNP6m=vsO^*%E*Z zL9^MWXBxVvzz$^up=PsD?gM2T6e>hGK%}Qa?nOf-3dPX-gCB(CwhRLxw~b+trNB{k zL6OD>O1S0F^qmO~P!<7s5Q-5uC&EhPLqi`l(nkOsh%1>5s##f3!VM(fQXqs>vUwP| z$c)HbnQE6t`yl;_5CwGrKalR=am{xl@cw{TLjEylZFxL^XIWBapSv=?A$KU860$>b zt*p3tAtXy|iEbfscTl@aW0eT;W;-(6)=MgY#LJg$aO?=VLlW+lhg1of0$HsOUWGs& zjW=YeLd$+f#e!dNJfn;@^l+;Qgg&ELk7 zDB;6TjoABxF%-sdTZ~}QG2MAq^duaLGXyFT!cWfVJCvc=!z=rjCdkSr1iR|}eYpjo zMDV8h7H8ul3NR+{ye%QvRR7=6jp|Bx>$c{btn5_73REV@$|3|m>^B6u8LvbZl%5_z zKkKoJ00kHmWc5P`mdt_!yCKg%)FXJ$55pG}U`>$Kf)FgYPdV(S5zDXnK5@hx2BQFH z0usi&xEJv|X5+gO#Z)!cBbXFDG9_3AI1?0MWa3z}LVgI8f2K#UphG$q*O42{z7y=Y zg{&2_L!kd#=@D3P@ke_PBNxZI71+}H!qI_y)IUS6?*u=!#XETKo(@4DY{8qL3?m;$ z(F(MNIt1@v3*qC_;!d!rFXydLme#knk%9?m7;AAvtuWRhm?)TlhOr*UJS9MbnGV51 z!2~pn^*CZySm_X`Xh6d##1Ye>rSS_0OX(b}OM)Ly$%{R80x*o?f&P>POY!um$I(y^ zqoDS(BoN~0Sn6>!l*3p&BLHC(;<$(RA8Y&`$x@jU-HO0bn2@kI8j4{AtYB9JyT>L# z<7jAH8EaP9Rs@?zvymi@hWeF}TH)Z@TWhtLGqqS*8{0WZOn}DGP`)yf(>TkfYkp|H zGLZFTw!-!wD1UDRh8}+odgLT_XLEUx2a{HB@cBJks>RWehjBIgE{3LG<>de$>|=Nx zWUTyK-E8BfFf{#Xf(+mr`iR{fe0)!rSR5gO;h@{Xe`DR6-~dy}-?L;O!(aN diff --git a/dist/v-1535381918818/images/user-avatars/user-avatar-01.png b/dist/v-1535381918818/images/user-avatars/user-avatar-01.png deleted file mode 100644 index 6695e8f6af78b3140c9ab02e2581847c0f23efb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1088 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8BGXi`|BCE!eSDVQt}E)%Bq@L+Byb?M#d(VR@OGQ_KwbO?jD}rKE45g zK_Q{xkuh=c$tkJn8JStxxrL<_mDP1k&8;0hy?qlVO`bY^#=^x*m#tX2X5ISDTXyW) zbKvlaGuQ9ld-UYl^A~U4zW?y?)0b~Qe*XIX=ijf=Wl{_bOah)Rjv*Dd-rl+%EF37& z_HkGVSoXTS9&K8p6xq%ck1Rqu`|!>mR*~+)Vjv&+?o6^$y-0%KFvEj zy(sIX@y~T9`OiNI)--)O^GkM+RnX(^MftxNz2}{rqt-p|+gBa)H-g)lZ z$vu5hrqlh~7SHzUo_S`*>EFt3`#J2>ehT!-@y;)r4)c7U%w0<*Z>y}cG5du2^4^Mm zwt2pJXU&x8U})gn^SXGu%=6z`8Kc>?zAJln##E?rzh3z%T+-mP?bnrezkN$_{bjoH z{=f2jd9nQa?^b=fzju-{G!!;G`+ceGlxDj9<6y&!Py3U!KZVcbdcRbArSHAJ^DjLQ z%$rfepDhHnNX@FLEp7Rlbh|G`rf+7Jlvt(;!QzkMz-#d@VpiHc9Fe<0VxF#kF6*2U FngD%6z1;u+ diff --git a/dist/v-1535381918818/images/user-avatars/user-avatar-02.png b/dist/v-1535381918818/images/user-avatars/user-avatar-02.png deleted file mode 100644 index 16034e353e6d86b919e6d47ad9adb81b975c3894..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1005 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8Btpj{QTp1V`{*MB(fQ_w{ z1_J{_MoExgFaskq3kN3;AHRU0kcg<5l$^Yxs=BtGfuX6jt&_96r>}o-Sa?KCTzo=e zYFb8SPHtX7NqJRuO>JF$Q*S9f3k#7Q$|&7HS!>9XZ3R|vzPCG{L^2Qdx(L7@u#PYV@SoVw|63=g#slGeDsXb3eYlUzNDhP<-}4C z-#{Oc-1wMDI^W;^u5Vg*u3FFL>;Z$~v@8Grccss>{7}8)p}~i~#{z;d5Ey*7>e=e& z@6&3g^03tA-wmJr{NF29UMZ7|3;*AKqf+a7phB^}_rUE6W|5*?6V4*nfE)ymC&6?VSx>dORz#eD_~o zdd$q{;Nq`sD@8PR1x>m2bjy+Q@-GwXX5J2c*>Czq`0=CscQ0xmFN(adz_GcH%eF|T zH(sjb-Ez&{FO28f%_w&^|K@5PvSs7KYZs?Z5BfOu$w$MwPp(nXlgidCd>j9rfmh1p z#g7H2^YzSrzkGajTXM@gW1H~u*$*EWWPnU$tDSmL*guq0*vfM0FPYQ4!R?&2_Rn_P zfaQ3t3chUmvu5X}?W?UG>|%##0EfT=$L4KKeyK}ezPM=mQ~j&Ms*Q&0#4j%P_C0^B z5v*dpnD(ly+UTv)#arf8zr1vPx%>^M@)Hsv`(sPY*1pCzY3hatQn_sbKAab5r{2v8_81$|) zbYx&)=qd^F3ua(sVrF6E<`WPS77-Jdkdl^>m6KOgR#8<`*VNM1)zddHG&V7_vbM3c zcW`v^@beE22@Q{qjf+o6OiE5k&&bZn%P%M{si>}LYVGLk?&Jj z;i4r=m#tX6cHR0d+js2Sf8fxOqsLF2JazuU)tk3&-??}H$+PD#U%h_&{==uw-+w*% zBk+%bfoZp=i(^Q|t+zL?2MY&^G<@t96qVL8OLE0#W~(b3UyYL&IR>5soFen|)IIpg_K za^=bVlF4>jyiz6^7Z!+{RD~vQoYvo(bUr2UMUlPvO6Pm09+j@%a&mQX#KPwv;=(z< zKW-~I(W0}j^8a~eUMZ6oT29yhPCT}3$&nz!sA?@hR>I6pP-;Q8sdm8(3IcV!iq zy{_E*aO%2kET1C9L3TK{OW*w#Q}x5|*7G;lf~yWQ%U()odb{iQWV<{qQILG|I-6f% z%WjBPzrWP6<@(JHldGElu8!`t(YPFKRuy&bS@U^y*^7J47dSSv@m4i1-u_;v?BVV& z&SLRys_pXycR&5L(R1cU&*Nn$CfodWJvYP8wsZfcA5Z@+dAojjdfCqpYAhxh7aqF! z|NB4p^@c6?_7%71Epuv^cgeo@)vK1;^!<5#?7e;UQ`J&FUbg+U{fxx*jklYACRB&; z`p;b$|4K_Cu`?;_gthbj3s>1LEN~1ruKK=V%Ei$9<)K05n|G~REnzjQJXRO%4>sG? zuH{P|zrUz9dYonOqQkDzBEC)&QhD>H1(_MFobCK;`?D2Sz2q;{7R%m=+`H!Zy`GoPw(d-u!w8A9^zz?}rff53 zFEJL^+9KY_28xtd&gR>_{r4>4dv#;Qdig^6%FcKEFJ?1?t(MLEl9XA@dE}{c7_+Kg zw4Sk&+5@v`7fNnSS9SWj)C%PCaKWmRaxZTrYo^6tTRfZnYnxQ?X`zeEWyb7*Gc z-PLtLw|vPDsnx~1cHU~)toK{>cLQfNI6kcIy!DUBHFa@uaS_S+&+u1SJ*Q!U@<|2; O1_n=8KbLh*2~7ZW7gLA; diff --git a/dist/v-1535381918818/images/user-avatars/user-avatar-04.png b/dist/v-1535381918818/images/user-avatars/user-avatar-04.png deleted file mode 100644 index 4c456402b4db4580f6f34688bfc8dc94a5565953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1170 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8BO9FgCTp1V`{*MCsf)8ae zE({C|)g?iG!3>Pdtn56zd;)?(BBEmA5|UEVvT_P4s_GhAI{F4i#-?WGme%%8&aQ6m z9^S!Wkx|hxaq$U>X<6AhxdnwK<+XM7jm<4>?Hye`{Szinoi=mU?78z7EMBsF)!KC% zHg4Lob=!`eyAB>ce(Lm@i6Kl%&|OhKM5jv*Dd-rjv} z9ug?i{;_vLOwh`gi&|8;V%?Xv#VB10Sf_Z&_2shH8vkoful_rC>zk|k#g>cbJ%4Lg z{rk)u^Xj*ya|-)9IyyT39bf0i^6Grf-KqYKY?~Y2Me2r~jaSMf7Cmj1o&MVTkF{qtcLlLUl`c5CDP;Psb*B#qURdA=R{g?$;cKfUM^f*< zEqqzGKYv-cl_;mxTGpK}Dl;zcl$-@I&#{?puX5D}{ea(`@lKr1XZO8Z>Y)FrY})i| znKK2$onqMZaw3_aO4A$qVkiCj)El=;b*|~+^%~DpI+xz7ygz%(+}Km*+s|LJoNKqi z`b*(uk-hToo$fzel(|w3>XwqYiys5;uljfOeD=PHOwQJ)_0Bg!JoH~-*NTWu3rpPs zRbFJq{#n2pyP7!|>Vb?4_09WsE4|$BSXwvPDs_QV`W?+RYct!RS{FFJXZ-Te?d8Fa z_sil+lY_LjuZiBO$otyk)71A{?RrFR-({aaJ-^l@H+$9h#fLV9RM_uTV_vCqM;Gd- zFJ+s#_iaqRWa~ORZcFgu7wNp0ZqMKMKJs3JDa-u%dQ(^5iu1~?(h;jk`<293-fLF! zfk6lq1&+;Zva-J}n7*92=(NrY=KV{)I|rS4y0T@_Y26oIvNK8pS->&n*nDsE3n|+? zuT$3Z=C69&zGvgl!;&voblcc|jONXC2wt}V7Owf<1L|&PseO4I@*129G_K@p*q;-O UG5EZffq{X+)78&qol`;+04}cLYybcN diff --git a/dist/v-1535381918818/images/user-avatars/user-avatar-05.png b/dist/v-1535381918818/images/user-avatars/user-avatar-05.png deleted file mode 100644 index 265f94f0e4830c9c3df124fb8671b0d81282e58e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1093 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8BBLjRwTp1V`{*MA00M$$9 z-ZC&S6qN+|1v4-*F|%@V@d^kEi%QDKDk`g}Y3k}3nwnc$S=-pzJ2*PI`}hR}hekw3 z#V01EWfql`R@c-vw6sm0GHvFZx$_n*UAA)d`VAX5Z`rzS$Ijh*_8&TY{Pd;E*RJ2b zbN}I^$4{TXdj0m@`wt&Keg5+G+xH*8|NKpNKGMy=z@+Kv;uunK>+PM$;L8aTZ4X11 zbTxD=P|(`Vu~s45u{$EQkdg7`!Psw0*M9iVFVp|&%Y(}%e}yhT+~+_0`&rZ6^jV(i zk1Sl^KrriB@7b)wj?eXSt}#fNWL#L_*vuyqTNtV({-tSN+K$Ufho4{i{oq2bnfdmY z&sagyY`juiL`y!k-oE~3<89{IFWM`&$IqX?Q?+L8>`UJj9<~HHows0x8l}e-tL`h_ zzi-)R^XxlX-R}FReVn!bp2ww?cjkQgIQdHAEO~>wZc+xmTk<^R)0VC|7hd5yKXplJ z?b6e7yS)3WR;Syr@Is9G?I!=CE8IJ1cjmv3%WiLrTl-~}n%rCO&r28YPxraIz1+0w zdW8_gc~)I7HZH%EE9sf*ZF?;KHE*U%+zwL>-v~G9|1w^$J@&s`QD>`_Yqd(aE1=j&X-pCsUCJvFHOny>8ku&qxN6F>eBVI^G`Re z>+v>UvWjD|HxDR?7dQHudWOHTOzyqp@$$toyO$B)kG@^_c-QwQoh9qPJl&nRpj@~9 zt^+8fO)@UjS8ac^?OyJCPszJCO}8IqSg&B6V>dbFG^aW=HcDzI8GcyMnBv#n%cU|{fc^>bP0l+XkKBCNP0 diff --git a/dist/v-1535381918818/images/user-noimage.png b/dist/v-1535381918818/images/user-noimage.png deleted file mode 100644 index 812b44ef04f7dd521161f3be39db5a832bbea1d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4519 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')},n=function(n){return new Promise(function(t,i){var o,r;return r=function(n){var i,o,r,a;if(n.isPack)for(a=n.plugins,i=0,r=a.length;i0?t(window.taigaConfig.contribPlugins).then(function(){return ljs.load("/"+window._version+"/js/app.js",function(){return n.then(function(){return angular.bootstrap(document,["taiga"])})})}):ljs.load("/"+window._version+"/js/app.js",function(){return n.then(function(){return angular.bootstrap(document,["taiga"])})})})}).call(this); \ No newline at end of file diff --git a/dist/v-1535381918818/js/app.js b/dist/v-1535381918818/js/app.js deleted file mode 100644 index d6dfa04..0000000 --- a/dist/v-1535381918818/js/app.js +++ /dev/null @@ -1,24 +0,0 @@ -(function(){var t,e,r,n,i,o,s,a;this.taiga=a={},a.emojis=window.emojis,this.taigaContribPlugins=this.taigaContribPlugins||window.taigaContribPlugins||[],a.generateHash=function(t){return null==t&&(t=[]),t=_.map(t,function(t){return JSON.stringify(t)}),hex_sha1(t.join(":"))},a.generateUniqueSessionIdentifier=function(){var t,e;return t=(new Date).getTime(),e=Math.floor(150994944*Math.random()),a.generateHash([t,e])},a.sessionId=a.generateUniqueSessionIdentifier(),t=function(t,e,r,n,i,o,s,c,u){var l,p,d,f,h,g,m,v,y;return u.classNameFilter(/^(?:(?!ng-animate-disabled).)*$/),g=t.when,t.when=function(e,r){return r.resolve||(r.resolve={}),angular.extend(r.resolve,{languageLoad:["$q","$translate",function(t,e){var r;return r=t.defer(),e().then(function(){return r.resolve()}),r.promise}],projectLoaded:["$q","tgProjectService","$route",function(t,e,r){var n,i;return n=t.defer(),e.setSection(null!=(i=r.current.$$route)?i.section:void 0),r.current.params.pslug?e.setProjectBySlug(r.current.params.pslug).then(n.resolve):(e.cleanProject(),n.resolve()),n.promise}]}),g.call(t,e,r)},t.when("/",{templateUrl:"home/home.html",controller:"Home",controllerAs:"vm",loader:!0,title:"HOME.PAGE_TITLE",loader:!0,description:"HOME.PAGE_DESCRIPTION",joyride:"dashboard"}),t.when("/discover",{templateUrl:"discover/discover-home/discover-home.html",controller:"DiscoverHome",controllerAs:"vm",title:"PROJECT.NAVIGATION.DISCOVER",loader:!0}),t.when("/discover/search",{templateUrl:"discover/discover-search/discover-search.html",title:"PROJECT.NAVIGATION.DISCOVER",loader:!0,controller:"DiscoverSearch",controllerAs:"vm",reloadOnSearch:!1}),t.when("/projects/",{templateUrl:"projects/listing/projects-listing.html",access:{requiresLogin:!0},title:"PROJECTS.PAGE_TITLE",description:"PROJECTS.PAGE_DESCRIPTION",loader:!0,controller:"ProjectsListing",controllerAs:"vm"}),t.when("/project/new",{title:"PROJECT.CREATE.TITLE",templateUrl:"projects/create/create-project.html",loader:!0,controller:"CreateProjectCtrl",controllerAs:"vm"}),t.when("/project/new/scrum",{title:"PROJECT.CREATE.TITLE",template:'',loader:!0}),t.when("/project/new/kanban",{title:"PROJECT.CREATE.TITLE",template:'',loader:!0}),t.when("/project/new/duplicate",{title:"PROJECT.CREATE.TITLE",template:"",loader:!0}),t.when("/project/new/import/:platform?",{title:"PROJECT.CREATE.TITLE",template:"",loader:!0}),t.when("/project/:pslug/",{templateUrl:"projects/project/project.html",loader:!0,controller:"Project",controllerAs:"vm",section:"project-timeline"}),t.when("/project/:pslug/t/:ref",{loader:!0,controller:"DetailController",template:""}),t.when("/project/:pslug/search",{templateUrl:"search/search.html",reloadOnSearch:!1,section:"search",loader:!0}),t.when("/project/:pslug/epics",{section:"epics",templateUrl:"epics/dashboard/epics-dashboard.html",loader:!0,controller:"EpicsDashboardCtrl",controllerAs:"vm"}),t.when("/project/:pslug/epic/:epicref",{templateUrl:"epic/epic-detail.html",loader:!0,section:"epics"}),t.when("/project/:pslug/backlog",{templateUrl:"backlog/backlog.html",loader:!0,section:"backlog",joyride:"backlog"}),t.when("/project/:pslug/kanban",{templateUrl:"kanban/kanban.html",loader:!0,section:"kanban",joyride:"kanban"}),t.when("/project/:pslug/taskboard/:sslug",{templateUrl:"taskboard/taskboard.html",loader:!0,section:"backlog"}),t.when("/project/:pslug/us/:usref",{templateUrl:"us/us-detail.html",loader:!0,section:"backlog-kanban"}),t.when("/project/:pslug/task/:taskref",{templateUrl:"task/task-detail.html",loader:!0,section:"backlog-kanban"}),t.when("/project/:pslug/wiki",{redirectTo:function(t){return"/project/"+t.pslug+"/wiki/home"}}),t.when("/project/:pslug/wiki-list",{templateUrl:"wiki/wiki-list.html",loader:!0,section:"wiki"}),t.when("/project/:pslug/wiki/:slug",{templateUrl:"wiki/wiki.html",loader:!0,section:"wiki"}),t.when("/project/:pslug/team",{templateUrl:"team/team.html",loader:!0,section:"team"}),t.when("/project/:pslug/issues",{templateUrl:"issue/issues.html",loader:!0,section:"issues"}),t.when("/project/:pslug/issue/:issueref",{templateUrl:"issue/issues-detail.html",loader:!0,section:"issues"}),t.when("/project/:pslug/admin/project-profile/details",{templateUrl:"admin/admin-project-profile.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/default-values",{templateUrl:"admin/admin-project-default-values.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/modules",{templateUrl:"admin/admin-project-modules.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/export",{templateUrl:"admin/admin-project-export.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/reports",{templateUrl:"admin/admin-project-reports.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/status",{templateUrl:"admin/admin-project-values-status.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/points",{templateUrl:"admin/admin-project-values-points.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/priorities",{templateUrl:"admin/admin-project-values-priorities.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/severities",{templateUrl:"admin/admin-project-values-severities.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/types",{templateUrl:"admin/admin-project-values-types.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/custom-fields",{templateUrl:"admin/admin-project-values-custom-fields.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/tags",{templateUrl:"admin/admin-project-values-tags.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/due-dates",{templateUrl:"admin/admin-project-values-due-dates.html",section:"admin"}),t.when("/project/:pslug/admin/memberships",{templateUrl:"admin/admin-memberships.html",section:"admin"}),t.when("/project/:pslug/admin/roles",{templateUrl:"admin/admin-roles.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/webhooks",{templateUrl:"admin/admin-third-parties-webhooks.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/github",{templateUrl:"admin/admin-third-parties-github.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/gitlab",{templateUrl:"admin/admin-third-parties-gitlab.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/bitbucket",{templateUrl:"admin/admin-third-parties-bitbucket.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/gogs",{templateUrl:"admin/admin-third-parties-gogs.html",section:"admin"}),t.when("/project/:pslug/admin/contrib/:plugin",{templateUrl:"contrib/main.html"}),t.when("/project/:pslug/transfer/:token",{templateUrl:"projects/transfer/transfer-page.html",loader:!0,controller:"Project",controllerAs:"vm"}),t.when("/user-settings/user-profile",{templateUrl:"user/user-profile.html"}),t.when("/user-settings/user-change-password",{templateUrl:"user/user-change-password.html"}),t.when("/user-settings/mail-notifications",{templateUrl:"user/mail-notifications.html"}),t.when("/user-settings/live-notifications",{templateUrl:"user/live-notifications.html"}),t.when("/change-email/:email_token",{templateUrl:"user/change-email.html"}),t.when("/cancel-account/:cancel_token",{templateUrl:"user/cancel-account.html"}),t.when("/user-settings/contrib/:plugin",{templateUrl:"contrib/user-settings.html"}),t.when("/profile",{templateUrl:"profile/profile.html",loader:!0,access:{requiresLogin:!0},controller:"Profile",controllerAs:"vm"}),t.when("/profile/:slug",{templateUrl:"profile/profile.html",loader:!0,controller:"Profile",controllerAs:"vm"}),t.when("/login",{templateUrl:"auth/login.html",title:"LOGIN.PAGE_TITLE",description:"LOGIN.PAGE_DESCRIPTION",disableHeader:!0,controller:"LoginPage"}),t.when("/register",{templateUrl:"auth/register.html",title:"REGISTER.PAGE_TITLE",description:"REGISTER.PAGE_DESCRIPTION",disableHeader:!0}),t.when("/forgot-password",{templateUrl:"auth/forgot-password.html",title:"FORGOT_PASSWORD.PAGE_TITLE",description:"FORGOT_PASSWORD.PAGE_DESCRIPTION",disableHeader:!0}),t.when("/change-password/:token",{templateUrl:"auth/change-password-from-recovery.html",title:"CHANGE_PASSWORD.PAGE_TITLE",description:"CHANGE_PASSWORD.PAGE_TITLE",disableHeader:!0}),t.when("/invitation/:token",{templateUrl:"auth/invitation.html",title:"INVITATION.PAGE_TITLE",description:"INVITATION.PAGE_DESCRIPTION",disableHeader:!0}),t.when("/external-apps",{templateUrl:"external-apps/external-app.html",title:"EXTERNAL_APP.PAGE_TITLE",description:"EXTERNAL_APP.PAGE_DESCRIPTION",controller:"ExternalApp",controllerAs:"vm",disableHeader:!0,mobileViewport:!0}),t.when("/blocked-project/:pslug/",{templateUrl:"projects/project/blocked-project.html",loader:!0}),t.when("/error",{templateUrl:"error/error.html"}),t.when("/not-found",{templateUrl:"error/not-found.html"}),t.when("/permission-denied",{templateUrl:"error/permission-denied.html"}),t.otherwise({templateUrl:"error/not-found.html"}),e.html5Mode({enabled:!0,requireBase:!1}),f={"Content-Type":"application/json","Accept-Language":window.taigaConfig.defaultLanguage||"en","X-Session-Id":a.sessionId},r.defaults.headers["delete"]=f,r.defaults.headers.patch=f,r.defaults.headers.post=f,r.defaults.headers.put=f,r.defaults.headers.get={"X-Session-Id":a.sessionId},r.useApplyAsync(!0),i.setSessionId(a.sessionId),l=function(t,e,r,n,i){var o;return o=function(o){var s,a;return 0===o.status||o.status===-1&&!o.config.cancelable?(n.closeAll(),i.error()):401===o.status&&e.url().indexOf("/login")===-1&&(s=e.url(),a=e.search(),a.force_next?e.url(r.resolve("login")).search("force_next",a.force_next):e.url(r.resolve("login")).search({unauthorized:!0,next:s})),t.reject(o)},{responseError:o}},n.factory("authHttpIntercept",["$q","$location","$tgNavUrls","lightboxService","tgErrorHandlingService",l]),r.interceptors.push("authHttpIntercept"),h=function(t,e){return{request:function(t){return e.logRequest(),t},requestError:function(r){return e.logResponse(),t.reject(r)},responseError:function(r){return e.logResponse(),t.reject(r)},response:function(t){return e.logResponse(),t}}},n.factory("loaderIntercept",["$q","tgLoader",h]),r.interceptors.push("loaderIntercept"),y=function(t){var e;return e=function(e){var r;return 400===e.status&&e.data.version&&(r=angular.element("body").injector(),r.invoke(["$tgConfirm","$translate",function(t){return function(t,e){var r;return r=e.instant("ERROR.VERSION_ERROR"),t.notify("error",r,null,1e4)}}(this)])),t.reject(e)},{responseError:e}},n.factory("versionCheckHttpIntercept",["$q",y]),r.interceptors.push("versionCheckHttpIntercept"),p=function(t,e){var r,n,i;return r=function(){return e.block()},i=function(t){return t.data.blocked_code&&r(),t},n=function(e){return 451===e.status&&r(),t.reject(e)},{response:i,responseError:n}},n.factory("blockingIntercept",["$q","tgErrorHandlingService",p]),r.interceptors.push("blockingIntercept"),o.debugInfoEnabled(window.taigaConfig.debugInfo||!1),localStorage.userInfo&&(v=JSON.parse(localStorage.userInfo)),m=(null!=v?v.lang:void 0)||window.taigaConfig.defaultLanguage||"en",c.addPart("taiga"),s.useLoader("$translatePartialLoader",{urlTemplate:"/"+window._version+"/locales/{part}/locale-{lang}.json"}).useSanitizeValueStrategy("escapeParameters").addInterpolation("$translateMessageFormatInterpolation").preferredLanguage(m),s.fallbackLanguage(m),d=window.getDecorators(),_.each(d,function(t){return n.decorator(t.provider,t.decorator)})},e=function(t,e){var r;return moment.locale(t),"en"!==t&&ljs.load("/"+window._version+"/locales/moment-locales/"+t+".js"),r={defaultMessage:e.instant("COMMON.FORM_ERRORS.DEFAULT_MESSAGE"),type:{email:e.instant("COMMON.FORM_ERRORS.TYPE_EMAIL"),url:e.instant("COMMON.FORM_ERRORS.TYPE_URL"),urlstrict:e.instant("COMMON.FORM_ERRORS.TYPE_URLSTRICT"),number:e.instant("COMMON.FORM_ERRORS.TYPE_NUMBER"),digits:e.instant("COMMON.FORM_ERRORS.TYPE_DIGITS"),dateIso:e.instant("COMMON.FORM_ERRORS.TYPE_DATEISO"),alphanum:e.instant("COMMON.FORM_ERRORS.TYPE_ALPHANUM"),phone:e.instant("COMMON.FORM_ERRORS.TYPE_PHONE")},notnull:e.instant("COMMON.FORM_ERRORS.NOTNULL"),notblank:e.instant("COMMON.FORM_ERRORS.NOT_BLANK"),required:e.instant("COMMON.FORM_ERRORS.REQUIRED"),regexp:e.instant("COMMON.FORM_ERRORS.REGEXP"),min:e.instant("COMMON.FORM_ERRORS.MIN"),max:e.instant("COMMON.FORM_ERRORS.MAX"),range:e.instant("COMMON.FORM_ERRORS.RANGE"),minlength:e.instant("COMMON.FORM_ERRORS.MIN_LENGTH"),maxlength:e.instant("COMMON.FORM_ERRORS.MAX_LENGTH"),rangelength:e.instant("COMMON.FORM_ERRORS.RANGE_LENGTH"),mincheck:e.instant("COMMON.FORM_ERRORS.MIN_CHECK"),maxcheck:e.instant("COMMON.FORM_ERRORS.MAX_CHECK"),rangecheck:e.instant("COMMON.FORM_ERRORS.RANGE_CHECK"),equalto:e.instant("COMMON.FORM_ERRORS.EQUAL_TO"),linewidth:e.instant("COMMON.FORM_ERRORS.LINEWIDTH"),pikaday:e.instant("COMMON.FORM_ERRORS.PIKADAY")},checksley.updateMessages("default",r)},r=function(t,r,n,i,o,s,c,u,l,p,d,f,h,g){var m,v,y;return t.debug("Initialize application"),r.$on("$translatePartialLoaderStructureChanged",function(){return s.refresh()}),y={linewidth:function(t,e){var r,n;return r=a.nl2br(t).split("
"),n=_.every(r,function(t){return t.length-1}),Promise.setScheduler(function(t){return r.$evalAsync(t)}),i.setupConnection(),n.isAuthenticated()&&(v=n.getUser(),n.showTerms()),o.initialize(),r.$on("$locationChangeStart",function(t){if(f.init(),h.getLightboxOpen().length)return t.preventDefault(),h.closeAll()}),m=r.$on("$routeChangeStart",function(t,e){return e.loader&&p.start(!0),m()}),r.$on("$routeChangeSuccess",function(t,e){var r,i;return e.loader&&p.start(!0),e.access&&e.access.requiresLogin&&(n.isAuthenticated()||c.path(u.resolve("login"))),(e.title||e.description)&&(i=s.instant(e.title||""),r=s.instant(e.description||""),l.setAll(i,r)),e.mobileViewport?l.addMobileViewport():l.removeMobileViewport(),e.disableHeader?d.disableHeader():d.enableHeader()})},angular.module("infinite-scroll").value("THROTTLE_MILLISECONDS",500),s=_.filter(this.taigaContribPlugins,function(t){return t.module}),o=_.map(s,function(t){return t.module}),i=["taigaBase","taigaCommon","taigaResources","taigaResources2","taigaAuth","taigaEvents","taigaHome","taigaNavigationBar","taigaProjects","taigaRelatedTasks","taigaBacklog","taigaTaskboard","taigaKanban","taigaIssues","taigaUserStories","taigaTasks","taigaTeam","taigaWiki","taigaSearch","taigaAdmin","taigaProject","taigaUserSettings","taigaFeedback","taigaPlugins","taigaIntegrations","taigaComponents","taigaProfile","taigaHome","taigaUserTimeline","taigaExternalApps","taigaDiscover","taigaHistory","taigaWikiHistory","taigaEpics","taigaUtils","templates","ngSanitize","ngRoute","ngAnimate","ngAria","pascalprecht.translate","infinite-scroll","tgRepeat"].concat(o),n=angular.module("taiga",i),n.config(["$routeProvider","$locationProvider","$httpProvider","$provide","$tgEventsProvider","$compileProvider","$translateProvider","$translatePartialLoaderProvider","$animateProvider",t]),n.run(["$log","$rootScope","$tgAuth","$tgEvents","$tgAnalytics","$translate","$tgLocation","$tgNavUrls","tgAppMetaService","tgLoader","tgNavigationBarService","tgErrorHandlingService","lightboxService","$tgConfig",r])}).call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=function(t,e){return function(){return t.apply(e,arguments)}};t=function(){function t(){}return t}(),r=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e}(t),e=function(t){function e(){return this.onInitialDataError=o(this.onInitialDataError,this),e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.onInitialDataError=function(t){return t&&(404===t.status?this.errorHandlingService.notfound():403===t.status&&this.errorHandlingService.permissionDenied()),this.q.reject(t)},e}(t),this.taiga.Base=t,this.taiga.Service=r,this.taiga.Controller=e}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v,y,b,S,j,k,$,I,E,T,C,P,w,A,O,R,M,U=[].indexOf||function(t){for(var e=0,r=this.length;e\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+e+"$2")}}(this),r=function(t){return function(t){var e,r;return e=_.keys(t),r=[],_.forIn(t,function(t,n){if(U.call(e,n)<0&&_.isFunction(t))return r.push(n)}),_.bindAll(t,r)}}(this),n=function(t){return function(t,e,r){var n,i;return i=t.$eval(e),void 0!==i?r(i):(n=null,n=t.$watch(e,function(t){if(void 0!==t)return r(t),n?n():void 0}))}}(this),m=function(){var t,e,r,n,i,o,s,a;for(e=arguments[0],o=2<=arguments.length?D.call(arguments,1):[],t=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return N(e,t),e}(e),r=o.length-1;r>=0;r+=-1){i=o[r],a=i.prototype;for(s in a)n=a[s],t.prototype[s]=n}return t},O=function(t,e){return _.trim(t,e)},I=function(t){return t.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-")},M=function(t){return t?_.capitalize(t.replace(/-/g," ")):t},A=function(t,e){var r,n;return r=t.data("nextTextPosition"),(null==r||r>=e.length)&&(r=0),n=e[r],t.data("nextTextPosition",r+1),t.text(n)},p=function(t,e){var r,n,i,o;for(o={},r=0,i=t.length;re&&(n=n.substring(0,e+1),n=n.substring(0,Math.min(n.length,n.lastIndexOf(" "))),n+=r),n):t},$=function(t,e){var r,n,i;return null==e&&(e=1),isNaN(parseFloat(t))||!isFinite(t)?"-":0===t?"0 bytes":(i=["bytes","KB","MB","GB","TB","PB"],r=Math.floor(Math.log(t)/Math.log(1024)),r>5&&(r=5),n=(t/Math.pow(1024,r)).toFixed(e),n+" "+i[r])},T=function(t,e){var r;return e?(r=new RegExp("<(?!"+e+"s*/?)[^>]+>","gi"),String(t).replace(r,"")):String(t).replace(/<\/?[^>]+>/g,"")},j=function(t,e,r){var n;return n=new RegExp("<("+e+")>","gi"),t=t.replace(n,"<"+r+">"),n=new RegExp("","gi"),t=t.replace(n,"")},a=function(t){return function(t,e,r){return Object.defineProperty(t,e,{get:function(){var t;if(!_.isFunction(r))throw"defineImmutableProperty third param must be a function";if(t=r(),t&&_.isObject(t)&&void 0===t.size)throw"defineImmutableProperty must return immutable data";return t}})}}(this),_.mixin({removeKeys:function(t,e){return _.chain([e]).flatten().reduce(function(t,e){return delete t[e],t},t).value()},cartesianProduct:function(){return _.reduceRight(arguments,function(t,e){return _.flatten(_.map(t,function(t){return _.map(e,function(e){return[e].concat(t)})}),!0)},[[]])}}),f=function(t){return null!==t.match(/\.(jpe?g|png|gif|gifv|webm|svg|psd)/i)},d=function(t){return null!=t&&null!==t.match(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)},h=function(t){return null!==t.match(/\.(pdf)/i)},b=function(t,e){var r;return r={},e.forEach(function(e,n){if(e!==t.get(n))return e.toJS?r[n]=e.toJS():r[n]=e}),r},t=["#fce94f","#edd400","#c4a000","#8ae234","#73d216","#4e9a06","#d3d7cf","#fcaf3e","#f57900","#ce5c00","#729fcf","#3465a4","#204a87","#888a85","#ad7fa8","#75507b","#5c3566","#ef2929","#cc0000","#a40000","#222222"],l=function(){return _.sample(t)},c=function(){return _.clone(t)},u=function(t,e,r){var n,i;for(r||(r=1),i=[],n=null;n=e.exec(t);)r===-1?i.push(n):i.push(n[r]);return i},S=function(t,e){var r;return r=e-t,t+Math.floor(Math.random()*(r+1))},y=function(t){var e;return e=t,e=e.replace("Á","A").replace("Ä","A").replace("À","A"),e=e.replace("É","E").replace("Ë","E").replace("È","E"),e=e.replace("Í","I").replace("Ï","I").replace("Ì","I"),e=e.replace("Ó","O").replace("Ö","O").replace("Ò","O"),e=e.replace("Ú","U").replace("Ü","U").replace("Ù","U")},C=this.taiga,C.addClass=e,C.nl2br=v,C.bindMethods=r,C.bindOnce=n,C.mixOf=m,C.trim=O,C.slugify=I,C.unslugify=M,C.toggleText=A,C.groupBy=p,C.timeout=P,C.cancelTimeout=i,C.scopeDefer=k,C.toString=w,C.joinStr=g,C.truncate=R,C.debounce=o,C.debounceLeading=s,C.startswith=E,C.sizeFormat=$,C.stripTags=T,C.replaceTags=j,C.defineImmutableProperty=a,C.isImage=f,C.isEmail=d,C.isPdf=h,C.patch=b,C.getRandomDefaultColor=l,C.getDefaulColorList=c,C.getMatches=u,C.randomInt=S,C.normalizeString=y}.call(this),function(){var t,e,r,n,i,o,s,a;o=this.taiga,n=this.taiga.groupBy,i=this.taiga.joinStr,a=this.taiga.trim,s=this.taiga.toString,e=function(){function t(){}return t.prototype.fillUsersAndRoles=function(t,e){var r,i;return r=_.filter(t,function(t){return function(t){return t.is_active}}(this)),this.scope.activeUsers=_.sortBy(r,"full_name_display"),this.scope.activeUsersById=n(this.scope.activeUsers,function(t){return t.id}),this.scope.users=_.sortBy(t,"full_name_display"),this.scope.usersById=n(this.scope.users,function(t){return t.id}),this.scope.roles=_.sortBy(e,"order"),i=_(this.scope.project.members).map("role").uniq().value(),this.scope.computableRoles=_(e).filter("computable").filter(function(t){return _.includes(i,t.id)}).value()},t.prototype.loadUsersAndRoles=function(){var t;return t=this.q.all([this.rs.projects.usersList(this.scope.projectId),this.rs.projects.rolesList(this.scope.projectId)]),t.then(function(t){return function(e){var r,n;return n=e[0],r=e[1],t.fillUsersAndRoles(n,r),e}}(this))},t}(),o.PageMixin=e,t=function(){function t(){}return t.prototype.selectFilter=function(t,e,r){var n,s,c;if(null==r&&(r=!1),c=this.location.search(),void 0!==c[t]&&"page"!==t&&(n=_.map(o.toString(c[t]).split(","),function(t){return a(t)}),n.push(o.toString(e)),n=_.compact(n),e=i(",",_.uniq(n))),!this.location.isInCurrentRouteParams(t,e))return s=r?this.location:this.location.noreload(this.scope),s.search(t,e)},t.prototype.replaceFilter=function(t,e,r){var n;if(null==r&&(r=!1),!this.location.isInCurrentRouteParams(t,e))return n=r?this.location:this.location.noreload(this.scope),n.search(t,e)},t.prototype.replaceAllFilters=function(t,e){var r;return null==e&&(e=!1),r=e?this.location:this.location.noreload(this.scope),r.search(t)},t.prototype.unselectFilter=function(t,e,r){var n,s,c,u;if(null==r&&(r=!1),c=this.location.search(),void 0!==c[t])return void 0!==e&&null!==e||delete c[t],u=_.map(o.toString(c[t]).split(","),function(t){return a(t)}),s=_.reject(u,function(t){return t===o.toString(e)}),s=_.compact(s),e=_.isEmpty(s)?null:i(",",_.uniq(s)),n=r?this.location:this.location.noreload(this.scope),n.search(t,e)},t.prototype.applyStoredFilters=function(t,e){var r;return!(!_.isEmpty(this.location.search())||(r=this.getFilters(t,e),!Object.keys(r).length))&&(this.location.search(r),this.location.replace(),!0)},t.prototype.storeFilters=function(t,e,r){var n,i;return i=t+":"+r,n=o.generateHash([t,i]),this.storage.set(n,e)},t.prototype.getFilters=function(t,e){var r,n;return n=t+":"+e,r=o.generateHash([t,n]),this.storage.get(r)||{}},t.prototype.formatSelectedFilters=function(t,e,r){var n,i,o,s,a;return s=r.split(","),o=_.filter(e,function(t){return s.indexOf(_.toString(t.id))!==-1}),i=_.filter(s,function(t){return!_.find(o,function(e){return _.toString(e.id)===t})}),n=_.map(i,function(e){return{id:e,key:t+":"+e,dataType:t,name:e}}),a=_.map(o,function(e){return{id:e.id,key:t+":"+e.id,dataType:t,name:e.name,color:e.color}}),n.concat(a)},t}(),o.FiltersMixin=t,r=function(){function t(){}return t.prototype.changeQ=function(t){return this.replaceFilter("q",t),this.filtersReloadContent(),this.generateFilters()},t.prototype.removeFilter=function(t){return this.unselectFilter(t.dataType,t.id),this.filtersReloadContent(),this.generateFilters()},t.prototype.addFilter=function(t){return this.selectFilter(t.category.dataType,t.filter.id),this.filtersReloadContent(),this.generateFilters()},t.prototype.selectCustomFilter=function(t){return this.replaceAllFilters(t.filter),this.filtersReloadContent(),this.generateFilters()},t.prototype.saveCustomFilter=function(t){var e,r;return e={},r=this.location.search(),e.tags=r.tags,e.status=r.status,e.assigned_to=r.assigned_to,e.assigned_users=r.assigned_users,e.owner=r.owner,e.epic=r.epic,e.role=r.role,this.filterRemoteStorageService.getFilters(this.scope.projectId,this.storeCustomFiltersName).then(function(r){return function(n){return n[t]=e,r.filterRemoteStorageService.storeFilters(r.scope.projectId,n,r.storeCustomFiltersName).then(r.generateFilters)}}(this))},t.prototype.removeCustomFilter=function(t){return this.filterRemoteStorageService.getFilters(this.scope.projectId,this.storeCustomFiltersName).then(function(e){return function(r){return delete r[t.id],e.filterRemoteStorageService.storeFilters(e.scope.projectId,r,e.storeCustomFiltersName).then(e.generateFilters),e.generateFilters()}}(this))},t.prototype.isFilterDataTypeSelected=function(t){var e,r,n,i;for(i=this.selectedFilters,r=0,n=i.length;r0}),i=_.map(s.assigned_users,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),n=_.map(s.assigned_to,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),u=_.map(s.roles,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.name||"Unassigned",t}),c=_.map(s.owners,function(t){return t.id=t.id.toString(),t.name=t.full_name,t}),a=_.map(s.epics,function(t){return t.id?(t.id=t.id.toString(),t.name="#"+t.ref+" "+t.subject):(t.id="null",t.name="Not in an epic"),t}),t.selectedFilters=[],e.status&&(l=t.formatSelectedFilters("status",p,e.status),t.selectedFilters=t.selectedFilters.concat(l)),e.tags&&(l=t.formatSelectedFilters("tags",d,e.tags),t.selectedFilters=t.selectedFilters.concat(l)),e.assigned_users&&(l=t.formatSelectedFilters("assigned_users",i,e.assigned_users),t.selectedFilters=t.selectedFilters.concat(l)),e.assigned_to&&(l=t.formatSelectedFilters("assigned_to",n,e.assigned_to),t.selectedFilters=t.selectedFilters.concat(l)),e.owner&&(l=t.formatSelectedFilters("owner",c,e.owner),t.selectedFilters=t.selectedFilters.concat(l)),e.epic&&(l=t.formatSelectedFilters("epic",a,e.epic),t.selectedFilters=t.selectedFilters.concat(l)),e.role&&(l=t.formatSelectedFilters("role",u,e.role),t.selectedFilters=t.selectedFilters.concat(l)),t.filterQ=e.q,t.filters=[{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.STATUS"),dataType:"status",content:p},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.TAGS"),dataType:"tags",content:d,hideEmpty:!0,totalTaggedElements:f.length},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.ASSIGNED_USERS"),dataType:"assigned_users",content:i},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),dataType:"role",content:u},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),dataType:"owner",content:c},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.EPIC"),dataType:"epic",content:a}],t.customFilters=[],_.forOwn(o,function(e,r){return t.customFilters.push({id:r,name:r,filter:e})})}}(this))},t}(),o.UsFiltersMixin=r}.call(this),function(){var t;t=angular.module("taigaAdmin",[])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f=function(t,e){function r(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},h={}.hasOwnProperty;d=this.taiga,l=this.taiga.debounce,p=angular.module("taigaAuth",["taigaResources"]),a=function(){function t(t,e,r,n,i){var o;t.isAuthenticated()&&(n.force_login||(o=r.resolve("home"),n.next&&(o=decodeURIComponent(n.next),e.search("next",null)),n.unauthorized?(i.clear(),i.removeToken()):e.url(o)))}return t.$inject=["tgCurrentUserService","$location","$tgNavUrls","$routeParams","$tgAuth"],t}(),p.controller("LoginPage",a),t=function(t){function e(t,r,n,i,o,s,a,c,u,l,p,d){var f;this.rootscope=t,this.storage=r,this.model=n,this.rs=i,this.http=o,this.urls=s,this.config=a,this.translate=c,this.currentUserService=u,this.themeService=l,this.analytics=p,this.termsAnnouncementService=d,e.__super__.constructor.call(this),f=this.getUser(),this._currentTheme=this._getUserTheme(),this.setUserdata(f)}return f(e,t),e.$inject=["$rootScope","$tgStorage","$tgModel","$tgResources","$tgHttp","$tgUrls","$tgConfig","$translate","tgCurrentUserService","tgThemeService","$tgAnalytics","tgTermsAnnouncementService"],e.prototype.setUserdata=function(t){return t?(this.userData=Immutable.fromJS(t.getAttrs()),this.currentUserService.setUser(this.userData)):this.userData=null,this.analytics.setUserId()},e.prototype._getUserTheme=function(){var t;return(null!=(t=this.rootscope.user)?t.theme:void 0)||this.config.get("defaultTheme")||"taiga"},e.prototype._setTheme=function(){var t;if(t=this._getUserTheme(),this._currentTheme!==t)return this._currentTheme=t,this.themeService.use(this._currentTheme)},e.prototype._setLocales=function(){var t,e;return t=(null!=(e=this.rootscope.user)?e.lang:void 0)||this.config.get("defaultLanguage")||"en",this.translate.preferredLanguage(t),this.translate.use(t)},e.prototype.getUser=function(){var t,e;return this.rootscope.user?this.rootscope.user:(e=this.storage.get("userInfo"))?(t=this.model.make_model("users",e),this.rootscope.user=t,this._setLocales(),this._setTheme(), -t):(this._setTheme(),null)},e.prototype.setUser=function(t){return this.rootscope.auth=t,this.storage.set("userInfo",t.getAttrs()),this.rootscope.user=t,this.setUserdata(t),this._setLocales(),this._setTheme()},e.prototype.clear=function(){return this.rootscope.auth=null,this.rootscope.user=null,this.storage.remove("userInfo")},e.prototype.setToken=function(t){return this.storage.set("token",t)},e.prototype.getToken=function(){return this.storage.get("token")},e.prototype.removeToken=function(){return this.storage.remove("token")},e.prototype.isAuthenticated=function(){return null!==this.getUser()},e.prototype.refresh=function(){var t;return t=this.urls.resolve("user-me"),this.http.get(t).then(function(t){return function(e,r){var n;return n=e.data,n.token=t.getUser().auth_token,n=t.model.make_model("users",n),t.setUser(n),t.rootscope.$broadcast("auth:refresh",n),n}}(this))},e.prototype.login=function(t,e){var r;return r=this.urls.resolve("auth"),t=_.clone(t,!1),t.type=e?e:"normal",this.removeToken(),this.http.post(r,t).then(function(t){return function(e,r){var n;return n=t.model.make_model("users",e.data),t.setToken(n.auth_token),t.setUser(n),t.rootscope.$broadcast("auth:login",n),n}}(this))},e.prototype.logout=function(){return this.removeToken(),this.clear(),this.currentUserService.removeUser(),this._setTheme(),this._setLocales(),this.rootscope.$broadcast("auth:logout"),this.analytics.setUserId()},e.prototype.register=function(t,e,r){var n;return n=this.urls.resolve("auth-register"),t=_.clone(t,!1),t.type=e?e:"public","private"===e&&(t.existing=!!r&&r),this.removeToken(),this.http.post(n,t).then(function(t){return function(e){var r;return r=t.model.make_model("users",e.data),t.setToken(r.auth_token),t.setUser(r),t.rootscope.$broadcast("auth:register",r),r}}(this))},e.prototype.getInvitation=function(t){return this.rs.invitations.get(t)},e.prototype.acceptInvitiationWithNewUser=function(t){return this.register(t,"private",!1)},e.prototype.forgotPassword=function(t){var e;return e=this.urls.resolve("users-password-recovery"),t=_.clone(t,!1),this.removeToken(),this.http.post(e,t)},e.prototype.changePasswordFromRecovery=function(t){var e;return e=this.urls.resolve("users-change-password-from-recovery"),t=_.clone(t,!1),this.removeToken(),this.http.post(e,t)},e.prototype.changeEmail=function(t){var e;return e=this.urls.resolve("users-change-email"),t=_.clone(t,!1),this.http.post(e,t)},e.prototype.cancelAccount=function(t){var e;return e=this.urls.resolve("users-cancel-account"),t=_.clone(t,!1),this.http.post(e,t)},e.prototype.exportProfile=function(){var t;return t=this.urls.resolve("users-export"),this.http.post(t)},e.prototype.showTerms=function(t){var e;if(e=this.getUser(),e&&!e.read_new_terms)return this.termsAnnouncementService.show()},e}(d.Service),p.service("$tgAuth",t),c=function(t,e,r,n){var i,o;return i=n.get("auth/login-text.html",!0),o=function(){var n,o,s;return(o=t.get("publicRegisterEnabled"))?(s=e.resolve("register"),r.force_next&&(n=encodeURIComponent(r.force_next),s+="?next="+n),i({url:s})):""},{restrict:"AE",scope:{},template:o}},p.directive("tgPublicRegisterMessage",["$tgConfig","$tgNavUrls","$routeParams","$tgTemplate",c]),s=function(t,e,r,n,i,o,s,a,c,u){var p;return p=function(p,d,f){var h,g,m,v;return h=new checksley.Form(d.find("form.login-form")),i.next&&i.next!==o.resolve("login")?p.nextUrl=decodeURIComponent(i.next):p.nextUrl=o.resolve("home"),i.force_next&&(p.nextUrl=decodeURIComponent(i.force_next)),m=function(e){return s.setupConnection(),u.trackEvent("auth","login","user login",1),t.showTerms(),0===p.nextUrl.indexOf("http")?c.location.href=p.nextUrl:r.url(p.nextUrl)},g=function(t){return e.notify("light-error",a.instant("LOGIN_FORM.ERROR_AUTH_INCORRECT"))},p.onKeyUp=function(t){var e,r;if(e=angular.element(t.currentTarget),r=e.val(),p.iscapsLockActivated=!1,r!==r.toLowerCase())return p.iscapsLockActivated=!0},v=l(2e3,function(e){return function(e){var r,i,o;if(e.preventDefault(),h.validate())return r={username:d.find("form.login-form input[name=username]").val(),password:d.find("form.login-form input[name=password]").val()},i=n.get("loginFormType","normal"),o=t.login(r,i),o.then(m,g)}}(this)),d.on("submit","form",v),window.prerenderReady=!0,p.$on("$destroy",function(){return d.off()})},{link:p}},p.directive("tgLogin",["$tgAuth","$tgConfirm","$tgLocation","$tgConfig","$routeParams","$tgNavUrls","$tgEvents","$translate","$window","$tgAnalytics",s]),u=function(t,e,r,n,i,o,s,a,c){var u;return u=function(u,p,d){var f,h,g,m;return i.get("publicRegisterEnabled")||(r.path(n.resolve("not-found")),r.replace()),u.data={},f=p.find("form").checksley({onlyOneErrorElement:!0}),o.next&&o.next!==n.resolve("login")?u.nextUrl=decodeURIComponent(o.next):u.nextUrl=n.resolve("home"),g=function(t){return s.trackEvent("auth","register","user registration",1),0===u.nextUrl.indexOf("http")?c.location.href=u.nextUrl:r.url(u.nextUrl)},h=function(t){var r;return t.data._error_message&&(r=a.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),e.notify("light-error",r)),f.setErrors(t.data)},m=l(2e3,function(e){return function(e){var r;if(e.preventDefault(),f.validate())return r=t.register(u.data),r.then(g,h)}}(this)),p.on("submit","form",m),u.$on("$destroy",function(){return p.off()}),window.prerenderReady=!0},{link:u}},p.directive("tgRegister",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls","$tgConfig","$routeParams","$tgAnalytics","$translate","$window",u]),i=function(t,e,r,n,i){var o;return o=function(o,s,a){var c,u,p,d;return o.data={},c=s.find("form").checksley(),p=function(t){var o,s;return r.path(n.resolve("login")),s=i.instant("FORGOT_PASSWORD_FORM.SUCCESS_TITLE"),o=i.instant("FORGOT_PASSWORD_FORM.SUCCESS_TEXT"),e.success(s,o)},u=function(t){var r;return r=i.instant("FORGOT_PASSWORD_FORM.ERROR"),e.notify("light-error",r)},d=l(2e3,function(e){return function(e){var r;if(e.preventDefault(),c.validate())return r=t.forgotPassword(o.data),r.then(p,u)}}(this)),s.on("submit","form",d),o.$on("$destroy",function(){return s.off()}),window.prerenderReady=!0},{link:o}},p.directive("tgForgotPassword",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls","$translate",i]),n=function(t,e,r,n,i,o){var s;return s=function(s,a,c){var u,p,d,f,h;return s.data={},null!=n.token?(s.tokenInParams=!0,s.data.token=n.token):(r.path(i.resolve("login")),h=o.instant("CHANGE_PASSWORD_RECOVERY_FORM.ERROR"),e.notify("light-error",h)),u=a.find("form").checksley(),d=function(t){return r.path(i.resolve("login")),h=o.instant("CHANGE_PASSWORD_RECOVERY_FORM.SUCCESS"),e.success(h)},p=function(t){return h=o.instant("CHANGE_PASSWORD_RECOVERY_FORM.ERROR"),e.notify("light-error",h)},f=l(2e3,function(e){return function(e){var r;if(e.preventDefault(),u.validate())return r=t.changePasswordFromRecovery(s.data),r.then(d,p)}}(this)),a.on("submit","form",f),s.$on("$destroy",function(){return a.off()})},{link:s}},p.directive("tgChangePasswordFromRecovery",["$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls","$translate",n]),o=function(t,e,r,n,i,o,s,a,c){var u;return u=function(u,p,d){var f,h,g,m,v,y,b,S,j,k;return k=i.token,y=t.getInvitation(k),y.then(function(t){return u.invitation=t,u.publicRegisterEnabled=c.get("publicRegisterEnabled")}),y.then(null,function(t){var n;return r.path(o.resolve("login")),n=a.instant("INVITATION_LOGIN_FORM.NOT_FOUND"),e.notify("light-error",n)}),u.dataLogin={token:k},f=p.find("form.login-form").checksley({onlyOneErrorElement:!0}),m=function(t){var n;return s.trackEvent("auth","invitationAccept","invitation accept with existing user",1),r.path(o.resolve("project",{project:u.invitation.project_slug})),n=a.instant("INVITATION_LOGIN_FORM.SUCCESS",{project_name:u.invitation.project_name}),e.notify("success",n)},h=function(t){return e.notify("light-error",t.data._error_message)},S=l(2e3,function(e){return function(e){var r,i;if(e.preventDefault(),f.validate())return i=n.get("loginFormType","normal"),r=u.dataLogin,y=t.login({username:r.username,password:r.password,invitation_token:r.token},i),y.then(m,h)}}(this)),p.on("submit","form.login-form",S),p.on("click",".button-login",S),u.dataRegister={token:k},b=p.find("form.register-form").checksley({onlyOneErrorElement:!0}),v=function(t){return s.trackEvent("auth","invitationAccept","invitation accept with new user",1),r.path(o.resolve("project",{project:u.invitation.project_slug})),e.notify("success","You've successfully joined this project","Welcome to "+_.escape(u.invitation.project_name))},g=function(t){var r;return t.data._error_message&&(r=a.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),e.notify("light-error",r)),b.setErrors(t.data)},j=l(2e3,function(e){return function(e){if(e.preventDefault(),b.validate())return y=t.acceptInvitiationWithNewUser(u.dataRegister),y.then(v,g)}}(this)),p.on("submit","form.register-form",j),p.on("click",".button-register",j),u.$on("$destroy",function(){return p.off()})},{link:u}},p.directive("tgInvitation",["$tgAuth","$tgConfirm","$tgLocation","$tgConfig","$routeParams","$tgNavUrls","$tgAnalytics","$translate","$tgConfig",o]),r=function(t,e,r,n,i,o,s,a){var c;return c=function(e,c,u){var l,p,d,f;return e.data={},e.data.email_token=o.email_token,l=c.find("form").checksley(),d=function(e){var o;return r.isAuthenticated()?t.queryOne("users",r.getUser().id).then(function(t){return function(t){return r.setUser(t),i.path(s.resolve("home")),i.replace()}}(this)):(i.path(s.resolve("login")),i.replace()),o=a.instant("CHANGE_EMAIL_FORM.SUCCESS"),n.success(o)},p=function(t){var e;return e=a.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),n.notify("light-error",e)},f=function(){var t;if(l.validate())return t=r.changeEmail(e.data),t.then(d,p)},c.on("submit",function(t){return t.preventDefault(),f()}),c.on("click","a.button-change-email",function(t){return t.preventDefault(),f()}),e.$on("$destroy",function(){return c.off()})},{link:c}},p.directive("tgChangeEmail",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls","$translate",r]),e=function(t,e,r,n,i,o,s){var a;return a=function(t,e,a){var c,u,p,d;return t.data={},t.data.cancel_token=o.cancel_token,c=e.find("form").checksley(),p=function(t){var e;return r.logout(),i.path(s.resolve("home")),e=$translate.instant("CANCEL_ACCOUNT.SUCCESS"),n.success(e)},u=function(t){var e;return e=$translate.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),n.notify("error",e)},d=l(2e3,function(e){return function(e){var n;if(e.preventDefault(),c.validate())return n=r.cancelAccount(t.data),n.then(p,u)}}(this)),e.on("submit","form",d),t.$on("$destroy",function(){return e.off()})},{link:a}},p.directive("tgCancelAccount",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",e])}.call(this),function(){var t;t=angular.module("taigaBacklog",[])}.call(this),function(){var t,e,r,n,i,o,s;o=this.taiga,r=this.taiga.groupBy,e=this.taiga.bindOnce,i=angular.module("taigaBase",[]),t=function(t,e){var r;return r=function(r,n,i){return e.onresize=function(){return t.$broadcast("resize")}},{link:r}},i.directive("tgMain",["$rootScope","$window",t]),s={home:"/",projects:"/projects",error:"/error","not-found":"/not-found","permission-denied":"/permission-denied",discover:"/discover","discover-search":"/discover/search",login:"/login","forgot-password":"/forgot-password","change-password":"/change-password/:token","change-email":"/change-email/:token","cancel-account":"/cancel-account/:token",register:"/register",invitation:"/invitation/:token","create-project":"/project/new","create-project-scrum":"/project/new/scrum","create-project-kanban":"/project/new/kanban","create-project-duplicate":"/project/new/duplicate","create-project-import":"/project/new/import","create-project-import-platform":"/project/new/import/:platform",profile:"/profile","user-profile":"/profile/:username","blocked-project":"/blocked-project/:project",project:"/project/:project","project-detail-ref":"/project/:project/t/:ref","project-backlog":"/project/:project/backlog","project-taskboard":"/project/:project/taskboard/:sprint","project-kanban":"/project/:project/kanban","project-issues":"/project/:project/issues","project-epics":"/project/:project/epics","project-search":"/project/:project/search","project-epics-detail":"/project/:project/epic/:ref","project-userstories-detail":"/project/:project/us/:ref","project-tasks-detail":"/project/:project/task/:ref","project-issues-detail":"/project/:project/issue/:ref","project-wiki":"/project/:project/wiki","project-wiki-list":"/project/:project/wiki-list","project-wiki-page":"/project/:project/wiki/:slug","project-team":"/project/:project/team","project-admin-home":"/project/:project/admin/project-profile/details","project-admin-project-profile-details":"/project/:project/admin/project-profile/details","project-admin-project-profile-default-values":"/project/:project/admin/project-profile/default-values","project-admin-project-profile-modules":"/project/:project/admin/project-profile/modules","project-admin-project-profile-export":"/project/:project/admin/project-profile/export","project-admin-project-profile-reports":"/project/:project/admin/project-profile/reports","project-admin-project-values-status":"/project/:project/admin/project-values/status","project-admin-project-values-points":"/project/:project/admin/project-values/points","project-admin-project-values-priorities":"/project/:project/admin/project-values/priorities","project-admin-project-values-severities":"/project/:project/admin/project-values/severities","project-admin-project-values-types":"/project/:project/admin/project-values/types","project-admin-project-values-custom-fields":"/project/:project/admin/project-values/custom-fields","project-admin-project-values-tags":"/project/:project/admin/project-values/tags","project-admin-project-values-due-dates":"/project/:project/admin/project-values/due-dates","project-admin-memberships":"/project/:project/admin/memberships","project-admin-roles":"/project/:project/admin/roles","project-admin-third-parties-webhooks":"/project/:project/admin/third-parties/webhooks","project-admin-third-parties-github":"/project/:project/admin/third-parties/github","project-admin-third-parties-gitlab":"/project/:project/admin/third-parties/gitlab","project-admin-third-parties-bitbucket":"/project/:project/admin/third-parties/bitbucket","project-admin-third-parties-gogs":"/project/:project/admin/third-parties/gogs","project-admin-contrib":"/project/:project/admin/contrib/:plugin","user-settings-user-profile":"/user-settings/user-profile","user-settings-user-change-password":"/user-settings/user-change-password","user-settings-user-avatar":"/user-settings/user-avatar","user-settings-mail-notifications":"/user-settings/mail-notifications","user-settings-live-notifications":"/user-settings/live-notifications","user-settings-contrib":"/user-settings/contrib/:plugin"},n=function(t,e){return t.debug("Initialize navigation urls"),e.update(s)},i.run(["$log","$tgNavUrls",n])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v=[].slice,y=function(t,e){function r(){this.constructor=t}for(var n in e)b.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},b={}.hasOwnProperty;m=this.taiga,g=angular.module("taigaCommon",[]),s=function(t,e,r){return{get:function(){var n,i,o,s;return s=r.getUser(),i=s.lang||t.preferredLanguage(),o=e.get("rtlLanguages",[]),n=o.indexOf(i)>-1,{i18n:{previousMonth:t.instant("COMMON.PICKERDATE.PREV_MONTH"),nextMonth:t.instant("COMMON.PICKERDATE.NEXT_MONTH"),months:[t.instant("COMMON.PICKERDATE.MONTHS.JAN"),t.instant("COMMON.PICKERDATE.MONTHS.FEB"),t.instant("COMMON.PICKERDATE.MONTHS.MAR"),t.instant("COMMON.PICKERDATE.MONTHS.APR"),t.instant("COMMON.PICKERDATE.MONTHS.MAY"),t.instant("COMMON.PICKERDATE.MONTHS.JUN"),t.instant("COMMON.PICKERDATE.MONTHS.JUL"),t.instant("COMMON.PICKERDATE.MONTHS.AUG"),t.instant("COMMON.PICKERDATE.MONTHS.SEP"),t.instant("COMMON.PICKERDATE.MONTHS.OCT"),t.instant("COMMON.PICKERDATE.MONTHS.NOV"),t.instant("COMMON.PICKERDATE.MONTHS.DEC")],weekdays:[t.instant("COMMON.PICKERDATE.WEEK_DAYS.SUN"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.MON"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.TUE"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.WED"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.THU"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.FRI"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.SAT")],weekdaysShort:[t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.SUN"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.MON"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.TUE"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.WED"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.THU"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.FRI"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.SAT")]},isRTL:n,firstDay:parseInt(t.instant("COMMON.PICKERDATE.FIRST_DAY_OF_WEEK"),10),format:t.instant("COMMON.PICKERDATE.FORMAT")}}}},g.factory("tgDatePickerConfigService",["$translate","$tgConfig","$tgAuth",s]),p=function(t,e){var r;return r=function(){return t.getSelection?t.getSelection().toString():e.selection?e.selection.createRange().text:""},{get:r}},g.factory("$selectedText",["$window","$document",p]),n=function(t){var e,r;return r=function(t,e,r){if(e&&r&&e.get("my_permissions").indexOf(r)>-1)return t.removeClass("hidden")},e=function(e,n,i){var o,s,a;return n.addClass("hidden"),o=i.tgCheckPermission,a=e.$watch(function(){return t.project},function(){if(t.project)return r(n,t.project,o),a()}),s=i.$observe("tgCheckPermission",function(e){if(e)return r(n,t.project,e),s()}),e.$on("$destroy",function(){return n.off()})},{link:e}},n.$inject=["tgProjectService"],g.directive("tgCheckPermission",n),i=function(){var t,e;return e="tgClassPermission",t=function(t,r,n){var i,o,s;return i=function(t,e,n){var i;return i="!"===n[0],i&&(n=n.slice(1)),i&&t.my_permissions.indexOf(n)===-1?r.addClass(e):i||t.my_permissions.indexOf(n)===-1?r.removeClass(e):r.addClass(e)},o=function(r){var o,a,c,u;if(r){s(),a=t.$eval(n[e]),u=[];for(o in a)c=a[o],u.push(i(r,o,c));return u}},s=t.$watch("project",o)},{link:t}},g.directive("tgClassPermission",i),t=function(){var t,e,r,n;return e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,r=function(t){return function(t){var i;if(i=n.shift(),i(),n.length)return e(r)}}(this),n=[],t=function(){var t,i,o,s;for(s=[],i=0,o=arguments.length;i-1?t.resolve("project-backlog",r):e.is_kanban_activated&&e.my_permissions.indexOf("view_us")>-1?t.resolve("project-kanban",r):e.is_wiki_activated&&e.my_permissions.indexOf("view_wiki_pages")>-1?t.resolve("project-wiki",r):e.is_issues_activated&&e.my_permissions.indexOf("view_issues")>-1?t.resolve("project-issues",r):t.resolve("project",r)},{get:e}},g.factory("$projectUrl",["$tgNavUrls",c]),u=function(t){var e,r,n;return e=t.defer(),e.resolve(),r=e.promise,n={bindAdd:function(t){return function(e){return function(){var n;return n=1<=arguments.length?v.call(arguments,0):[],r=r.then(function(){return e.apply(t,n)})}}}(this),add:function(t){return function(t){return r=r?r.then(t):t(),n}}(this)}},g.factory("$tgQqueue",["$q",u]),l=function(t){function e(t,e,r,n){this.qqueue=t,this.repo=e,this.q=r,this.model=n}return y(e,t),e.$inject=["$tgQqueue","$tgRepo","$q","$tgModel"],e.prototype.setObject=function(t,e){this.scope=t,this.prop=e},e.prototype.clone=function(){var t,e;return t=_.cloneDeep(this.scope[this.prop]._attrs),e=this.model.make_model(this.scope[this.prop]._name,t)},e.prototype.getObj=function(){return this.scope[this.prop]},e.prototype.save=function(t){var e;return e=this.q.defer(),this.qqueue.add(function(r){return function(){var n,i,o,s,a;return s=r.getObj(),i=s.comment,s.comment="",n=r.clone(),o=_.omit(s._modifiedAttrs,["version"]),n=_.assign(n,o),t(n),i.length&&(n.comment=i),a=function(){return r.scope[r.prop]=n,e.resolve.apply(null,arguments)},r.repo.save(n).then(a,e.reject)}}(this)),e.promise},e}(m.Service),g.service("$tgQueueModelTransformation",l),f=function(t){return{get:function(e){return function(e,r){var n;return null==r&&(r=!1),n=t.get(e),r&&(n=_.template(n)),n}}(this)}},g.factory("$tgTemplate",["$templateCache",f]),r=function(){var t;return t="",{template:t}},g.directive("tgCapslock",[r]),a=function(){var t,e;return e='
\n \n',t=function(t,e,r){},{scope:{onClose:"&"},link:t,template:e}},g.directive("tgLightboxClose",[a]),d=function(){var t;return t='\n \n {{svgTitle}}\n {{svgTitleTranslate | translate: svgTitleTranslateValues}}\n \n',{scope:{svgIcon:"@",svgTitle:"@",svgTitleTranslate:"@",svgTitleTranslateValues:"=",svgFill:"="},template:t}},g.directive("tgSvg",[d]),e=function(t,e,r){return{restrict:"A",link:function(r,n,i){var o;return i.ngShow?(o=e(i.ngShow),r.$watch(o,function(e){if(e===!0)return t(function(){return n[0].focus()})})):t(function(){return n[0].focus()})}}},g.directive("tgAutofocus",["$timeout","$parse","animationFrame",e]),g.directive("tgPreloadImage",function(){var t,e,r;return e="loading...",r="

\n \n
",t=function(t,e){var r;return r=new Image,r.onload=e,r.src=t,r},{template:r,transclude:!0,replace:!0,link:function(r,n,i){var o,s,a;return o=n.find("img:last"),a=null,s=function(){if(n.find(".loading-spinner").remove(),o.show(),a)return clearTimeout(a),a=null},i.$observe("preloadSrc",function(r){return a&&clearTimeout(a),n.find(".loading-spinner").remove(),a=setTimeout(function(){return n.prepend(e)},200),o.hide(),t(r,s)})}}}),o=function(){var t;return t=function(t,e,r){return e.on("click",function(t){if(t.ctrlKey||t.metaKey)return t.preventDefault()})},{link:t}},g.directive("tgCtrlClickDisable",o)}.call(this),function(){var t,e,r,n,i,o,s,a,c;a=this.taiga,o=this.taiga.mixOf,c=this.taiga.toString,i=this.taiga.joinStr,n=this.taiga.groupBy,r=this.taiga.bindOnce,e=this.taiga.bindMethods,s=angular.module("taigaCommon"),t=function(){function t(t,e,r,n,i){this.params=t,this.repo=e,this.projectService=r,this.navurls=n,this.location=i,this.repo.resolve({pslug:this.params.pslug,ref:this.params.ref}).then(function(t){return function(e){var r;return e.issue?r=t.navurls.resolve("project-issues-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.task?r=t.navurls.resolve("project-tasks-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.us?r=t.navurls.resolve("project-userstories-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.epic?r=t.navurls.resolve("project-epics-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.wikipage&&(r=t.navurls.resolve("project-wiki-page",{project:t.projectService.project.get("slug"),slug:t.params.ref})),t.location.path(r)}}(this))}return t.$inject=["$routeParams","$tgRepo","tgProjectService","$tgNavUrls","$location"],t}(),s.controller("DetailController",t)}.call(this),function(){var t;t=angular.module("taigaEpics",[])}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){return function(){return t.apply(e,arguments)}};o=this.taiga,i=this.taiga.startswith,r=this.taiga.bindMethods,n=angular.module("taigaEvents",[]),e=function(){function t(t,e,n,i,o,a){this.win=t,this.log=e,this.config=n,this.auth=i,this.liveAnnouncementService=o,this.rootScope=a,this.processMessage=s(this.processMessage,this),r(this)}return t.prototype.initialize=function(t){if(this.sessionId=t,this.subscriptions={},this.connected=!1,this.error=!1,this.pendingMessages=[],this.missedHeartbeats=0,this.heartbeatInterval=null,void 0===this.win.WebSocket)return this.log.info("WebSockets not supported on your browser")},t.prototype.setupConnection=function(){var t,e,r,n;if(this.stopExistingConnection(),n=this.config.get("eventsUrl"))return i(n,"ws:")||i(n,"wss:")||(t=this.win.location,r="https:"===t.protocol?"wss:":"ws:",e=_.trimStart(n,"/"),n=r+"//"+t.host+"/"+e),this.error=!1,this.ws=new this.win.WebSocket(n),this.ws.addEventListener("open",this.onOpen),this.ws.addEventListener("message",this.onMessage),this.ws.addEventListener("error",this.onError),this.ws.addEventListener("close",this.onClose)},t.prototype.stopExistingConnection=function(){if(void 0!==this.ws)return this.ws.removeEventListener("open",this.onOpen),this.ws.removeEventListener("close",this.onClose),this.ws.removeEventListener("error",this.onError),this.ws.removeEventListener("message",this.onMessage),this.stopHeartBeatMessages(),this.ws.close(),delete this.ws},t.prototype.notifications=function(){return this.subscribe(null,"notifications",function(t){return function(e){return t.liveAnnouncementService.show(e.title,e.desc),t.rootScope.$digest()}}(this))},t.prototype.liveNotifications=function(){var t,e;if(null!=this.auth.userData)return e=this.auth.userData.get("id"),t=function(t){return function(){return t.subscribe(null,"live_notifications."+e,function(t){var e;if(e=new Notification(t.title,{icon:"/"+window._version+"/images/favicon.png",body:t.body,tag:t.id}),e.onshow=function(){if(t.timeout&&t.timeout>0)return setTimeout(function(){return e.close()},t.timeout)},t.url)return e.onclick=function(){return window.open(t.url)}})}}(this),Notification?"granted"===Notification.permission?t():"denied"!==Notification.permission?Notification.requestPermission(function(e){return function(e){if("granted"===e)return t()}}(this)):void 0:console.log("This browser does not support desktop notification")},t.prototype.startHeartBeatMessages=function(){var t,e,r;if(!this.heartbeatInterval)return e=this.config.get("eventsMaxMissedHeartbeats",5),t=this.config.get("eventsHeartbeatIntervalTime",6e4),r=this.config.get("eventsReconnectTryInterval",1e4),this.missedHeartbeats=0,this.heartbeatInterval=setInterval(function(t){return function(){var r;try{if(t.missedHeartbeats>=e)throw new Error("Too many missed heartbeats PINGs.");return t.missedHeartbeats++,t.sendMessage({cmd:"ping"}),t.log.debug("HeartBeat send PING")}catch(n){return r=n,t.log.error("HeartBeat error: "+r.message),t.setupConnection()}}}(this),t),this.log.debug("HeartBeat enabled")},t.prototype.stopHeartBeatMessages=function(){if(this.heartbeatInterval)return clearInterval(this.heartbeatInterval),this.heartbeatInterval=null,this.log.debug("HeartBeat disabled")},t.prototype.processHeartBeatPongMessage=function(t){return this.missedHeartbeats=0,this.log.debug("HeartBeat recived PONG")},t.prototype.serialize=function(t){return _.isObject(t)?JSON.stringify(t):t},t.prototype.sendMessage=function(t){var e,r,n,i,o;if(this.pendingMessages.push(t),this.connected){for(n=_.map(this.pendingMessages,this.serialize),this.pendingMessages=[],o=[],e=0,r=n.length;e\n
<%- name %>
'),i=function(i,c,u){var l,p,d,f,h;return h=function(t){var e,o,a;return o={name:r.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED")},a=i.usersById[t.assigned_to],e=n.getAvatar(a),o.imgurl=e.url,o.bg=e.bg,a&&(o.name=a.full_name_display),c.find(".avatar").html(s(o)),c.find(".task-assignedto").attr("title",o.name)},l=c.controller(),f=i.$eval(u.tgRelatedTaskAssignedToInlineEdition),d=i.$eval(u.notAutoSave),p=!d,i.$watch(u.tgRelatedTaskAssignedToInlineEdition,function(){return f=i.$eval(u.tgRelatedTaskAssignedToInlineEdition),h(f)}),h(f),c.on("click",".task-assignedto",function(t){return e.$broadcast("assigned-to:add",f)}),a.bindOnce(i,"project",function(t){if(t.my_permissions.indexOf("modify_task")===-1)return c.unbind("click"),c.find("a").addClass("not-clickable")}),i.$on("assigned-to:added",o(2e3,function(e){return function(e,r,n){if(n.id===f.id)return n.assigned_to=r,p&&t.save(n).then(function(){return i.$emit("related-tasks:assigned-to-changed")}),h(n)}}(this))),i.$on("$destroy",function(){return c.off()})},{link:i}},s.directive("tgRelatedTaskAssignedToInlineEdition",["$tgRepo","$rootScope","$translate","tgAvatarService",t])}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){function r(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},a={}.hasOwnProperty;i=this.taiga,t=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return s(e,t),e}(i.Service),o={auth:"/auth","auth-register":"/auth/register",invitations:"/invitations",users:"/users",by_username:"/users/by_username","users-password-recovery":"/users/password_recovery","users-change-password-from-recovery":"/users/change_password_from_recovery","users-change-password":"/users/change_password","users-change-email":"/users/change_email","users-cancel-account":"/users/cancel","users-export":"/users/export","user-stats":"/users/%s/stats","user-liked":"/users/%s/liked","user-voted":"/users/%s/voted","user-watched":"/users/%s/watched","user-contacts":"/users/%s/contacts","user-me":"/users/me",permissions:"/permissions","notify-policies":"/notify-policies","user-storage":"/user-storage",memberships:"/memberships","bulk-create-memberships":"/memberships/bulk_create",roles:"/roles",permissions:"/permissions",resolver:"/resolver",projects:"/projects","project-templates":"/project-templates","project-modules":"/projects/%s/modules","bulk-update-projects-order":"/projects/bulk_update_order","project-like":"/projects/%s/like","project-unlike":"/projects/%s/unlike","project-watch":"/projects/%s/watch","project-unwatch":"/projects/%s/unwatch","project-contact":"contact","project-transfer-validate-token":"/projects/%s/transfer_validate_token","project-transfer-accept":"/projects/%s/transfer_accept","project-transfer-reject":"/projects/%s/transfer_reject","project-transfer-request":"/projects/%s/transfer_request","project-transfer-start":"/projects/%s/transfer_start","epic-statuses":"/epic-statuses","userstory-statuses":"/userstory-statuses","userstory-due-dates":"/userstory-due-dates","userstory-due-dates-create-default":"/userstory-due-dates/create_default",points:"/points","task-statuses":"/task-statuses","task-due-dates":"/task-due-dates","task-due-dates-create-default":"/task-due-dates/create_default","issue-statuses":"/issue-statuses","issue-due-dates":"/issue-due-dates","issue-due-dates-create-default":"/issue-due-dates/create_default","issue-types":"/issue-types",priorities:"/priorities",severities:"/severities",milestones:"/milestones",epics:"/epics","epic-upvote":"/epics/%s/upvote","epic-downvote":"/epics/%s/downvote","epic-watch":"/epics/%s/watch","epic-unwatch":"/epics/%s/unwatch","epic-related-userstories":"/epics/%s/related_userstories","epic-related-userstories-bulk-create":"/epics/%s/related_userstories/bulk_create",userstories:"/userstories","bulk-create-us":"/userstories/bulk_create","bulk-update-us-backlog-order":"/userstories/bulk_update_backlog_order","bulk-update-us-milestone":"/userstories/bulk_update_milestone","bulk-update-us-miles-order":"/userstories/bulk_update_sprint_order","bulk-update-us-kanban-order":"/userstories/bulk_update_kanban_order","bulk-update-us-milestone":"/userstories/bulk_update_milestone","userstories-filters":"/userstories/filters_data","userstory-upvote":"/userstories/%s/upvote","userstory-downvote":"/userstories/%s/downvote","userstory-watch":"/userstories/%s/watch","userstory-unwatch":"/userstories/%s/unwatch",tasks:"/tasks","bulk-create-tasks":"/tasks/bulk_create","bulk-update-task-taskboard-order":"/tasks/bulk_update_taskboard_order","task-upvote":"/tasks/%s/upvote","task-downvote":"/tasks/%s/downvote","task-watch":"/tasks/%s/watch","task-unwatch":"/tasks/%s/unwatch","task-filters":"/tasks/filters_data",issues:"/issues","bulk-create-issues":"/issues/bulk_create","issues-filters":"/issues/filters_data","issue-upvote":"/issues/%s/upvote","issue-downvote":"/issues/%s/downvote","issue-watch":"/issues/%s/watch","issue-unwatch":"/issues/%s/unwatch",wiki:"/wiki","wiki-restore":"/wiki/%s/restore","wiki-links":"/wiki-links","history/epic":"/history/epic","history/us":"/history/userstory","history/issue":"/history/issue","history/task":"/history/task","history/wiki":"/history/wiki/%s","attachments/epic":"/epics/attachments","attachments/us":"/userstories/attachments","attachments/issue":"/issues/attachments","attachments/task":"/tasks/attachments","attachments/wiki_page":"/wiki/attachments","custom-attributes/epic":"/epic-custom-attributes","custom-attributes/userstory":"/userstory-custom-attributes","custom-attributes/task":"/task-custom-attributes","custom-attributes/issue":"/issue-custom-attributes","custom-attributes-values/epic":"/epics/custom-attributes-values","custom-attributes-values/userstory":"/userstories/custom-attributes-values","custom-attributes-values/task":"/tasks/custom-attributes-values","custom-attributes-values/issue":"/issues/custom-attributes-values",webhooks:"/webhooks","webhooks-test":"/webhooks/%s/test",webhooklogs:"/webhooklogs","webhooklogs-resend":"/webhooklogs/%s/resend","epics-csv":"/epics/csv?uuid=%s","userstories-csv":"/userstories/csv?uuid=%s","tasks-csv":"/tasks/csv?uuid=%s","issues-csv":"/issues/csv?uuid=%s","timeline-profile":"/timeline/profile","timeline-user":"/timeline/user","timeline-project":"/timeline/project",search:"/search",exporter:"/exporter",importer:"/importer/load_dump",feedback:"/feedback",locales:"/locales",applications:"/applications","application-tokens":"/application-tokens","stats-discover":"/stats/discover","importers-trello-auth-url":"/importers/trello/auth_url","importers-trello-authorize":"/importers/trello/authorize","importers-trello-list-projects":"/importers/trello/list_projects","importers-trello-list-users":"/importers/trello/list_users","importers-trello-import-project":"/importers/trello/import_project","importers-jira-auth-url":"/importers/jira/auth_url","importers-jira-authorize":"/importers/jira/authorize","importers-jira-list-projects":"/importers/jira/list_projects","importers-jira-list-users":"/importers/jira/list_users","importers-jira-import-project":"/importers/jira/import_project","importers-github-auth-url":"/importers/github/auth_url","importers-github-authorize":"/importers/github/authorize","importers-github-list-projects":"/importers/github/list_projects","importers-github-list-users":"/importers/github/list_users","importers-github-import-project":"/importers/github/import_project","importers-asana-auth-url":"/importers/asana/auth_url","importers-asana-authorize":"/importers/asana/authorize","importers-asana-list-projects":"/importers/asana/list_projects","importers-asana-list-users":"/importers/asana/list_users","importers-asana-import-project":"/importers/asana/import_project"},r=function(t,e){return t.debug("Initialize api urls"),e.update(o)},e=function(t,e){var r,n,i,o,s;for(t.debug("Initialize resources"),o=_.toArray(arguments).slice(2),s=[],r=0,n=o.length;rn){n=a.length,s.name=i,s.value=a;break}return 0===n?s:s},h=function(t){var e,r,n;r=[];for(e in t)n=t[e],m.find("li."+e).show(),r.push(m.find("li."+e+" .num").html(n.length));return r},f=function(t){return m.find("a.active").removeClass("active"),m.find("li."+t.name+" a").addClass("active"),u=!1,c=t.name},v={epics:r.get("search-epics"),issues:r.get("search-issues"),tasks:r.get("search-tasks"),userstories:r.get("search-userstories"),wikipages:r.get("search-wikipages")},g=function(r){var i,o,s,a,c;return o=n.find(".search-result-table").children(),s=o.scope(),s&&(s.$destroy(),o.remove()),a=t.$new(),a[r.name]=r.value,c=angular.element.parseHTML(l(v[r.name])),i=e(c)(a),n.find(".search-result-table").html(i)},t.$watch("searchResults",function(t){var e;if(d=t)return e=p(t),h(t),g(e),f(e)}),t.$watch("searchTerm",function(t){return void 0!==t&&i.search("text",t),o.trackPage(i.url(),"Search")}),n.on("click",".search-filter li > a",function(e){var r,n,i,o;return e.preventDefault(),o=angular.element(e.currentTarget),i=o.parent().data("name"),n=d?d[i]:[],r={name:i,value:n},t.$apply(function(){return g(r),f(r)})})},s=function(t,e,r){var i,o;return i=e.controller(),a(t,e,r,i),o=n.text,t.$watch("projectId",function(e){if(null!=e)return t.searchTerm=o})},{link:s}},c.directive("tgSearch",["$log","$compile","$templateCache","$routeParams","$tgLocation","$tgAnalytics",r])}.call(this),function(){var t;t=angular.module("taigaTaskboard",[])}.call(this),function(){var t;t=angular.module("taigaTasks",[])}.call(this),function(){var t;t=angular.module("taigaTeam",[])}.call(this),function(){var t;t=angular.module("taigaUserSettings",[])}.call(this),function(){var t;t=angular.module("taigaUserStories",[])}.call(this),function(){var t;t=angular.module("taigaWiki",[])}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,e=angular.module("taigaCommon"),t=function(t){function e(t,e,r,n,i,o){var s;this.rootscope=t,this.log=e,this.config=r,this.win=n,this.doc=i,this.location=o,this.initialized=!1,s=this.config.get("analytics",{}),this.accountId=s.accountId,this.pageEvent=s.pageEvent||"$routeChangeSuccess",this.trackRoutes=s.trackRoutes||!0,this.ignoreFirstPageLoad=s.ignoreFirstPageLoad||!1}return n(e,t),e.$inject=["$rootScope","$log","$tgConfig","$window","$document","$location"],e.prototype.initialize=function(){return this.accountId?(this.injectAnalytics(),this.win.ga("create",this.accountId,"auto"),this.win.ga("require","ec"),this.win.ga("require","displayfeatures"),this.trackRoutes&&!this.ignoreFirstPageLoad&&this.win.ga("send","pageview",this.getUrl()),this.trackRoutes&&this.rootscope.$on(this.pageEvent,function(t){return function(){return t.trackPage(t.getUrl(),"Taiga")}}(this)),this.initialized=!0,this.setUserId()):void this.log.debug("Analytics: no acount id provided. Disabling.")},e.prototype.setUserId=function(){var t,e;if(this.initialized&&this.win.ga)return this.win.ga("set","userId",null!=(t=this.rootscope)&&null!=(e=t.user)?e.uuid:void 0)},e.prototype.getUrl=function(){return this.location.path()},e.prototype.injectAnalytics=function(){var t;return(t=function(t,e,r,n,i,o,s){t.GoogleAnalyticsObject=i,t[i]=t[i]||function(){(t[i].q=t[i].q||[]).push(arguments)},t[i].l=1*new Date,o=e.createElement(r),s=e.getElementsByTagName(r)[0],o.async=1,o.src=n,s.parentNode.insertBefore(o,s)})(window,document,"script","//www.google-analytics.com/analytics.js","ga")},e.prototype.trackPage=function(t,e){if(this.initialized&&this.win.ga)return e=e||this.doc[0].title,this.win.ga("send","pageview",{page:t,title:e})},e.prototype.trackEvent=function(t,e,r,n){if(this.initialized&&this.win.ga)return this.win.ga("send","event",t,e,r,n)},e.prototype.ecViewPlan=function(t){if(this.initialized&&this.win.ga)return this.win.ga("ec:addProduct",{id:t.plan_id,name:t.name,category:"plans",quantity:1,position:1}),this.win.ga("ec:setAction","detail"),this.trackEvent("ecommerce","view-product-detail",t.name,t.plan_id)},e.prototype.ecClickPlan=function(t){if(this.initialized&&this.win.ga)return this.win.ga("ec:addProduct",{id:t.plan_id,name:t.name,category:"plans",quantity:1,position:1}),this.win.ga("ec:setAction","click"),this.trackEvent("ecommerce","click-product",t.name,t.plan_id)},e.prototype.ecListPlans=function(t,e){var r,n,i,o,s;if(o=t[0],this.initialized&&this.win.ga){for(s=1,r=0,n=o.length;r0},g=function(i,o){var s;return s=n.save(function(t){return t.assigned_users=i,t.assigned_to||(t.assigned_to=o),t}),s.then(function(){var e;return i=_.map(i,function(t){return r.usersById[t]}),h(i),e=t.$broadcast("object:updated")}),s.then(null,function(){return e.notify("error")})},f=function(){var e;return e=_.clone(c.$modelValue,!1),t.$broadcast("assigned-user:add",e)},u=function(){var t,e;if(d())return e=a.getUser().get("id"),t=_.clone(c.$modelValue.assigned_users,!1),t.push(e),t=_.uniq(t),g(t,e)},l=function(i){var o;return o=n.save(function(t){var e;return t.assigned_users=i,e=t.assigned_to,T.call(i,e)<0&&i.length>0&&(t.assigned_to=i[0]),0===i.length&&(t.assigned_to=null),t}),o.then(function(){var e,i;return i=n.getObj(),e=_.map(i.assignedUsers,function(t){return r.usersById[t]}),h(e),t.$broadcast("object:updated")}),o.then(null,function(){return item.revert(),e.notify("error")})},h=function(t){return r.assignedUsers=t,r.isEditable=d(),r.isAssigned=p(),r.openAssignedUsers=f,r.assignToMe=u},i.on("click",".remove-user",function(t){var n,i,o,a;if(t.preventDefault(),d())return o=angular.element(t.currentTarget),n=o.data("assigned-user-id"),a=s.instant("COMMON.ASSIGNED_USERS.TITLE_LIGHTBOX_DELETE_ASSIGNED"),i=r.usersById[n].full_name_display,e.askOnDelete(a,i).then(function(t){return function(t){var e;return t.finish(),e=_.clone(c.$modelValue.assigned_users,!1),e=_.pull(e,n),l(e)}}(this))}),r.$on("assigned-user:deleted",function(t,e){var r;return r=_.clone(c.$modelValue.assigned_users,!1),r=_.pull(r,e),r=_.uniq(r),l(r)}),r.$on("assigned-user:added",function(t,e){var r;return r=_.clone(c.$modelValue.assigned_users,!1),r.push(e),r=_.uniq(r),g(r,e)}),r.$watch(o.ngModel,function(t){var e;if(null!=t)return e=_.map(t.assigned_users,function(t){return r.usersById[t]}),e=_.filter(e,function(t){return!!t}),h(e)}),r.$on("$destroy",function(){return i.off()})},{scope:!0,templateUrl:"common/components/assigned-users.html",link:c,require:"ngModel"}},$.directive("tgAssignedUsers",["$rootScope","$tgConfirm","$tgRepo","$tgQueueModelTransformation","$tgTemplate","$compile","$translate","tgCurrentUserService",r]),t=function(t,e,r,n,i,o,s,a,c,u){var l,p;return p=o.get("common/components/assigned-to.html",!0),l=function(r,o,l,d){var f,h,g;return f=function(){var t,e;return(null!=(t=r.project)&&null!=(e=t.my_permissions)?e.indexOf(l.requiredPerm):void 0)!==-1},g=function(r){var s,a,c;return a=d.$modelValue.clone(),a.assigned_to=r,s=n().target(o).start(),c=i.save(function(t){return t.assigned_to=r,t}),c.then(function(){return s.finish(),h(i.getObj()),t.$broadcast("object:updated")}),c.then(null,function(){return e.notify("error"),s.finish()}),c},h=function(t){var e,n,i,l,d,h,g;return e=u.getAvatar(null!=t?t.assigned_to_extra_info:void 0),n=null,null!=(null!=t?t.assigned_to:void 0)?(l=t.assigned_to_extra_info.full_name_display,g=!1,n=e.bg):(l=s.instant("COMMON.ASSIGNED_TO.ASSIGN"),g=!0),h=null!=t?t.is_iocaine:void 0,i={fullName:l,avatar:e.url,bg:n,isUnassigned:g,isEditable:f(),isIocaine:h,fullNameVisible:!(g&&!c.isAuthenticated())},d=a(p(i))(r),o.html(d)},o.on("click",".user-assigned",function(e){if(e.preventDefault(),f())return r.$apply(function(){return t.$broadcast("assigned-to:add",d.$modelValue)})}),o.on("click",".assign-to-me",function(t){if(t.preventDefault(),f())return d.$modelValue.assigned_to=c.getUser().get("id"),g(c.getUser().get("id"))}),o.on("click",".remove-user",function(t){var r;if(t.preventDefault(),f())return r=s.instant("COMMON.ASSIGNED_TO.CONFIRM_UNASSIGNED"),e.ask(r).then(function(t){return function(t){return t.finish(),d.$modelValue.assigned_to=null,g(null)}}(this))}),r.$on("assigned-to:added",function(t,e,r){if(r.id===d.$modelValue.id)return g(e)}),r.$watch(l.ngModel,function(t){return h(t)}),r.$on("$destroy",function(){return o.off()})},{link:l,require:"ngModel"}},$.directive("tgAssignedTo",["$rootScope","$tgConfirm","$tgRepo","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$translate","$compile","tgCurrentUserService","tgAvatarService",t]),e=function(t,e,r,n,i,o,s,a,c,u){var l; -return l=function(t,e,r,n){var i,o,a,l;return o=function(){var e,n;return(null!=(e=t.project)&&null!=(n=e.my_permissions)?n.indexOf(r.requiredPerm):void 0)!==-1},i=function(t,e){var r;return r=e.full_name_display.toUpperCase(),r=I(r),t=t.toUpperCase(),t=I(t),_.includes(r,t)},l=function(e){var r,n;return r=_.clone(t.activeUsers,!0),null!=t.selected&&(r=_.reject(r,{id:t.selected.id})),r=_.sortBy(r,function(e){return e.id===t.user.id?0:e.id}),null!=e&&(r=_.filter(r,_.partial(i,e))),n=_.slice(r,0,5),n=_.map(n,function(t){return t.avatar=u.getAvatar(t)}),t.users=_.slice(r,0,5),t.showMore=r.length>5},a=function(e){var r;return(null!=e?e.assigned_to:void 0)?(t.selected=e.assigned_to,r=t.usersById[t.selected],t.fullName=null!=r?r.full_name_display:void 0,t.isUnassigned=!1,t.avatar=u.getAvatar(r),t.bg=t.avatar.bg,t.isIocaine=null!=e?e.is_iocaine:void 0):(t.fullName=s.instant("COMMON.ASSIGNED_TO.ASSIGN"),t.isUnassigned=!0,t.avatar=u.getAvatar(null),t.bg=null,t.isIocaine=!1),t.fullNameVisible=!(t.isUnassigned&&!c.isAuthenticated()),t.isEditable=o()},e.on("click",".users-dropdown",function(r){return r.preventDefault(),r.stopPropagation(),l(),t.$apply(),e.find(".pop-users").popover().open()}),e.on("click",".users-search",function(t){return t.stopPropagation()}),e.on("click",".assign-to-me",function(e){if(e.preventDefault(),o())return n.$modelValue.assigned_to=c.getUser().get("id"),a(n.$modelValue),t.$apply()}),e.on("click",".remove-user",function(e){if(e.preventDefault(),o())return n.$modelValue.assigned_to=null,a(),t.$apply()}),t.$watch("usersSearch",function(t){if(null!=t)return l(t),e.find("input").focus()}),e.on("click",".user-list-single",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),n.$modelValue.assigned_to=r.data("user-id"),a(n.$modelValue),t.$apply()}),t.$watch(r.ngModel,function(t){return a(t)}),t.$on("isiocaine:changed",function(t,e){return a(e)}),t.$on("$destroy",function(){return e.off()})},{link:l,require:"ngModel",templateUrl:"common/components/assigned-to-inline.html"}},$.directive("tgAssignedToInline",["$rootScope","$tgConfirm","$tgRepo","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$translate","$compile","tgCurrentUserService","tgAvatarService",e]),n=function(t,e,r,n,i,o,s,a,c,u){var l;return l=function(t,e,r,n){var i,o,s,a,l,p,d;return o=[],s=null,l=function(){return o.length>0},a=function(t,e){var r;return r=e.full_name_display.toUpperCase(),r=I(r),t=t.toUpperCase(),t=I(t),_.includes(r,t)},d=function(e){var r,n,i;return n=_.clone(t.activeUsers,!0),n=_.sortBy(n,function(e){return e.id===t.user.id?0:e.id}),null!=e&&(n=_.filter(n,_.partial(a,e))),r=[],_.map(n,function(t){var e;if(e=t.id,T.call(o,e)>=0)return t.avatar=u.getAvatar(t),r.push(t)}),i=[],_.map(n,function(t){var e;if(e=t.id,T.call(o,e)<0)return t.avatar=u.getAvatar(t),i.push(t)}),t.selected=_.slice(r,0,5),t.selected.length<5?t.users=_.slice(i,0,5-t.selected.length):t.users=[],t.showMore=n.length>5},p=function(){var e;return e=_.map(o,function(e){return t.usersById[e]}),e=_.filter(e,function(t){return!!t}),t.hiddenUsers=o.length>3?o.length-3:0,t.assignedUsers=_.slice(e,0,3),t.isAssigned=l()},i=function(){return _.map(o,function(e){if(!t.usersById[e])return o.splice(o.indexOf(e),1)}),0===o.length?s=null:o.indexOf(s)!==-1&&s||(s=o[0]),n.$modelValue.setAttr("assigned_users",o),n.$modelValue.assigned_to=s},e.on("click",".users-dropdown",function(r){return r.preventDefault(),r.stopPropagation(),d(),t.$apply(),e.find(".pop-users").popover().open()}),e.on("click",".users-search",function(t){return t.stopPropagation()}),e.on("click",".assign-to-me",function(e){return e.preventDefault(),o.push(c.getUser().get("id")),p(),i(),t.usersSearch=null,t.$apply()}),t.$watch("usersSearch",function(t){if(null!=t)return d(t),e.find("input").focus()}),e.on("click",".user-list-single",function(r){var n,s;return r.preventDefault(),s=angular.element(r.currentTarget),n=o.indexOf(s.data("user-id")),n===-1?o.push(s.data("user-id")):o.splice(n,1),p(),i(),e.find(".pop-users").popover().close(),t.usersSearch=null,t.$apply()}),e.on("click",".remove-user",function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=o.indexOf(n.data("user-id")),r>-1&&o.splice(r,1),p(),i(),t.$apply()}),t.$watch(r.ngModel,function(t){var e;if(null!=t)return o=[],e=null,null!=t.assigned_users&&(o=t.assigned_users),e=t.assigned_to,p()}),t.$on("$destroy",function(){return e.off()})},{link:l,require:"ngModel",templateUrl:"common/components/assigned-users-inline.html"}},$.directive("tgAssignedUsersInline",["$rootScope","$tgConfirm","$tgRepo","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$translate","$compile","tgCurrentUserService","tgAvatarService",n]),i=function(t,e,r){var n,i;return i=r.get("common/components/block-button.html"),n=function(r,n,i,o){var s;return s=function(){return r.project.my_permissions.indexOf("modify_us")!==-1},r.$watch(i.ngModel,function(t){if(t)return s()&&n.find(".item-block").addClass("editable"),t.is_blocked?(n.find(".item-block").removeClass("is-active"),n.find(".item-unblock").addClass("is-active")):(n.find(".item-block").addClass("is-active"),n.find(".item-unblock").removeClass("is-active"))}),n.on("click",".item-block",function(e){return e.preventDefault(),t.$broadcast("block",o.$modelValue)}),n.on("click",".item-unblock",function(r){var i,s;return r.preventDefault(),i=e().target(n.find(".item-unblock")).start(),s=function(){return i.finish()},t.$broadcast("unblock",o.$modelValue,s)}),r.$on("$destroy",function(){return n.off()})},{link:n,restrict:"EA",require:"ngModel",template:i}},$.directive("tgBlockButton",["$rootScope","$tgLoading","$tgTemplate",i]),c=function(t,e,r,n,i){var o,s;return s=i.get("common/components/delete-button.html"),o=function(i,o,s,a){return s.onDeleteGoToUrl?s.onDeleteTitle?(o.on("click",".button-delete",function(t){var o,c;return c=s.onDeleteTitle,o=a.$modelValue.subject,r.askOnDelete(c,o).then(function(t){return function(t){var o;return o=e.remove(a.$modelValue),o.then(function(){var e;return t.finish(),e=i.$eval(s.onDeleteGoToUrl),n.path(e)}),o.then(null,function(){return t.finish(!1),r.notify("error")})}}(this))}),i.$on("$destroy",function(){return o.off()})):t.error("DeleteButtonDirective requires on-delete-title set in scope."):t.error("DeleteButtonDirective requires on-delete-go-to-url set in scope.")},{link:o,restrict:"EA",require:"ngModel",template:s}},$.directive("tgDeleteButton",["$log","$tgRepo","$tgConfirm","$tgLocation","$tgTemplate",c]),l=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemEpicStatus),k(t,"epicStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},$.directive("tgListitemEpicStatus",l),m=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemUsStatus),k(t,"usStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},$.directive("tgListitemUsStatus",m),h=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemTaskStatus),k(t,"taskStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},$.directive("tgListitemTaskStatus",h),u=function(t,e,r){var n,i;return i=t.get("common/components/list-item-assigned-to-avatar.html",!0),n=function(t,n,o){return k(t,"usersById",function(s){var a,c,u,l;return u=t.$eval(o.tgListitemAssignedto),c={name:e.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED")},l=s[u.assigned_to],a=r.getAvatar(l),c.imgurl=a.url,c.bg=a.bg,l&&(c.name=l.full_name_display),n.html(i(c))})},{link:n}},$.directive("tgListitemAssignedto",["$tgTemplate","$translate","tgAvatarService",u]),p=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemIssueStatus),k(t,"issueStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},$.directive("tgListitemIssueStatus",p),g=function(){var t;return t=function(t,e,r){var n;return n=function(t,r){var n,i;return i=t[r.type],n=e.find(".level"),n.css("background-color",i.color),n.attr("title",i.name)},k(t,"issueTypeById",function(e){var i;return i=t.$eval(r.tgListitemType),n(e,i)}),t.$watch(r.tgListitemType,function(e){return n(t.issueTypeById,e)})},{link:t,templateUrl:"common/components/level.html"}},$.directive("tgListitemType",g),d=function(){var t;return t=function(t,e,r){var n;return n=function(t,r){var n,i;return i=t[r.priority],n=e.find(".level"),n.css("background-color",i.color),n.attr("title",i.name)},k(t,"priorityById",function(e){var i;return i=t.$eval(r.tgListitemPriority),n(e,i)}),t.$watch(r.tgListitemPriority,function(e){return n(t.priorityById,e)})},{link:t,templateUrl:"common/components/level.html"}},$.directive("tgListitemPriority",d),f=function(){var t;return t=function(t,e,r){var n;return n=function(t,r){var n,i;return i=t[r.severity],n=e.find(".level"),n.css("background-color",i.color),n.attr("title",i.name)},k(t,"severityById",function(e){var i;return i=t.$eval(r.tgListitemSeverity),n(e,i)}),t.$watch(r.tgListitemSeverity,function(e){return n(t.severityById,e)})},{link:t,templateUrl:"common/components/level.html"}},$.directive("tgListitemSeverity",f),b=function(t){var e,r,n;return n=t.get("common/components/progress-bar.html",!0),r=function(t,e){return t.html(n({percentage:e}))},e=function(t,e,n){var i;return i=angular.element(e),t.$watch(n.tgProgressBar,function(t){return t=_.max([0,t]),t=_.min([100,t]),r(e,t)}),t.$on("$destroy",function(){return e.off()})},{link:e}},$.directive("tgProgressBar",["$tgTemplate",b]),y=function(t){var e;return e=function(t,e,r){return r.$observe("i18nSectionName",function(e){return t.sectionName=e}),t.$on("$destroy",function(){return e.off()})},{link:e,templateUrl:"common/components/main-title.html",scope:{projectName:"=projectName"}}},$.directive("tgMainTitle",["$translate",y])}.call(this),function(){var t,e,r,n,i,o,s,a,c=function(t,e){function r(){this.constructor=t}for(var n in e)u.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},u={}.hasOwnProperty;s=this.taiga,a=this.taiga.timeout,n=this.taiga.cancelTimeout,i=this.taiga.debounce,r=this.taiga.bindMethods,e={success:{title:"NOTIFICATION.OK",message:"NOTIFICATION.SAVED"},error:{title:"NOTIFICATION.WARNING",message:"NOTIFICATION.WARNING_TEXT"},"light-error":{title:"NOTIFICATION.WARNING",message:"NOTIFICATION.WARNING_TEXT"}},t=function(t){function o(t,e,n,i){this.q=t,this.lightboxService=e,this.loading=n,this.translate=i,r(this)}return c(o,t),o.$inject=["$q","lightboxService","$tgLoading","$translate"],o.prototype.hide=function(t){if(t)return this.lightboxService.close(t),t.off(".confirm-dialog")},o.prototype.ask=function(t,e,r,n){var o,s,a;return null==n&&(n=".lightbox-generic-ask"),o=this.q.defer(),s=angular.element(n),t&&s.find(".title").text(t),e&&s.find(".subtitle").text(e),r&&s.find(".message").html(r),s.on("click.confirm-dialog",".button-green",i(2e3,function(t){return function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=t.loading().target(n).start(),o.resolve({finish:function(e){if(null==e&&(e=!0),r.finish(),e)return t.hide(s)}})}}(this))),s.on("click.confirm-dialog",".button-red",function(t){return function(e){return e.preventDefault(),o.reject(),t.hide(s)}}(this)),a=function(t){return function(){return t.hide(s)}}(this),this.lightboxService.open(s,null,a),o.promise},o.prototype.askOnDelete=function(t,e,r){return null==r&&(r=this.translate.instant("NOTIFICATION.ASK_DELETE")),this.ask(t,r,e)},o.prototype.askChoice=function(t,e,r,n,o,s){var a,c,u;return null==s&&(s=".lightbox-ask-choice"),c=this.q.defer(),u=angular.element(s),u.find(".title").text(t),u.find(".subtitle").text(e),n?u.find(".replacement").text(n):u.find(".replacement").remove(),o?u.find(".warning").text(o):u.find(".warning").remove(),a=u.find(".choices"),a.html(""),_.each(r,function(t,e){return t=_.escape(t),a.append(angular.element(""))}),u.on("click.confirm-dialog","a.button-green",i(2e3,function(t){return function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=t.loading().target(n).start(),c.resolve({selected:a.val(),finish:function(e){if(null==e&&(e=!0),r.finish(),e)return t.hide(u)}})}}(this))),u.on("click.confirm-dialog",".button-red",function(t){return function(e){return e.preventDefault(),c.reject(),t.hide(u)}}(this)),this.lightboxService.open(u),c.promise},o.prototype.error=function(t){var e,r;return e=this.q.defer(),r=angular.element(".lightbox-generic-error"),r.find(".title").html(t),r.on("click.confirm-dialog",".button-green",function(t){return function(n){return n.preventDefault(),e.resolve(),t.hide(r)}}(this)),r.on("click.confirm-dialog",".close",function(t){return function(n){return n.preventDefault(),e.resolve(),t.hide(r)}}(this)),this.lightboxService.open(r),e.promise},o.prototype.success=function(t,e,r){var n,i,o,a,c;return n=this.q.defer(),o=angular.element(".lightbox-generic-success"),o.find("img").remove(),o.find("svg").remove(),r&&("img"===r.type?i=$("").addClass("lb-icon").attr("src",r.name):"svg"===r.type&&(i=document.createElement("div"),s.addClass(i,"icon"),s.addClass(i,r.name),s.addClass(i,"lb-icon"),a=document.createElementNS("http://www.w3.org/2000/svg","svg"),c=document.createElementNS("http://www.w3.org/2000/svg","use"),c.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+r.name),i.appendChild(a).appendChild(c)),i&&o.find("section").prepend(i)),t&&o.find(".title").html(t),e&&o.find(".message").html(e),o.on("click.confirm-dialog",".button-green",function(t){return function(e){return e.preventDefault(),n.resolve(),t.hide(o)}}(this)),o.on("click.confirm-dialog",".close",function(t){return function(e){return e.preventDefault(),n.resolve(),t.hide(o)}}(this)),this.lightboxService.open(o),n.promise},o.prototype.loader=function(t,e,r){var n;return null==r&&(r=!1),n=angular.element(".lightbox-generic-loading"),t&&n.find(".title").html(t),e&&n.find(".message").html(e),r&&n.find(".spin").removeClass("hidden"),{start:function(t){return function(){return t.lightboxService.open(n)}}(this),stop:function(t){return function(){return t.lightboxService.close(n)}}(this),update:function(t){return function(t,e,r,i){return e&&n.find(".title").html(e),r&&n.find(".message").html(r),i?(n.find(".spin").addClass("hidden"),n.find(".progress-bar-wrapper").removeClass("hidden"),n.find(".progress-bar-wrapper > .bar").width(i+"%"),n.find(".progress-bar-wrapper > span").html(i+"%").css("left",i-9+"%")):(n.find(".spin").removeClass("hidden"),n.find(".progress-bar-wrapper").addClass("hidden"))}}(this)}},o.prototype.notify=function(t,r,i,o){var s,c,u;if(u=".notification-message-"+t,c=angular.element(u),!c.hasClass("active"))return i?c.find("h4").html(i):c.find("h4").html(this.translate.instant(e[t].title)),r?c.find("p").html(r):c.find("p").html(this.translate.instant(e[t].message)),s=angular.element("body"),s.find(".notification-message .notification-light").removeClass("active").addClass("inactive"),s.find(u).removeClass("inactive").addClass("active"),this.tsem&&n(this.tsem),o||(o="error"===t||"light-error"===t?3500:1500),this.tsem=a(o,function(t){return function(){return s.find(u).removeClass("active").addClass("inactive").one("animationend",function(){return $(this).removeClass("inactive")}),delete t.tsem}}(this)),c.on("click",".icon-close, .close",function(t){return function(t){return s.find(u).removeClass("active").addClass("inactive")}}(this))},o}(s.Service),o=angular.module("taigaCommon"),o.service("$tgConfirm",t)}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g=function(t,e){function r(){this.constructor=t}for(var n in e)m.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},m={}.hasOwnProperty;h=this.taiga,u=this.taiga.bindMethods,l=this.taiga.bindOnce,p=this.taiga.debounce,d=h.generateHash,f=angular.module("taigaCommon"),s="text",o="url",i="multiline",n="date",c="url",a=[{key:s,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_TEXT"},{key:i,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_MULTI"},{key:n,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_DATE"},{key:c,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_URL"},{key:o,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT"}],e=function(t){function e(t,e,r,n,i,o){this.scope=t,this.rootscope=e,this.repo=r,this.rs=n,this.confirm=i,this.q=o,u(this),this.type=null,this.objectId=null,this.projectId=null,this.customAttributes=[],this.customAttributesValues=null}return g(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$tgConfirm","$q"],e.prototype.initialize=function(t,e){return this.project=this.scope.project,this.type=t,this.objectId=e,this.projectId=this.scope.projectId},e.prototype.loadCustomAttributesValues=function(){return this.objectId?this.rs.customAttributesValues[this.type].get(this.objectId).then(function(t){return function(e){return t.customAttributes=t.project[t.type+"_custom_attributes"],t.customAttributesValues=e,e}}(this)):this.customAttributesValues},e.prototype.getAttributeValue=function(t){var e;return e=_.clone(t,!1),e.value=this.customAttributesValues.attributes_values[t.id],e},e.prototype.updateAttributeValue=function(t){var e,r,n;return n=function(t){return function(){return t.rootscope.$broadcast("custom-attributes-values:edit")}}(this),r=function(t){return function(e){return t.confirm.notify("error"),t.q.reject()}}(this),e=_.clone(this.customAttributesValues.attributes_values,!0),e[t.id]=t.value,this.customAttributesValues.attributes_values=e,this.customAttributesValues.id=this.objectId,this.repo.save(this.customAttributesValues).then(n,r)},e}(h.Controller),r=function(t,r){var n,i,o,s;return o=t.get("custom-attributes/custom-attributes-values.html",!0),n=function(t){return d(["custom-attributes-collapsed",t])},i=function(t,e,i,o){var s,a,c;return s=o[0],a=o[1],c=n(i.type),t.collapsed=r.get(c)||!1,l(t,i.ngModel,function(t){return s.initialize(i.type,t.id),s.loadCustomAttributesValues()}),t.toggleCollapse=function(){return t.collapsed=!t.collapsed,r.set(c,t.collapsed)},t.$on("$destroy",function(){return e.off()})},s=function(t,e){return o({requiredEditionPerm:e.requiredEditionPerm})},{require:["tgCustomAttributesValues","ngModel"],controller:e,controllerAs:"ctrl",restrict:"AE",scope:!0,link:i,template:s}},f.directive("tgCustomAttributesValues",["$tgTemplate","$tgStorage","$translate",r]),t=function(t,e,r,i,o,s){var a,c,u;return c=t.get("custom-attributes/custom-attribute-value.html",!0),u=t.get("custom-attributes/custom-attribute-value-edit.html",!0),a=function(t,a,l,d){var f,h,g,m,v,y;return g=i.instant("COMMON.PICKERDATE.FORMAT"),m=function(e,i){var l,p,d,f,m,v;return null==i&&(i=!1),v=e.type===n&&e.value?moment(e.value,"YYYY-MM-DD").format(g):e.value,d=h(),l={id:e.id,name:e.name,description:e.description,value:v,isEditable:d,type:e.type},m=t.$new(),m.attributeHtml=s.getHTML(v),!d||!i&&v?(f=c(l),f=r(f)(m),a.html(f)):(f=u(l),f=r(f)(m),a.html(f),e.type===n?(p=o.get(),_.merge(p,{field:a.find("input[name=value]")[0],onSelect:function(t){return function(t){var e;return e=t}}(this),onOpen:function(t){return function(){if("undefined"!=typeof selectedDate&&null!==selectedDate)return a.picker.setDate(selectedDate)}}(this)}),a.picker=new Pikaday(p)):void 0)},h=function(){var e,r;return e=t.project.my_permissions,r=l.requiredEditionPerm,e.indexOf(r)>-1},t.saveCustomRichText=function(t){return function(t,e){return f.value=t,d.updateAttributeValue(f).then(function(){return e(),m(f,!1)})}}(this),t.cancelCustomRichText=function(t){return function(){return m(f,!1),null}}(this),y=p(2e3,function(e){return function(e){var r,i;if(e.preventDefault(),r=a.find("form").checksley(),r.validate())return i=a.find("input[name=value], textarea[name='value']"),f.value=i.val(),f.type===n&&moment(f.value,g).isValid()&&(f.value=moment(f.value,g).format("YYYY-MM-DD")),t.$apply(function(){return d.updateAttributeValue(f).then(function(){return m(f,!1)})})}}(this)),v=function(){return a.find("input[name='value'], textarea[name='value']").focus().select()},f=t.$eval(l.tgCustomAttributeValue),null!==f.value&&void 0!==f.value||(f.value=""),t.customAttributeValue=f,m(f),a.on("click",".js-value-view-mode span a",function(t){return t.stopPropagation()}),a.on("click",".js-value-view-mode",function(){if(h()&&!e.get().length)return m(f,!0),v()}),a.on("click",".js-edit-description",function(t){return t.preventDefault(),m(f,!0),v()}),a.on("keyup","input[name=value], textarea[name='value']",function(t){return 13===t.keyCode&&"textarea"!==t.currentTarget.type?y(t):27===t.keyCode?m(f,!1):void 0}),a.on("submit","form",y),a.on("click",".js-save-description",y),t.$on("$destroy",function(){return a.off()})},{link:a,require:"^tgCustomAttributesValues",restrict:"AE"}},f.directive("tgCustomAttributeValue",["$tgTemplate","$selectedText","$compile","$translate","tgDatePickerConfigService","tgWysiwygService",t])}.call(this),function(){var t,e,r,n=function(t,e){return function(){return t.apply(e,arguments)}},i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;r=this.taiga,e=angular.module("taigaCommon"),t=function(t){function e(){this.replaceEmojiNameByHtmlImgs=n(this.replaceEmojiNameByHtmlImgs,this),this.replaceEmojiNameByImgs=n(this.replaceEmojiNameByImgs,this),this.replaceImgsByEmojiName=n(this.replaceImgsByEmojiName,this),this.getEmojiByName=n(this.getEmojiByName,this),this.getEmojiById=n(this.getEmojiById,this),this.searchByName=n(this.searchByName,this),this.emojis=_.map(r.emojis,function(t){return t.image="/"+window._version+"/emojis/"+t.image,t}),this.emojisById=_.keyBy(this.emojis,"id"),this.emojisByName=_.keyBy(this.emojis,"name")}return i(e,t),e.$inject=[],e.prototype.searchByName=function(t){return _.filter(this.emojis,function(e){return e.name.indexOf(t)!==-1})},e.prototype.getEmojiById=function(t){return this.emojisById[t]},e.prototype.getEmojiByName=function(t){return this.emojisByName[t]},e.prototype.replaceImgsByEmojiName=function(t){var e,n,i,o,s,a;for(i=r.getMatches(t,/emojis\/([^"]+).png"/gi),o=0,s=i.length;o]+>","g"),e=this.getEmojiById(n),t=t.replace(a,":"+e.name+":");return t},e.prototype.replaceEmojiNameByImgs=function(t){var e,n,i,o,s,a;for(i=r.getMatches(t,/:([\w +-]*):/g),o=0,s=i.length;o'));return t},e}(r.Service),e.service("$tgEmojis",t)}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){return function(){return t.apply(e,arguments)}};o=this.taiga,n=this.taiga.groupBy,i=angular.module("taigaCommon"),e=function(t,e,r,n,i){var o;return o=function(e,r,o,s){return e.$watch(o.ngModel,function(o){var a;if(o)return a=t.create(r,o,e.project),a.onSelectedPointForRole=function(t,r,n){return o.points=n,a.render(),e.$apply(function(){return s.$setViewValue(o)})},a.render=function(){var t,r,o,s;return t={totalPoints:this.calculateTotalPoints(),roles:this.calculateRoles(),editable:this.isEditable,loading:!1},o="common/estimation/us-estimation-points-per-role.html",s=n.get(o,!0),r=s(t),r=i(r)(e),this.$el.html(r)},a.render()}),e.$on("$destroy",function(){return r.off()})},{link:o,restrict:"EA",require:"ngModel"}},i.directive("tgLbUsEstimation",["$tgEstimationsService","$rootScope","$tgRepo","$tgTemplate","$compile",e]),r=function(t,e,r,n,i,o,s){var a;return a=function(r,a,c,u){var l;return l=function(t){var e,r;return r=o.save(function(e){return function(e){return e.points=t,e}}(this)),e=function(t){return function(){return s.notify("error")}}(this),r.then(null,e)},r.$watchCollection(function(){return u.$modelValue&&u.$modelValue.points},function(){var o,s;if(s=u.$modelValue)return o=t.create(a,s,r.project),o.onSelectedPointForRole=function(t,r,n){return o.loading=t,o.render(),l(n).then(function(){return o.loading=!1,e.$broadcast("object:updated"),o.render()})},o.render=function(){var t,e,s,a;return t={totalPoints:this.calculateTotalPoints(),roles:this.calculateRoles(),editable:this.isEditable,loading:o.loading},s="common/estimation/us-estimation-points-per-role.html",a=n.get(s,!0),e=a(t),e=i(e)(r),this.$el.html(e)},o.render()}),r.$on("$destroy",function(){return a.off()})},{link:a,restrict:"EA",require:"ngModel"}},i.directive("tgUsEstimation",["$tgEstimationsService","$rootScope","$tgRepo","$tgTemplate","$compile","$tgQueueModelTransformation","$tgConfirm",r]),t=function(t,e,r,i,o){var a,c,u;return u=t.get("common/estimation/us-estimation-points.html",!0),a=function(){function t(t,e,r){this.$el=t,this.us=e,this.project=r,this.bindClickEvents=s(this.bindClickEvents,this),this.isEditable=this.project.my_permissions.indexOf("modify_us")!==-1,this.roles=this.project.roles,this.points=this.project.points,this.loading=!1,this.pointsById=n(this.points,function(t){return t.id}),this.onSelectedPointForRole=function(t,e){},this.render=function(){}}return t.prototype.save=function(t,n){var s;return s=i.defer(),o.add(function(t){return function(){var n,i;return i=function(){return s.resolve(),t.render()},n=function(){return r.notify("error"),t.us.revert(),t.render(),s.reject()},e.save(t.us).then(i,n)}}(this)),s.promise},t.prototype.calculateTotalPoints=function(){var t,e;return e=_.map(this.us.points,function(t){return function(e,r){var n;return null!=(n=t.pointsById[e])?n.value:void 0}}(this)),0===e.length?"?":(t=_.filter(e,function(t){return null!=t}),0===t.length?"?":_.reduce(t,function(t,e){return t+e}))},t.prototype.calculateRoles=function(){var t,e;return t=_.filter(this.project.roles,"computable"),e=_.map(t,function(t){return function(e){var r,n;return r=t.us.points[e.id],n=t.pointsById[r],e=_.clone(e,!0),e.points=null!=n&&null!=n.name?n.name:"?",e}}(this))},t.prototype.bindClickEvents=function(){return this.$el.on("click",".total.clickable",function(t){return function(e){var r,n;return e.preventDefault(),e.stopPropagation(),n=angular.element(e.currentTarget),r=n.data("role-id"),t.renderPointsSelector(r,n),n.siblings().removeClass("active"),n.addClass("active")}}(this)),this.$el.on("click",".point",function(t){return function(e){var r,n,i,o;return e.preventDefault(),e.stopPropagation(),o=angular.element(e.currentTarget),i=o.data("role-id"),r=o.data("point-id"),t.$el.find(".popover").popover().close(),n=_.clone(t.us.points,!0),n[i]=r,t.onSelectedPointForRole(i,r,n)}}(this))},t.prototype.renderPointsSelector=function(t,e){var r,n,i,o,s;if(o=_.map(this.points,function(e){return function(r){return r=_.clone(r,!0),r.selected=e.us.points[t]!==r.id,r}}(this)),i=5,r=_.some(o,function(t){return function(t){return t.name.length>i}}(this)),n=u({points:o,roleId:t,horizontal:r}),this.$el.find(".popover").popover().close(),this.$el.find(".pop-points-open").remove(),null!=e?this.$el.find(e).append(n):this.$el.append(n),this.$el.find(".pop-points-open").popover().open(function(){return $(this).removeClass("active").closest("li").removeClass("active")}),this.$el.find(".pop-points-open").show(),s=this.$el.find(".pop-points-open"),s.offset().top+s.height()>document.body.clientHeight)return s.addClass("pop-bottom")},t}(),c=function(t,e,r){var n;return t.unbind("click"),n=new a(t,e,r),n.isEditable&&n.bindClickEvents(),n},{create:c}},i.factory("$tgEstimationsService",["$tgTemplate","$tgRepo","$tgConfirm","$q","$tgQqueue",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f;l=this.taiga,s=angular.module("taigaCommon"),r=function(){return function(t,e){return t===[null,void 0]?e:t}},s.filter("default",r),f=function(t){return function(e){return e?t.instant("COMMON.YES"):t.instant("COMMON.NO")}},s.filter("yesNo",["$translate",f]),d=function(){return l.unslugify},s.filter("unslugify",d),a=function(){return function(t,e){return t?moment(t).format(e):""}},s.filter("momentFormat",a),c=function(){return function(t,e){return t?moment(t).fromNow(e||!1):""}},s.filter("momentFromNow",c),u=function(t){return function(){return t.taiga.sizeFormat}}(this),s.filter("sizeFormat",u),p=function(){var t,e;return e=function(t){return t.toJS()},t=_.memoize(e),function(e){return e instanceof Immutable.List?t(e):e}},s.filter("toMutable",p),t=function(t){return function(e,r){var n;return(null!=r?r.startsWith("#"):void 0)?(n=r.substr(1),_.filter(e,function(t){return function(t){return String(t.ref).startsWith(n)}}(this))):t(e,r)}},s.filter("byRef",["filterFilter",t]),e=function(){return function(t,e){var r,n,i,o,s,a,c,u;for(t=new String(t).replace(/[^0-9a-f]/gi,""),t.length<6&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),e=e||0,a="#",n=0,i=0,r=0,u=255,c=[0,1,2],o=0,s=c.length;o5},a=f(r),a=n(a)(o),s.find(".assigned-to-list").html(a)},c=function(){return e.stop(),t.close(s)},o.$on("assigned-to:add",function(r,n){var i;return p=n,i=n.assigned_to,d=o.usersById[i],l(d),t.open(s).then(function(){return s.find("input").focus(),e.init(s)})}),o.$watch("usersSearch",function(t){if(null!=t)return l(d,t),s.find("input").focus()}),s.on("click",".user-list-single",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),c(),o.$apply(function(){return o.$broadcast("assigned-to:added",e.data("user-id"),p),o.usersSearch=null})}),s.on("click",".remove-assigned-to",function(t){return t.preventDefault(),t.stopPropagation(),c(),o.$apply(function(){return o.usersSearch=null,o.$broadcast("assigned-to:added",null,p)})}),s.on("click",".close",function(t){return t.preventDefault(),c(),o.$apply(function(){return o.usersSearch=null})}),o.$on("$destroy",function(){return s.off()})},{templateUrl:"common/lightbox/lightbox-assigned-to.html",link:o}},v.directive("tgLbAssignedto",["lightboxService","lightboxKeyboardNavigationService","$tgTemplate","$compile","tgAvatarService",t]),e=function(t,e,r,n,i,o){var s;return s=function(t,s,a){var c,u,l,p,d,f;return d=[],p=null,f=n.get("common/lightbox/lightbox-assigned-users-users.html",!0),u=function(t,e){var r;return r=e.full_name_display.toUpperCase(),r=y(r),t=t.toUpperCase(),t=y(t),_.includes(r,t)},l=function(e,r){var n,a,c,l,p;return l=_.clone(t.activeUsers,!0),l=_.sortBy(l,function(e){return e.id===t.user.id?0:e.id}),null!=r&&(l=_.filter(l,_.partial(u,r))),c=[],_.map(l,function(t){var r;if(r=t.id,E.call(e,r)>=0)return t.avatar=o.getAvatar(t),c.push(t)}),p=[],_.map(l,function(t){var r;if(r=t.id,E.call(e,r)<0)return t.avatar=o.getAvatar(t),p.push(t)}),n={selected:c,users:_.slice(p,0,5),showMore:l.length>5},a=f(n),a=i(a)(t),s.find(".assigned-to-list").html(a)},c=function(){return r.stop(),e.close(s)},t.$on("assigned-user:add",function(t,n){return p=n,d=n.assigned_users,l(d),e.open(s).then(function(){return s.find("input").focus(),r.init(s)})}),t.$watch("usersSearch",function(t){if(null!=t)return l(d,t),s.find("input").focus()}),s.on("click",".user-list-single",h(200,function(e){var r;return c(),e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return t.usersSearch=null,t.$broadcast("assigned-user:added",r.data("user-id"),p)})})),s.on("click",".remove-assigned-to",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),e.stopPropagation(),t.$apply(function(){return t.usersSearch=null,t.$broadcast("assigned-user:deleted",r.data("user-id"),p)}),c()}),s.on("click",".close",function(t){return t.preventDefault(),c()}),t.$on("$destroy",function(){return s.off()})},{templateUrl:"common/lightbox/lightbox-assigned-users.html",link:s}},v.directive("tgLbAssignedUsers",["$tgRepo","lightboxService","lightboxKeyboardNavigationService","$tgTemplate","$compile","tgAvatarService",e]),d=function(t,e,r,n,i,o){var s;return s=function(t,s,a){var c,u,l,p,d;return p=null,d=n.get("common/lightbox/lightbox-assigned-to-users.html",!0),u=function(e){var r,n;return null==e&&(e=""),r=function(t,e){var r;return(!p||!_.find(p.watchers,function(t){return t===e.id}))&&(r=e.full_name_display.toUpperCase(),t=t.toUpperCase(),_.includes(r,t))},n=_.clone(t.activeUsers,!0),n=_.filter(n,_.partial(r,e))},l=function(e){var r,n,a;return a=_.slice(e,0,5),a=_.map(a,function(t){return t.avatar=o.getAvatar(t),t}),r={selected:!1,users:a,showMore:e.length>5},n=d(r),n=i(n)(t),s.find(".ticket-watchers").html(n)},c=function(){return r.stop(),e.close(s)},t.$on("watcher:add",function(t,n){var i;return p=n,i=u(),l(i),e.open(s).then(function(){return s.find("input").focus(),r.init(s)})}),t.$watch("usersSearch",function(t){var e;if(null!=t)return e=u(t),l(e),s.find("input").focus()}),s.on("click",".user-list-single",h(200,function(e){var r;return c(),e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return t.usersSearch=null,t.$broadcast("watcher:added",r.data("user-id"))})})),s.on("click",".close",function(e){return e.preventDefault(),c(),t.$apply(function(){return t.usersSearch=null})}),t.$on("$destroy",function(){return s.off()})},{templateUrl:"common/lightbox/lightbox-users.html",link:s}},v.directive("tgLbWatchers",["$tgRepo","lightboxService","lightboxKeyboardNavigationService","$tgTemplate","$compile","tgAvatarService",d]),c=function(t,e,r){var n;return n=function(e,r,n){return t.open(r)},{templateUrl:"common/lightbox/lightbox-leave-project-warning.html",link:n,scope:!0}},v.directive("tgLightboxLeaveProjectWarning",["lightboxService",c]),p=function(t,e,r,n,i,o){var s;return s=function(s,a,c){var u,l,p;return u=n.instant("COMMON.PICKERDATE.FORMAT"),e.open(a),s.object.due_date&&(s.new_due_date=moment(s.object.due_date).format(u)),a.on("click",".suggestion",function(t){var e,r,n,i;return r=angular.element(t.currentTarget),e=r.data("quantity"),n=r.data("unit"),i=moment().add(e,n).format(u),a.find(".due-date").val(i)}),p=function(){var n,c,l;return n=r().target(a.find(".submit-button")).start(),s.notAutoSave?(c=$(".due-date").val(),s.object.due_date=c?moment(c,u).format("YYYY-MM-DD"):null,s.$apply(),n.finish(),void e.close(a)):(l=o.save(function(t){return c=$(".due-date").val(),t.due_date=c?moment(c,u).format("YYYY-MM-DD"):null,t}),l.then(function(){return i.notify("success")}),l.then(null,function(){return i.notify("error")}),l["finally"](function(){return n.finish(),e.close(a),t.$broadcast("object:updated")}))},a.on("click",".submit-button",function(t){return t.preventDefault(),p()}),l=function(){var t,r,o;return o=n.instant("LIGHTBOX.DELETE_DUE_DATE.TITLE"),r=n.instant("LIGHTBOX.DELETE_DUE_DATE.SUBTITLE"),t=moment(s.object.due_date).format(u),i.askOnDelete(o,t,r).then(function(t){return t.finish(),$(".due-date").val(null),s.object.due_date_reason=null,s.notAutoSave?(s.object.due_date=null,e.close(a)):p()})},a.on("click",".delete-due-date",function(t){return t.preventDefault(),l()})},{templateUrl:"common/lightbox/lightbox-due-date.html",link:s,scope:!0}},v.directive("tgLbSetDueDate",["$rootScope","lightboxService","$tgLoading","$translate","$tgConfirm","$tgQueueModelTransformation",p]),m=this.taiga.groupBy,o=function(t,e,r,n,i,o,s,a,c,u,l,p,d){var f;return f=function(f,g,v){var y,b,S,k,$,I,T,C,P,w,A,O,R,M,U,D,N,x,L,F,B;return N=null,R=null,P=null,b=Immutable.List(),S=Immutable.List(),x={us:{objName:"User Story",model:"userstories",params:{include_attachments:!0,include_tasks:!0},data:function(t){return{statusList:_.sortBy(t.us_statuses,"order")}},initialData:function(t){return{project:t.project.id,subject:"",description:"",tags:[],points:{},status:t.statusId?t.statusId:t.project.default_us_status,is_archived:!1}}},task:{objName:"Task",model:"tasks",params:{include_attachments:!0},data:function(t){return{statusList:_.sortBy(t.task_statuses,"order")}},initialData:function(t){return{project:t.project.id,subject:"",description:"",assigned_to:null,tags:[],milestone:t.sprintId,status:t.project.default_task_status,user_story:t.usId,is_archived:!1}}},issue:{objName:"Issue",model:"issues",params:{include_attachments:!0},data:function(t){return{project:t,statusList:_.sortBy(t.issue_statuses,"order"),typeById:m(t.issue_types,function(t){return t.id}),typeList:_.sortBy(t.issue_types,"order"),severityById:m(t.severities,function(t){return t.id}),severityList:_.sortBy(t.severities,"order"),priorityById:m(t.priorities,function(t){return t.id}),priorityList:_.sortBy(t.priorities,"order"),milestonesById:m(t.milestones,function(t){return t.id})}},initialData:function(t){return{assigned_to:null,milestone:t.sprintId,priority:t.project.default_priority,project:t.project.id,severity:t.project.default_severity,status:t.project.default_issue_status,subject:"",tags:[],type:t.project.default_issue_type}}}},f.setMode=function(t){return f.mode=t},f.$on("genericform:new",function(t,e){return w(e),f.mode="new",f.getOrCreate=!1,O(e)}),f.$on("genericform:new-or-existing",function(t,e){return w(e),f.mode="add-existing",f.getOrCreate=!0,f.existingFilterText="",n[N.model].listInAllProjects({project:f.project.id},!0).then(function(t){return f.existingItems=angular.copy(t)}),O(e)}),f.$on("genericform:edit",function(t,e){return w(e),f.mode="edit",f.getOrCreate=!1,O(e)}),w=function(e){return _.map(e,function(t,e){return f[e]=t}),f.objType&&x[f.objType]?N=x[f.objType]:t.error("Invalid objType `"+f.objType+"` for `genericform` event")},O=function(t){return f.objName=N.objName,"edit"===f.mode?(f.obj=t.obj,f.attachments=Immutable.fromJS(t.attachments)):(f.obj=r.make_model(N.model,N.initialData(t)),f.attachments=Immutable.List()),_.map(N.data(f.project),function(t,e){return f[e]=t}),P&&P.reset(),U(),L(f.obj.status),M(),f.lightboxOpen=!0,o.open(g,null,null,!0)},U=function(){return b=Immutable.List(),S=Immutable.List()},f.addAttachment=function(t){return b=b.push(t)},f.deleteAttachment=function(t){if(b=b.filter(function(e){return e.get("name")!==t.get("name")}),t.get("id"))return S=S.push(t)},f.addTag=function(t,e){var r,n,i,o,s;if(s=j(t.toLowerCase()),o=f.project.tags,i=f.project.tags_colors,null==o&&(o=[]),null==i&&(i={}),E.call(o,s)<0&&o.push(s),i[t]=e||null,f.project.tags=o,n=_.clone(f.obj.tags),r=_.find(n,function(t){return t[0]===s}),!r)return n.push([s,e]),f.obj.tags=n},f.deleteTag=function(t){var e,r,n;return n=j(t[0].toLowerCase()),r=f.project.tags,e=_.clone(f.obj.tags),_.remove(e,function(t){return t[0]===n}),f.obj.tags=e,_.pull(f.obj.tags,n)},I=function(t){var e;return e=_.map(b.toJS(),function(e){return l.upload(e.file,t.id,f.obj.project,f.objType)}),u.all(e)},T=function(t){var e;return e=_.map(S.toJS(),function(t){return l["delete"](f.objType,t.id)}),u.all(e)},y=function(t){var e,r,n;return e=s().target(g.find(".add-existing-button")).start(),t.milestone?(e.finish(),o.close(g),F(t)):(n=function(){return e.finish(),o.close(g),i.$broadcast(f.objType+"form:add:success",t)},r=function(){return e.finish(),o.close(g)},D(t,n,r))},F=function(t){var e,r,n,s;return n=f.milestonesById[t.milestone].name,r=f.milestonesById[f.relatedObjectId].name,s=a.instant("ISSUES.CONFIRM_CHANGE_FROM_SPRINT.TITLE"),e=a.instant("ISSUES.CONFIRM_CHANGE_FROM_SPRINT.MESSAGE",{issue:t.subject,oldSprintName:n,newSprintName:r}),c.ask(s,null,e).then(function(e){var r,n;return n=function(){return e.finish(),o.close(g),i.$broadcast(f.objType+"form:add:success",t)},r=function(){return e.finish(!1),c.notify("error")},D(t,n,r)})},D=function(t,r,n){return t.setAttr(f.relatedField,f.relatedObjectId),e.save(t,!0).then(r,n)},A=function(t){return t&&t[f.relatedField]===f.relatedObjectId},f.isDisabledExisting=function(t){return A(t)},f.addExisting=function(t){return y(t)},B=h(2e3,function(t){var r,o,u,l;if(P=g.find("form").checksley(),P.validate())return o=s().target(g.find(".submit-button")).start(),"new"===f.mode?(l=e.create(N.model,f.obj),r=f.objType+"form:new:success"):(f.obj.due_date instanceof moment&&(u=a.instant("COMMON.PICKERDATE.FORMAT"),f.obj.due_date=f.obj.due_date.format("YYYY-MM-DD")),l=e.save(f.obj,!0),r=f.objType+"form:edit:success"),l.then(function(t){return T(t).then(function(){return I(t).then(function(){return o.finish(),$(),n[N.model].getByRef(t.project,t.ref,N.params).then(function(t){return i.$broadcast(r,t)})})})}),l.then(null,function(t){if(o.finish(),P.setErrors(t),t._error_message)return c.notify("error",t._error_message)})}),k=function(){return f.obj.isModified()?c.ask(a.instant("LIGHTBOX.CREATE_EDIT.CONFIRM_CLOSE")).then(function(t){return t.finish(),$()}):($(),f.$apply(function(){return f.obj.revert()}))},$=function(){return o.close(g),f.lightboxOpen=!1},C=angular.element(document),C.on("keydown.lightbox-create-edit",function(t){var e;if(f.lightboxOpen&&(t.stopPropagation(),e=t.keyCode?t.keyCode:t.which,27===e))return k()}),g.on("submit","form",B),g.find(".close").on("click",function(t){return t.preventDefault(),t.stopPropagation(),k()}),g.on("click",".status-dropdown",function(t){return t.preventDefault(),t.stopPropagation(),g.find(".pop-status").popover().open()}),g.on("click",".status",function(t){return t.preventDefault(),t.stopPropagation(),L(angular.element(t.currentTarget).data("status-id")),f.$apply(),f.$broadcast("status:changed",f.obj.status),g.find(".pop-status").popover().close()}),g.on("click",".users-dropdown",function(t){return t.preventDefault(),t.stopPropagation(),g.find(".pop-users").popover().open()}),g.on("click",".team-requirement",function(t){return f.obj.team_requirement=!f.obj.team_requirement,f.$apply()}),g.on("click",".client-requirement",function(t){return f.obj.client_requirement=!f.obj.client_requirement,f.$apply()}),g.on("click",".is-blocked",function(t){return f.obj.is_blocked=!f.obj.is_blocked,f.$apply()}),g.on("click",".iocaine",function(t){return f.obj.is_iocaine=!f.obj.is_iocaine,f.$broadcast("isiocaine:changed",f.obj)}),f.isTeamRequirement=function(){var t;return null!=(t=f.obj)?t.team_requirement:void 0},f.isClientRequirement=function(){var t;return null!=(t=f.obj)?t.client_requirement:void 0},L=function(t){return f.obj.status=t,f.selectedStatus=_.find(f.statusList,function(e){return e.id===t}),f.obj.is_closed=f.selectedStatus.is_closed},M=function(t){var e,r,n;return r=p.get("common/lightbox/lightbox-create-edit/lb-create-edit.html"),n=f.$new(),e=d(r)(n),g.html(e)}},{link:f}},v.directive("tgLbCreateEdit",["$log","$tgRepo","$tgModel","$tgResources","$rootScope","lightboxService","$tgLoading","$translate","$tgConfirm","$q","tgAttachmentsService","$tgTemplate","$compile",o]),g=this.taiga.debounceLeading,l=function(t,e,r,n,i,o,s,a){var c;return c=function(o,c,u){var l,p,d,f,h,m;return m=null,o.projects=null,o.projectEpics=Immutable.List(),o.loading=!1,o.selectedProject=o.project.id,f=c.find(".new-epic-form").checksley(),l=c.find(".existing-epic-form").checksley(),d=function(){if(null===o.projects)return o.projects=n.projects.get("unblocked")},p=function(t,e){return i.epics.listInAllProjects({is_epics_activated:!0,project__blocked_code:"null",project:t,q:e},!0).then(function(t){var e,r;return e=[],m.epics&&(e=m.epics.map(function(t){return t.id})),r=t.filter(function(t){return e.indexOf(t.get("id"))===-1}),o.projectEpics=r})},h=function(t){return o.selectedEpic=null,o.searchEpic="",p(t,o.searchEpic)},c.on("click",".close",function(t){return t.preventDefault(),r.close(c)}),o.$on("relate-to-epic:add",function(t,e){return m=e,o.selectedEpic=null,o.searchEpic="",d(),p(o.selectedProject,o.searchEpic).then(function(){return r.open(c).then(function(){return c.find("input").focus})})}),o.$on("$destroy",function(){return c.off()}),o.selectProject=function(t){return h(t)},o.onUpdateSearchEpic=g(300,function(){return o.selectedEpic=null,p(o.selectedProject,o.searchEpic)}),o.saveRelatedEpic=function(n,s){var u,p,d;if(l.validate())return o.loading=!0,u=function(t){return o.loading=!1,e.notify("error"),l.setErrors(t)},p=function(e){return a.trackEvent("user story related epic","create","create related epic on user story",1),o.loading=!1,t.$broadcast("related-epics:changed",m),r.close(c)},d=m.id,i.epics.addRelatedUserstory(n,d).then(p,u)},o.createEpic=function(n,u){var l,p,d;if(f.validate())return this.loading=!0,p=function(t){return o.loading=!1,e.notify("error"),f.setErrors(errors)},d=function(){return a.trackEvent("user story related epic","create","create related epic on user story",1),o.loading=!1,t.$broadcast("related-epics:changed",m),r.close(c)},l=function(t){var e,r;return e=t.get("id"),r=m.id,i.epics.addRelatedUserstory(e,r).then(d,p)},s.createEpic({subject:u},null,n).then(l,p)}},{templateUrl:"common/lightbox/lightbox-relate-to-epic.html",link:c}},v.directive("tgLbRelatetoepic",["$rootScope","$tgConfirm","lightboxService","tgCurrentUserService","tgResources","$tgResources","tgEpicsService","$tgAnalytics",l])}.call(this),function(){var t,e,r,n,i,o;i=this.taiga,n=this.taiga.sizeFormat,o=this.taiga.timeout,r=angular.module("taigaCommon"),e=function(t,e){var r;return r=function(e,r,n){return t.onStart(function(){return $(document.body).addClass("loader-active"),r.addClass("active")}),t.onEnd(function(){return $(document.body).removeClass("loader-active"),r.removeClass("active")})},{link:r}},r.directive("tgLoader",["tgLoader","$rootScope",e]),t=function(t){var e,r,n,i,s,a,c,u;return r={minTime:300},i=!1,u=0,a=0,n=0,s=function(e){var s,c,l;return null==e&&(e=!1),u&&(l=0,e||(c=(new Date).getTime(),s=c-u,s",function(){var r;return r={settings:{target:null,scope:null,classes:[],timeout:0,template:null},target:function(t){return r.settings.target=t,r},scope:function(t){return r.settings.scope=t,r},template:function(t){return r.settings.template=t,r},removeClasses:function(){var t;return t=1<=arguments.length?n.call(arguments,0):[],r.settings.classes=t,r},timeout:function(t){return r.settings.timeout=t,r},start:function(){var t,n;return t=r.settings.target,r.settings.classes.map(function(e){return t.removeClass(e)}),t.hasClass("loading")||r.settings.template||(r.settings.template=t.html()),n=setTimeout(function(){if(!t.hasClass("loading"))return t.addClass("loading"),t.html(e)},r.settings.timeout),r.settings.timeoutId=n,r},finish:function(){var e,n,i;return n=r.settings.target,i=r.settings.timeoutId,i&&(clearTimeout(i),e=r.settings.classes,e.map(function(t){return r.settings.target.addClass(t)}),n.html(r.settings.template),n.removeClass("loading"),r.settings.scope&&t(n.contents())(r.settings.scope)),r}}}},e.$inject=["$compile"],r.factory("$tgLoading",e),t=function(t){var e;return e=function(e,r,n){var i,o;return i=null,o=r.html(),e.$watch(n.tgLoading,function(n){return function(n){return n?i=t().target(r).timeout(100).template(o).scope(e).start():i?i.finish():void 0}}(this))},{priority:99999,link:e}},r.directive("tgLoading",["$tgLoading",t])}.call(this),function(){var t,e,r,n,i,o;o=this.taiga,r=this.taiga.bindOnce,n=this.taiga.debounce,i=angular.module("taigaCommon"),e=function(t,e){var i,o;return o=e.get("common/popover/popover-us-status.html",!0),i=function(e,i,s){var a,c,u;return a=i.controller(),c=function(t){var r,n,o;if(o=i.find(".us-status"),n=i.find(".us-status .us-status-bind"),r=e.usStatusById,r[t.status])return n.text(r[t.status].name),o.css("color",r[t.status].color)},i.on("click",".us-status",function(t){return t.preventDefault(),t.stopPropagation(),i.find(".pop-status").popover().open()}),i.on("click",".status",n(2e3,function(r){var n,o;return r.preventDefault(),r.stopPropagation(),n=angular.element(r.currentTarget),o=e.$eval(s.tgUsStatus),o.status=n.data("status-id"),c(o),i.find(".pop-status").popover().close(),e.$apply(function(){return t.save(o).then(function(){return e.$eval(s.onUpdate)})})})),e.$on("userstories:loaded",function(){return c(e.$eval(s.tgUsStatus))}),e.$on("$destroy",function(){return i.off()}),u=e.$eval(s.tgUsStatus),c(u),r(e,"project",function(t){var r;if(r=o({statuses:t.us_statuses}),i.append(r),e.project.my_permissions.indexOf("modify_us")===-1)return i.unbind("click"),i.find("a").addClass("not-clickable")})},{link:i}},i.directive("tgUsStatus",["$tgRepo","$tgTemplate",e]),t=function(t,e){var r,i,s;return i=e.get("common/popover/popover-related-task-status.html",!0),s=function(t,e,r){var n,i;if(i=t.find(".us-status"),n=t.find(".task-status .task-status-bind"),r[e.status])return n.text(r[e.status].name),i.css("color",r[e.status].color)},r=function(e,r,a){var c,u,l,p;return c=r.controller(),p=e.$eval(a.tgRelatedTaskStatus),l=e.$eval(a.notAutoSave),u=!l,r.on("click",".task-status",function(t){return t.preventDefault(),t.stopPropagation(),r.find(".pop-status").popover().open()}),r.on("click",".status",n(2e3,function(n){var i;if(n.preventDefault(),n.stopPropagation(),i=angular.element(n.currentTarget),p.status=i.data("status-id"),r.find(".pop-status").popover().close(),s(r,p,e.taskStatusById),u)return e.$apply(function(){return t.save(p).then(function(){return e.$eval(a.onUpdate),e.$emit("related-tasks:status-changed")})})})),e.$watch(a.tgRelatedTaskStatus,function(){return p=e.$eval(a.tgRelatedTaskStatus),s(r,p,e.taskStatusById)}),o.bindOnce(e,"project",function(t){if(r.append(i({statuses:t.task_statuses})),s(r,p,e.taskStatusById),t.my_permissions.indexOf("modify_task")===-1)return r.unbind("click"),r.find("a").addClass("not-clickable")}),e.$on("$destroy",function(){return r.off()})},{link:r}},i.directive("tgRelatedTaskStatus",["$tgRepo","$tgTemplate",t]),$.fn.popover=function(){var t,e,r,n,i,o;return t=this,i=function(e){return function(){var e,r,n,i,o,s,a,c,u,l;return t.css({display:"block",visibility:"hidden"}),i=$(window).scrollTop(),e=i+$(window).height(),o=$(window).width(),n=o,r=0,u=t.offset().top,s=u+t.height(),l=t.width(),a=t.offset().left,c=t.offset().left+l,t.css({display:"none",visibility:"visible"}),s<=e&&u>=i&&a>=r&&c<=n}}(this),n=function(e){return function(e){return e&&e.call(t),t.fadeOut(function(){return t.removeClass("active").removeClass("fix")}),t.off("popup:close")}}(this),r=function(t){return function(){return $(".popover.active").each(function(){return $(this).trigger("popup:close")})}}(this),o=function(o){return function(o){return t.hasClass("active")?e():(r(),i()||t.addClass("fix"),t.fadeIn(function(){return t.addClass("active"),$(document.body).off("popover"),$(document.body).one("click.popover",function(){return r()})}),t.on("popup:close",function(t){return n(o)}))}}(this),e=function(e){return function(){return t.trigger("popup:close")}}(this),{open:o,close:e,closeAll:r}}}.call(this),function(){var t,e,r;r=this.taiga,e=angular.module("taigaCommon"),t=function(t,e){var r;return this.config=e,r=this.config.get("ravenConfig",null),r?(t.debug("Using the RavenJS exception handler."),Raven.config(r).install(),function(e,r){return t.error.apply(t,arguments),Raven.captureException(e)}):(t.debug("Using the default logging exception handler."),function(e,r){return t.error.apply(t,arguments)})},e.factory("$exceptionHandler",["$log","$tgConfig",t])}.call(this),function(){var e,r,n,i,o,s,a,c=[].indexOf||function(t){for(var e=0,r=this.length;e\n <% if (tag[1] !== null) { %>\n \n <%= emojify(tag[0]) %>\n \n <% } %>\n<% }) %>\n<% _.each(tags, function(tag) { %>\n <% if (tag[1] === null) { %>\n \n <%= emojify(tag[0]) %>\n \n <% } %>\n<% }) %>'),e=function(e,n,i,o){var s;return s=function(e){var i;return i=r({tags:e,emojify:function(e){return t.replaceEmojiNameByHtmlImgs(_.escape(e))}}),n.html(i)},e.$watch(i.tgColorizeBacklogTags,function(t){if(null!=t)return s(t)}),e.$on("$destroy",function(){return n.off()})},{link:e}},o.directive("tgColorizeBacklogTags",["$tgEmojis",e]),r=function(e,r,n){var o,s,u,l,p;return s=13,o=188,p=r.get("common/tag/lb-tag-line-tags.html",!0),u=null,l=function(e,r,o,l){var d,f,h,g,m,v,y,b;return b=_.has(o,"withoutColors"),g=function(i,o){var s,a,c;return null==o&&(o=[]),s=b?null:o[t],a={tags:_.map(i,function(t){return{name:t,style:s?"border-left: 5px solid "+s:""}})},c=n(p(a))(e),r.find(".tags-container").html(c)},y=function(){return r.find(".save").removeClass("hidden")},h=function(){return r.find(".save").addClass("hidden")},m=function(){return r.find("input").val(""),u.close()},d=function(t){var r;if(t=a(t.toLowerCase()),0!==t.length)return r=_.clone(l.$modelValue,!1),null==r&&(r=[]),c.call(r,t)<0&&r.push(t),e.$apply(function(){return l.$setViewValue(r)}),h()},f=function(t){var r;if(t=a(t.toLowerCase()),0!==t.length)return r=_.clone(l.$modelValue,!1),r=_.pull(r,t),e.$apply(function(){return l.$setViewValue(r)})},v=function(){var t;return t=r.find("input").val(),d(t),m()},r.on("keypress","input",function(t){var e;return e=angular.element(t.currentTarget),t.keyCode===s?(t.preventDefault(),v()):","===String.fromCharCode(t.keyCode)?(t.preventDefault(),v()):e.val().length?y():h()}),r.on("click",".save",function(t){return t.preventDefault(),v()}),r.on("click",".remove-tag",function(t){var e,r;return t.preventDefault(),e=angular.element(t.currentTarget),r=e.siblings(".tag-name").text(),f(r)}),i(e,"project",function(t){var e;return e=r.find("input"),u=new Awesomplete(e[0],{list:_.keys(t.tags_colors)}),e.on("awesomplete-selectcomplete",function(){return d(e.val()),e.val("")})}),e.$watch(o.ngModel,function(t){var r,n;return n=(null!=(r=e.project)?r.tags_colors:void 0)||[],g(t,n)}),e.$on("$destroy",function(){return r.off()})},{link:l,require:"ngModel",templateUrl:"common/tag/lb-tag-line.html"}},o.directive("tgLbTagLine",["$tgResources","$tgTemplate","$compile",r])}.call(this),function(){var t,e,r,n,i;i=this.taiga,e=this.taiga.bindOnce,r=this.taiga.debounce,n=angular.module("taigaBacklog"),t=function(t,e,n,i,o,s,a){var c;return c=function(n,c,u){var l,p,d,f,h,g,m,v;return f=!1,l=!0,p=null,n.newSprint={},v=null,g=function(){return p&&p.reset(),n.newSprint={project:null,name:null,estimated_start:null,estimated_finish:null}},m=r(2e3,function(r){return function(r){var u,d,h,g,m,y,b,S,j;return r.preventDefault(),j=angular.element(r.currentTarget),y=a.instant("COMMON.PICKERDATE.FORMAT"),S=c.find(".submit-button"),p=c.find("form").checksley(),p.validate()?(f=!1,u=null,g=$(".date-start").val(),h=$(".date-end").val(),l?(m=angular.copy(n.newSprint),m.estimated_start=moment(g,y).format("YYYY-MM-DD"),m.estimated_finish=moment(h,y).format("YYYY-MM-DD"),b=t.create("milestones",m),u="sprintform:create:success"):(m=n.newSprint.realClone(),m.estimated_start=moment(g,y).format("YYYY-MM-DD"),m.estimated_finish=moment(h,y).format("YYYY-MM-DD"),b=t.save(m),u="sprintform:edit:success"),d=s().target(S).start(),b.then(function(t){return d.finish(),l&&(n.sprintsCounter+=1),n.sprints=_.map(n.sprints,function(e){return e.id===t.id?t:e}),"sprintform:create:success"===u&&v?i.$broadcast(u,t,v):i.$broadcast(u,t),o.close(c)}),b.then(null,function(t){return d.finish(),p.setErrors(t),t._error_message?e.notify("light-error",t._error_message):t.__all__?e.notify("light-error",t.__all__[0]):void 0})):(f=!0,void c.find(".last-sprint-name").addClass("disappear"))}}(this)),h=function(){var r,s;return s=a.instant("LIGHTBOX.DELETE_SPRINT.TITLE"),r=n.newSprint.name,e.askOnDelete(s,r).then(function(r){return function(r){var s,a;return a=function(){return r.finish(),n.milestonesCounter-=1, -o.close(c),i.$broadcast("sprintform:remove:success",n.newSprint)},s=function(){return r.finish(!1),e.notify("error")},t.remove(n.newSprint).then(a,s)}}(this))},d=function(){var t,e;return t=_.filter(n.sprints,function(t){return!t.closed}),e=_.sortBy(t,function(t){return moment(t.estimated_finish,"YYYY-MM-DD").format("X")}),e[e.length-1]},n.$on("sprintform:create",function(t,e,r){var i,s,u,f,h,m;return v=r,g(),p=c.find("form").checksley(),p.reset(),l=!0,h=a.instant("COMMON.PICKERDATE.FORMAT"),n.newSprint.project=e,n.newSprint.name=null,n.newSprint.slug=null,u=d(),s=moment(),u?s=moment(u.estimated_finish):n.newSprint.estimated_start&&(s=moment(n.newSprint.estimated_start)),n.newSprint.estimated_start=s.format(h),i=moment().add(2,"weeks"),u?i=moment(u.estimated_finish).add(2,"weeks"):n.newSprint.estimated_finish&&(i=moment(n.newSprint.estimated_finish)),n.newSprint.estimated_finish=i.format(h),f=c.find(".last-sprint-name"),null!=(null!=u?u.name:void 0)&&(m=a.instant("LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME",{lastSprint:u.name}),f.html(m)),c.find(".delete-sprint").addClass("hidden"),m=a.instant("LIGHTBOX.ADD_EDIT_SPRINT.TITLE"),c.find(".title").text(m),m=a.instant("COMMON.CREATE"),c.find(".button-green").text(m),o.open(c),c.find(".sprint-name").focus(),c.find(".last-sprint-name").removeClass("disappear")}),n.$on("sprintform:edit",function(t,e){var r,i,s;return g(),l=!1,i=a.instant("COMMON.PICKERDATE.FORMAT"),n.$apply(function(){return n.newSprint=e.realClone(),n.newSprint.estimated_start=moment(n.newSprint.estimated_start).format(i),n.newSprint.estimated_finish=moment(n.newSprint.estimated_finish).format(i)}),c.find(".delete-sprint").removeClass("hidden"),r=a.instant("BACKLOG.EDIT_SPRINT"),c.find(".title").text(r),s=a.instant("COMMON.SAVE"),c.find(".button-green").text(s),o.open(c),c.find(".sprint-name").focus().select(),c.find(".last-sprint-name").addClass("disappear")}),c.on("keyup",".sprint-name",function(t){return c.find(".sprint-name").val().length>0||f?c.find(".last-sprint-name").addClass("disappear"):c.find(".last-sprint-name").removeClass("disappear")}),c.on("submit","form",m),c.on("click",".delete-sprint",function(t){return t.preventDefault(),h()}),n.$on("$destroy",function(){return c.off()}),g()},{link:c}},n.directive("tgLbCreateEditSprint",["$tgRepo","$tgConfirm","$tgResources","$rootScope","lightboxService","$tgLoading","$translate",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v=function(t,e){function r(){this.constructor=t}for(var n in e)y.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},y={}.hasOwnProperty;h=this.taiga,p=this.taiga.mixOf,m=this.taiga.toggleText,f=this.taiga.scopeDefer,c=this.taiga.bindOnce,l=this.taiga.groupBy,g=this.taiga.timeout,a=this.taiga.bindMethods,u=this.taiga.generateHash,d=angular.module("taigaBacklog"),t=function(t){function e(t,e,r,n,i,o,s,c,u,l,p,d,f,h,g,m,v,y,_,b){var S;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=c,this.appMetaService=u,this.navUrls=l,this.events=p,this.analytics=d,this.translate=f,this.loading=h,this.rs2=g,this.modelTransform=m,this.errorHandlingService=v,this.storage=y,this.filterRemoteStorageService=_,this.projectService=b,a(this),this.backlogOrder={},this.milestonesOrder={},this.page=1,this.disablePagination=!1,this.firstLoadComplete=!1,this.scope.userstories=[],this.applyStoredFilters(this.params.pslug,"backlog-filters")||(this.scope.sectionName=this.translate.instant("BACKLOG.SECTION_NAME"),this.showTags=!1,this.activeFilters=!1,this.scope.showGraphPlaceholder=null,this.displayVelocity=!1,this.initializeEventHandlers(),S=this.loadInitialData(),S.then(function(t){return function(){var e,r;if(t.firstLoadComplete=!0,r=t.translate.instant("BACKLOG.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.translate.instant("BACKLOG.PAGE_DESCRIPTION",{projectName:t.scope.project.name,projectDescription:t.scope.project.description}),t.appMetaService.setAll(r,e),t.rs.userstories.getShowTags(t.scope.projectId))return t.showTags=!0,t.scope.$broadcast("showTags",t.showTags)}}(this)),S.then(null,this.onInitialDataError.bind(this)))}return v(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","tgAppMetaService","$tgNavUrls","$tgEvents","$tgAnalytics","$translate","$tgLoading","tgResources","$tgQueueModelTransformation","tgErrorHandlingService","$tgStorage","tgFilterRemoteStorageService","tgProjectService"],e.prototype.storeCustomFiltersName="backlog-custom-filters",e.prototype.storeFiltersName="backlog-filters",e.prototype.backlogOrder={},e.prototype.milestonesOrder={},e.prototype.filtersReloadContent=function(){return this.loadUserstories(!0)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("usform:bulk:success",function(t){return function(){return t.loadUserstories(!0),t.loadProjectStats(),t.confirm.notify("success"),t.analytics.trackEvent("userstory","create","bulk create userstory on backlog",1)}}(this)),this.scope.$on("sprintform:create:success",function(t){return function(e,r,n){return t.loadSprints().then(function(){return t.scope.$broadcast("sprintform:create:success:callback",n)}),t.loadProjectStats(),t.confirm.notify("success"),t.analytics.trackEvent("sprint","create","create sprint on backlog",1)}}(this)),this.scope.$on("usform:new:success",function(t){return function(){return t.loadUserstories(!0),t.loadProjectStats(),t.rootscope.$broadcast("filters:update"),t.confirm.notify("success"),t.analytics.trackEvent("userstory","create","create userstory on backlog",1)}}(this)),this.scope.$on("sprintform:edit:success",function(t){return function(){return t.loadProjectStats()}}(this)),this.scope.$on("sprintform:remove:success",function(t){return function(e,r){return t.loadSprints(),t.loadProjectStats(),t.loadUserstories(!0),r.closed&&t.loadClosedSprints(),t.rootscope.$broadcast("filters:update")}}(this)),this.scope.$on("usform:edit:success",function(t){return function(e,r){var n;return n=_.findIndex(t.scope.userstories,function(t){return t.id===r.id}),t.scope.userstories[n]=r,t.rootscope.$broadcast("filters:update")}}(this)),this.scope.$on("sprint:us:move",this.moveUs),this.scope.$on("sprint:us:moved",function(t){return function(){return t.loadSprints(),t.loadProjectStats()}}(this)),this.scope.$on("backlog:load-closed-sprints",this.loadClosedSprints),this.scope.$on("backlog:unload-closed-sprints",this.unloadClosedSprints)},e.prototype.initializeSubscription=function(){var t,e;return t="changes.project."+this.scope.projectId+".userstories",this.events.subscribe(this.scope,t,function(t){return function(e){return t.loadAllPaginatedUserstories(),t.loadSprints()}}(this)),e="changes.project."+this.scope.projectId+".milestones",this.events.subscribe(this.scope,e,function(t){return function(e){return t.loadSprints()}}(this))},e.prototype.toggleShowTags=function(){return this.scope.$apply(function(t){return function(){return t.showTags=!t.showTags,t.rs.userstories.storeShowTags(t.scope.projectId,t.showTags)}}(this))},e.prototype.toggleActiveFilters=function(){return this.activeFilters=!this.activeFilters},e.prototype.toggleVelocityForecasting=function(){return this.displayVelocity=!this.displayVelocity,this.displayVelocity?this.scope.visibleUserStories=_.map(this.forecastedStories,function(t){return t.ref}):this.scope.visibleUserStories=_.map(this.scope.userstories,function(t){return t.ref}),f(this.scope,function(t){return function(){return t.scope.$broadcast("userstories:loaded")}}(this))},e.prototype.loadProjectStats=function(){return this.rs.projects.stats(this.scope.projectId).then(function(t){return function(e){var r;return t.scope.stats=e,r=e.total_points?e.total_points:e.defined_points,r?t.scope.stats.completedPercentage=Math.round(100*e.closed_points/r):t.scope.stats.completedPercentage=0,t.scope.showGraphPlaceholder=!(null!=e.total_points&&null!=e.total_milestones),t.calculateForecasting(),e}}(this))},e.prototype.setMilestonesOrder=function(t){var e,r,n,i,o;for(i=[],r=0,n=t.length;r0&&t>s.speed));r++)o.push(void 0);return o},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_backlog_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.closedMilestones=!!t.total_closed_milestones,this.scope.$emit("project:loaded",t),this.scope.points=_.sortBy(t.points,"order"),this.scope.pointsById=l(t.points,function(t){return t.id}),this.scope.usStatusById=l(t.us_statuses,function(t){return t.id}),this.scope.usStatusList=_.sortBy(t.us_statuses,"id"),t},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.initializeSubscription(),this.loadBacklog().then(function(t){return function(){var e;return t.generateFilters(e="null")}}(this)).then(function(t){return function(){return t.scope.$emit("backlog:loaded")}}(this))},e.prototype.prepareBulkUpdateData=function(t,e){return null==e&&(e="backlog_order"),_.map(t,function(t){return{us_id:t.id,order:t[e]}})},e.prototype.moveUs=function(t,e,r,n){var i,o,s,a,c,u,l,p,d,f,h,g,m,v,y,b,S,j,k,$,I,E,T,C,P,w,A,O,R,M,U,D,N,x,L,F,B,H,q,G,V;if(T=e[0].milestone,M=e[0].project,T&&(q=this.scope.sprintsById[T]||this.scope.closedSprintsById[T]),n&&(I=this.scope.sprintsById[n]||this.scope.closedSprintsById[n]),s=n!==T?n:T,w=null,P="",n!==T)if(null===n){for(l=u=0,d=e.length;u1&&(H=_.map(R,function(t){return{us_id:t.id,order:w[t.id]}}))):G=0,k=[],l=j=0,h=e.length;j1&&n!==T)a=k.concat(H,F),U=this.rs.userstories.bulkUpdateMilestone(M,n,a);else if(e.length>1)a=k.concat(H,F),U=this.rs.userstories.bulkUpdateBacklogOrder(M,a);else{for(B={},D=0,y=H.length;D=n&&t<=r})},e}(p(h.Controller,h.PageMixin,h.FiltersMixin,h.UsFiltersMixin)),d.controller("BacklogController",t),e=function(t,e,r,n){var i,o,s,a,c,u,l,p;return i=_.template('
<%- text %>
'),s=function(t,e,n,o){var s,a,c,u;return c=function(){var r,n,i,o,a,c,l,p,d,f;if(t.displayVelocity&&u(),null!=t.stats&&null!=t.stats.total_points&&0!==t.stats.total_points&&null==t.displayVelocity){if(u(),p=t.stats,d=p.total_points,r=p.assigned_points,!t.userstories)return;for(c=t.userstories,l=[],i=o=0,a=c.length;od){n=e.find(".backlog-table-body .us-item-row")[i],s(n);break}l.push(void 0)}return l}},u=function(){return e.find(".doom-line").remove()},s=function(t){var e;return e=r.instant("BACKLOG.DOOMLINE"),$(t).before(i({text:e}))},a=function(){var t;return t=e.find(".backlog-table-body .us-item-row"),_.map(t,function(t){return angular.element(t)})},t.$on("userstories:loaded",c),t.$on("userstories:forecast",u),t.$watch("stats",c)},c=function(t,r,i,o){var s,a,c,u,l,d,f;return a=function(){var e;return e=r.find(".backlog-table-body input:checkbox:checked"),_.map(e,function(e){var r;return e=$(e).closest(".tg-scope"),r=e.scope(),r.us.milestone=t.sprints[0].id,r.us})},d=function(e,i){var s,a,c,u;return u=_(t.userstories),t.userstories=u.without.apply(u,e).value(),a=_.map(e,function(t,e){return t.total_points}),c=_.reduce(a,function(t,e){return t+e}),i.user_stories=_.union(i.user_stories,e),i.total_points+=c,s=_.map(e,function(t){return{us_id:t.id,order:t.sprint_order}}),n.userstories.bulkUpdateMilestone(t.project.id,t.sprints[0].id,s).then(function(t){return function(){return o.loadSprints(),o.loadProjectStats(),o.toggleVelocityForecasting(),o.calculateForecasting()}}(this)),r.find(".move-to-sprint").hide()},u=function(e){return d(e,t.currentSprint)},l=function(e){return d(e,t.sprints[0])},t.$on("sprintform:create:success:callback",function(t,e){return _.partial(u,e)()}),f=!1,c=null,s=function(e){var n,i;return c=e.closest(".us-item-row"),e.closest(".us-item-row").toggleClass("ui-multisortable-multiple"),n=r.find(".move-to-sprint"),i=r.find(".backlog-table-body input:checkbox:checked"),i.length>0&&t.sprints.length>0?n.show():n.hide()},$(window).on("keydown.shift-pressed keyup.shift-pressed",function(t){return f=!!t.shiftKey,!0}),r.on("change",".backlog-table-body input:checkbox",function(t){var e,r,n,i,o;return c&&f&&(r=[],e=$(t.currentTarget).closest(".us-item-row"),n=c.nextAll(),i=c.prevAll(),_.some(n,function(t){return t===e[0]})?r=c.nextUntil(e):_.some(i,function(t){return t===e[0]})&&(r=c.prevUntil(e)),_.map(r,function(t){var e;return e=$(t).find("input:checkbox"),e.prop("checked",!0),s(e)})),o=angular.element(t.currentTarget),o.closest(".us-item-row").toggleClass("is-checked"),s(o)}),r.on("click","#move-to-latest-sprint",function(e){return function(e){var r;return r=a(),t.$apply(_.partial(l,r))}}(this)),r.on("click","#move-to-current-sprint",function(e){return function(e){var r;return r=a(),t.$apply(_.partial(u,r))}}(this)),r.on("click","#show-tags",function(t){return t.preventDefault(),o.toggleShowTags(),p(o)}),r.on("click",".forecasting-add-sprint",function(r){var n,i;return i=o.forecastedStories,t.currentSprint?(n=_.map(i,function(e,r){return e.milestone=t.currentSprint.id,e.order=r,e}),t.$apply(_.partial(u,n))):(n=_.map(i,function(t,e){return t.order=e,t}),e.$broadcast("sprintform:create",t.projectId,n))})},p=function(t){var e,n;return e=angular.element("#show-tags"),t.showTags?(e.addClass("active"),n=r.instant("BACKLOG.TAGS.HIDE"),e.text(n)):(e.removeClass("active"),n=r.instant("BACKLOG.TAGS.SHOW"),e.text(n))},u=function(t,e,r){var n;return n=e.find("sidebar.backlog-filter"),n.addClass("active"),r.activeFilters=!0},l=function(t,n,i){var o,s,a,c;return a=n.find("sidebar.backlog-filter"),a.one("transitionend",function(){return g(150,function(){return e.$broadcast("resize"),$(".burndown").css("visibility","visible")})}),c=angular.element("#show-filters-button"),$(".burndown").css("visibility","hidden"),a.toggleClass("active"),c.toggleClass("active"),o=r.instant("BACKLOG.FILTERS.HIDE"),s=r.instant("BACKLOG.FILTERS.SHOW"),m(c,[o,s]),i.toggleActiveFilters()},a=function(t,e,r,n){return t.filtersSearch={},e.on("click","#show-filters-button",function(r){return r.preventDefault(),t.$apply(function(){return l(t,e,n)})})},o=function(t,e,r,n){var i,o;return i=e.controller(),c(t,e,r,i),a(t,e,r,i),s(t,e,r,i),o=i.location.search(),(o.status||o.tags||o.q||o.assigned_to||o.owner)&&u(t,e,i),t.$on("showTags",function(){return p(i)}),t.$on("$destroy",function(){return e.off(),$(window).off(".shift-pressed")})},{link:o}},d.directive("tgBacklog",["$tgRepo","$rootScope","$translate","$tgResources",e]),s=function(t,e,r,n){var i,o;return o=e.get("backlog/us-role-points-popover.html",!0),i=function(e,i,s){return c(e,"project",function(t){var n,s;return s=_.filter(t.roles,"computable"),n=_.size(s),n>1?i.append(r(o({roles:s}))(e)):(i.find(".icon-arrow-down").remove(),i.find(".header-points").addClass("not-clickable"))}),e.$on("uspoints:select",function(t,e,r){return i.find(".popover").popover().close(),i.find(".header-points").html(r+"/Total")}),e.$on("uspoints:clear-selection",function(t,e){var r;return i.find(".popover").popover().close(),r=n.instant("COMMON.FIELDS.POINTS"),i.find(".header-points").text(r)}),i.on("click",function(t){var e;return e=angular.element(t.target),(e.is("span")||e.is("div"))&&t.stopPropagation(),i.find(".popover").popover().open()}),i.on("click",".clear-selection",function(e){return e.preventDefault(),e.stopPropagation(),t.$broadcast("uspoints:clear-selection")}),i.on("click",".role",function(e){var r,n;return e.preventDefault(),e.stopPropagation(),n=angular.element(e.currentTarget),r=n.scope(),t.$broadcast("uspoints:select",n.data("role-id"),n.text())}),e.$on("$destroy",function(){return i.off()})},{link:i}},d.directive("tgUsRolePointsSelector",["$rootScope","$tgTemplate","$compile","$translate",s]),o=function(t,e,r){var n,i;return i=r.get("common/estimation/us-points-roles-popover.html",!0),n=function(e,n,o){var s,a,c,u,l,p,d;return s=n.controller(),d=null,p=null,u=null,c=null,e.$on("uspoints:select",function(t,r,n){var i;return i=e.$eval(o.tgBacklogUsPoints),p=r,c.render()}),e.$on("uspoints:clear-selection",function(t){var r;return r=e.$eval(o.tgBacklogUsPoints),p=null,c.render()}),e.$watch(o.tgBacklogUsPoints,function(i){var o;if(i)return c=t.create(n,i,e.project),o=c.calculateRoles(),0===o.length?(n.find(".icon-arrow-bottom").remove(),n.find("a.us-points").addClass("not-clickable")):1===o.length&&(p=_.keys(i.points)[0]),c.isEditable&&a(),c.onSelectedPointForRole=function(t,e,r){return i.points=r,c.render(),this.save(t,e).then(function(){return s.loadProjectStats()})},c.render=function(){var t,e,n,i,s,a,c,u,l;return l=this.calculateTotalPoints(),null==p||1===o.length?(c=l,u=l):(i=this.us.points[p],s=this.pointsById[i],c=s.name+" / "+l+"",u=s.name+" / "+l),t={totalPoints:l,roles:this.calculateRoles(),editable:this.isEditable,text:c,title:u},n="common/estimation/us-estimation-total.html",a=r.get(n,!0),e=a(t),this.$el.html(e)},c.render()}),l=function(){var t,e;return e=c.calculateRoles(),t=i({roles:e}),n.append(t),n.find(".pop-role").popover().open(function(){return $(this).remove()})},a=function(){return n.on("click","a.us-points",function(t){var r;return t.preventDefault(),t.stopPropagation(),r=e.$eval(o.tgBacklogUsPoints),d=p,null!=p?c.renderPointsSelector(p):l()}),n.on("click",".role",function(t){var r,i,s;return t.preventDefault(),t.stopPropagation(),i=angular.element(t.currentTarget),s=e.$eval(o.tgBacklogUsPoints),d=i.data("role-id"),r=n.find(".pop-role"),r.find("a").removeClass("active"),r.find("a[data-role-id='"+d+"']").addClass("active"),c.renderPointsSelector(d)})},e.$on("$destroy",function(){return n.off()})},{link:n}},d.directive("tgBacklogUsPoints",["$tgEstimationsService","$tgRepo","$tgTemplate",o]),i=function(t){var e,r,n;return e=function(){return $(".js-burndown-graph").removeClass("shown"),$(".js-toggle-burndown-visibility-button").removeClass("active"),$(".js-burndown-graph").removeClass("open")},n=function(t){return $(".js-toggle-burndown-visibility-button").addClass("active"),t?$(".js-burndown-graph").addClass("shown"):$(".js-burndown-graph").addClass("open")},r=function(r,i,o){var s,a,c;return s=!0,a=u(["is-burndown-grpahs-collapsed"]),r.isBurndownGraphCollapsed=t.get(a)||!1,c=function(){return r.isBurndownGraphCollapsed?e(s):n(s),s=!1},r.$watch("showGraphPlaceholder",function(){if(null!=r.showGraphPlaceholder)return r.isBurndownGraphCollapsed=r.isBurndownGraphCollapsed||r.showGraphPlaceholder,c()}),i.on("click",".js-toggle-burndown-visibility-button",function(){return r.isBurndownGraphCollapsed=!r.isBurndownGraphCollapsed,t.set(a,r.isBurndownGraphCollapsed),c()}),r.$on("$destroy",function(){return i.off()})},{link:r}},d.directive("tgToggleBurndownVisibility",["$tgStorage",i]),r=function(t){var e,r;return r=function(e,r){var n,i,o,s,a,c,u,l,p,d,f;return d=e.width(),e.height(d/6),a=function(){l=[];for(var t=0,e=r.milestones.length-1;0<=e?t<=e:t>=e;0<=e?t++:t--)l.push(t);return l}.apply(this),o=[],f=_.map(r.milestones,function(t){return 0}),o.push({data:_.zip(a,f),lines:{fillColor:"rgba(0,0,0,0)"},points:{show:!1}}),c=_.map(r.milestones,function(t){return t.optimal}),o.push({data:_.zip(a,c),lines:{fillColor:"rgba(120,120,120,0.2)"}}),s=_.filter(_.map(r.milestones,function(t){return t.evolution}),function(t){return null!=t}),o.push({data:_.zip(a,s),lines:{fillColor:"rgba(102,153,51,0.3)"}}),n=_.map(r.milestones,function(t){return-t["team-increment"]-t["client-increment"]}),o.push({data:_.zip(a,n),lines:{fillColor:"rgba(255,51,51,0.3)"}}),p=_.map(r.milestones,function(t){return-t["team-increment"]}),o.push({data:_.zip(a,p),lines:{fillColor:"rgba(153,51,51,0.3)"}}),i=["rgba(0,0,0,1)","rgba(120,120,120,0.2)","rgba(102,153,51,1)","rgba(153,51,51,1)","rgba(255,51,51,1)"],u={grid:{borderWidth:{top:0,right:1,left:0,bottom:0},borderColor:"#ccc",hoverable:!0},xaxis:{ticks:r.milestones.length,axisLabel:t.instant("BACKLOG.CHART.XAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5,tickFormatter:function(t,e){return""}},yaxis:{axisLabel:t.instant("BACKLOG.CHART.YAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5},series:{shadowSize:0,lines:{show:!0,fill:!0},points:{show:!0,fill:!0,radius:4,lineWidth:2}},colors:i,tooltip:!0,tooltipOpts:{content:function(e,n,i,o){var s;return 1===o.seriesIndex?(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.OPTIMAL",s)):2===o.seriesIndex?(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.REAL",s)):3===o.seriesIndex?(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.INCREMENT_CLIENT",s)):(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.INCREMENT_TEAM",s))}}},e.empty(),e.plot(o,u).data("plot")},e=function(t,e,n){var i;return i=angular.element(e),t.$watch("stats",function(e){if(null!=t.stats)return r(i,t.stats),t.$on("resize",function(){return r(i,t.stats)})}),t.$on("$destroy",function(){return e.off()})},{link:e}},d.directive("tgBurndownBacklogGraph",["$translate",r]),n=function(t,e){var r,n,i,o;return o=t.get("backlog/progress-bar.html",!0),i=function(t,r,n,i){var s;return s=o({projectPointsPercentaje:n,closedPointsPercentaje:i}),s=e(s)(t),r.html(s)},r=function(t){var e;return e=_.max([0,t]),e=_.min([100,e]),Math.round(e)},n=function(t,e,n){var o;return o=angular.element(e),t.$watch(n.tgBacklogProgressBar,function(n){var o,s,a,c,u;if(null!=n)return u=n.total_points?n.total_points:n.defined_points,a=n.defined_points,o=n.closed_points,a>u?(c=100*u/a,s=100*o/a):(c=100,s=100*o/u),c=r(c-3),s=r(s-3),i(t,e,c,s)}),t.$on("$destroy",function(){return e.off()})},{link:n}},d.directive("tgBacklogProgressBar",["$tgTemplate","$compile",n])}.call(this),function(){var t,e,r,n,i;i=this.taiga,e=this.taiga.bindOnce,n=angular.module("taigaBacklog"),r=function(t){return $(t).scope().$destroy(),$(t).off(),$(t).remove()},t=function(){var t;return t=function(t,n,i){return e(t,"project",function(e){var i,o,s;if(e.my_permissions.indexOf("modify_us")>-1)return o=!1,i=dragula([n[0],$(".js-empty-backlog")[0]],{copySortSource:!1,copy:!1,isContainer:function(t){return t.classList.contains("sprint-table")},moves:function(t){return!!$(t).hasClass("row")}}),i.on("drag",function(t,e){var r,n;return n=$(t).parent(),o=n.hasClass("backlog-table-body"),$(document.body).addClass("drag-active"),r=$(t).find("input[type='checkbox']").is(":checked"),window.dragMultiple.start(t,e)}),i.on("cloned",function(t){return $(t).addClass("multiple-drag-mirror")}),i.on("dragend",function(e){var n,i,s,a,c,u,l,p;return c=$(e).parent(),$(".doom-line").remove(),c=$(e).parent(),a=c.hasClass("backlog-table-body")||c.hasClass("js-empty-backlog"),u=o||a?o===a:$(e).scope().sprint.id===c.scope().sprint.id,n=window.dragMultiple.stop(),$(document.body).removeClass("drag-active"),l=null,i=n.length?n[0]:e,a?s=$(i).index(".backlog-table-body .row"):(s=$(i).index(),l=c.scope().sprint.id),u?p=n.length?_.map(n,function(t){return t=$(t).scope().us}):[$(e).scope().us]:(p=n.length?_.map(n,function(t){return t=$(t).scope().us}):[$(e).scope().us],n.length?_.each(n,function(t){return r(t)}):r(e)),t.$emit("sprint:us:move",p,s,l)}),s=autoScroll([window],{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&i.dragging}}),t.$on("$destroy",function(){return n.off(),i.destroy()})})},{link:t}},n.directive("tgBacklogSortable",t)}.call(this),function(){var t,e,r,n,i;i=this.taiga,n=angular.module("taigaBacklog"),t=function(t,e){var r,n,i,o;return i=50,n={duration:500,easing:"linear"},o=function(t){return function(t){var e,r;return r=t.find(".sprint-table"),e=t.find(".compact-sprint"),e.toggleClass("active"),r.toggleClass("open")}}(this),r=function(t,r,i){return t.$watch(i.tgBacklogSprint,function(e){return e=t.$eval(i.tgBacklogSprint),e.closed?r.addClass("sprint-closed"):o(r)}),r.on("click",".sprint-name > .compact-sprint",function(t){return t.preventDefault(),o(r),r.find(".sprint-table").slideToggle(n)}),r.on("click",".edit-sprint",function(r){var n;return r.preventDefault(),n=t.$eval(i.tgBacklogSprint),e.$broadcast("sprintform:edit",n)}),t.$on("$destroy",function(){return r.off()})},{link:r}},n.directive("tgBacklogSprint",["$tgRepo","$rootScope",t]),e=function(t,e,r,n){var i,o;return o=e.get("backlog/sprint-header.html"),i=function(e,i,s,a){var c,u,l,p;return l=n.instant("BACKLOG.SPRINTS.DATE"),c=function(){return e.project.my_permissions.indexOf("modify_milestone")!==-1},u=function(){return e.project.my_permissions.indexOf("view_milestones")!==-1},p=function(n){var s,a,p,d,f,h,g;return h=t.resolve("project-taskboard",{project:e.project.slug,sprint:n.slug}),f=moment(n.estimated_start).format(l),d=moment(n.estimated_finish).format(l),p=f+"-"+d,a={name:n.name,taskboardUrl:h,estimatedDateRange:p, -closedPoints:n.closed_points||0,totalPoints:n.total_points||0,isVisible:u(),isEditable:c()},g=e.$new(),_.assign(g,a),s=r(o)(g),i.html(s)},e.$watch("sprint",function(t){return p(t)}),e.$on("$destroy",function(){return i.off()})},{link:i,restrict:"EA"}},n.directive("tgBacklogSprintHeader",["$tgNavUrls","$tgTemplate","$compile","$translate",e]),r=function(t,e,r){var n,i;return n=!0,i=function(i,o,s){var a,c;return c=$("
"),o.after(c),a=null,o.on("click",function(r){return r.preventDefault(),n=!n,a=e().target(c).start(),n?t.$broadcast("backlog:unload-closed-sprints"):t.$broadcast("backlog:load-closed-sprints")}),i.$on("$destroy",function(){return o.off()}),i.$on("closed-sprints:reloaded",function(t){return function(t,e){var n,i;return a.finish(),n=e.length>0?"BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS":"BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS",i=r.instant(n),o.find(".text").text(i)}}(this))},{link:i}},n.directive("tgBacklogToggleClosedSprintsVisualization",["$rootScope","$tgLoading","$translate",r])}.call(this),function(){var t,e,r,n,i,o,s,a,c;s=this.taiga,n=this.taiga.mixOf,c=this.taiga.toggleText,o=this.taiga.scopeDefer,e=this.taiga.bindOnce,r=this.taiga.groupBy,a=this.taiga.timeout,i=angular.module("taigaTaskboard"),t=function(t){var e,r;return r=function(e,r){var n,i,o,s;return s=e.width(),e.height(240),i=_.map(r,function(t){return moment(new Date(t.day).getTime())}),n=[],n.unshift({data:_.zip(i,_.map(r,function(t){return t.optimal_points})),lines:{fillColor:"rgba(120,120,120,0.2)"}}),n.unshift({data:_.zip(i,_.map(r,function(t){return t.open_points})),lines:{fillColor:"rgba(102,153,51,0.3)"}}),o={grid:{borderWidth:{top:0,right:1,left:0,bottom:0},borderColor:"#ccc",hoverable:!0},xaxis:{tickSize:[1,"day"],min:i[0],max:_.last(i),mode:"time",daysNames:i,axisLabel:t.instant("TASKBOARD.CHARTS.XAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5},yaxis:{min:0,axisLabel:t.instant("TASKBOARD.CHARTS.YAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5},series:{shadowSize:0,lines:{show:!0,fill:!0},points:{show:!0,fill:!0,radius:4,lineWidth:2}},colors:["rgba(102,153,51,1)","rgba(120,120,120,0.2)"],tooltip:!0,tooltipOpts:{content:function(e,r,n,i){var o,s;return o=moment(r).format(t.instant("TASKBOARD.CHARTS.DATE")),s=Math.round(n),1===i.seriesIndex?t.instant("TASKBOARD.CHARTS.OPTIMAL",{formattedDate:o,roundedValue:s}):t.instant("TASKBOARD.CHARTS.REAL",{formattedDate:o,roundedValue:s})}}},e.empty(),e.plot(n,o).data("plot")},e=function(t,e,n){var i;return i=angular.element(e),t.$on("resize",function(){if(t.stats)return r(i,t.stats.days)}),t.$on("taskboard:graph:toggle-visibility",function(){return e.parent().toggleClass("open"),a(100,function(){if(t.stats)return r(i,t.stats.days)})}),t.$watch("stats",function(e){if(null!=t.stats)return r(i,t.stats.days)}),t.$on("$destroy",function(){return e.off()})},{link:e}},i.directive("tgSprintGraph",["$translate",t])}.call(this),function(){var t,e,r,n,i,o;i=this.taiga,e=this.taiga.bindOnce,r=this.taiga.debounce,o=this.taiga.trim,n=angular.module("taigaTaskboard"),t=function(t,e,n,i,o,s){var a;return a=function(t,a,c){var u,l;return t.form={data:"",usId:null},u=r(2e3,function(r){return function(r){var c,u,p,d,f,h,g;if(r.preventDefault(),p=a.find("form").checksley(),p.validate())return c=i().target(l).start(),u=t.form.data,d=t.projectId,h=t.form.sprintId,g=t.form.usId,f=e.tasks.bulkCreate(d,h,g,u),f.then(function(t){return t=_.map(t,function(t){return function(t){return s.make_model("tasks",t)}}(this)),c.finish(),n.$broadcast("taskform:bulk:success",t),o.close(a)}),f.then(null,function(){return c.finish()})}}(this)),t.$on("taskform:bulk",function(e,r,n){return o.open(a),t.form={data:"",sprintId:r,usId:n}}),l=a.find(".submit-button"),a.on("submit","form",u),t.$on("$destroy",function(){return a.off()})},{link:a}},n.directive("tgLbCreateBulkTasks",["$tgRepo","$tgResources","$rootScope","$tgLoading","lightboxService","$tgModel",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f=function(t,e){function r(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},h={}.hasOwnProperty;l=this.taiga,d=this.taiga.toggleText,a=this.taiga.mixOf,s=this.taiga.groupBy,i=this.taiga.bindOnce,u=this.taiga.scopeDefer,p=this.taiga.timeout,n=this.taiga.bindMethods,o=this.taiga.debounceLeading,c=angular.module("taigaTaskboard"),t=function(t){function e(t,e,r,i,o,s,a,c,u,p,d,f,h,g,m,v,y,_,b){this.scope=t,this.rootscope=e,this.repo=r,this.confirm=i,this.rs=o,this.rs2=s,this.params=a,this.q=c,this.appMetaService=u,this.location=p,this.navUrls=d,this.events=f,this.analytics=h,this.translate=g,this.errorHandlingService=m,this.taskboardTasksService=v,this.taskboardIssuesService=y,this.storage=_,this.filterRemoteStorageService=b,n(this),this.taskboardTasksService.reset(),this.scope.userstories=[],this.openFilter=!1,this.applyStoredFilters(this.params.pslug,"tasks-filters")||(this.scope.sectionName=this.translate.instant("TASKBOARD.SECTION_NAME"),this.initializeEventHandlers(),l.defineImmutableProperty(this.scope,"usTasks",function(t){return function(){return t.taskboardTasksService.usTasks}}(this)),l.defineImmutableProperty(this.scope,"milestoneIssues",function(t){return function(){return t.taskboardIssuesService.milestoneIssues}}(this)))}return f(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","tgResources","$routeParams","$q","tgAppMetaService","$tgLocation","$tgNavUrls","$tgEvents","$tgAnalytics","$translate","tgErrorHandlingService","tgTaskboardTasks","tgTaskboardIssues","$tgStorage","tgFilterRemoteStorageService"],e.prototype.firstLoad=function(){var t;return t=this.loadInitialData(),t.then(function(t){return function(){return t._setMeta()}}(this)),t.then(null,this.onInitialDataError.bind(this))},e.prototype.setZoom=function(t,e){var r;return this.zoomLevel===t?null:(this.isFirstLoad=!this.zoomLevel,r=this.zoomLevel,this.zoomLevel=t,this.zoom=e,this.isFirstLoad?this.firstLoad().then(function(t){return function(){return t.isFirstLoad=!1,t.taskboardTasksService.resetFolds()}}(this)):this.zoomLevel>1&&r<=1&&(this.zoomLoading=!0,this.q.all([this.loadTasks(),this.loadIssues()]).then(function(t){return function(){return t.zoomLoading=!1,t.taskboardTasksService.resetFolds()}}(this))),"0"===this.zoomLevel?this.rootscope.$broadcast("sprint:zoom0"):void 0)},e.prototype.changeQ=function(t){return this.replaceFilter("q",t),this.loadTasks(),this.generateFilters()},e.prototype.removeFilter=function(t){return this.unselectFilter(t.dataType,t.id),this.loadTasks(),this.generateFilters()},e.prototype.addFilter=function(t){return this.selectFilter(t.category.dataType,t.filter.id),this.loadTasks(),this.generateFilters()},e.prototype.selectCustomFilter=function(t){return this.replaceAllFilters(t.filter),this.loadTasks(),this.generateFilters()},e.prototype.removeCustomFilter=function(t){return this.filterRemoteStorageService.getFilters(this.scope.projectId,"tasks-custom-filters").then(function(e){return function(r){return delete r[t.id],e.filterRemoteStorageService.storeFilters(e.scope.projectId,r,"tasks-custom-filters").then(e.generateFilters)}}(this))},e.prototype.isFilterDataTypeSelected=function(t){var e,r,n,i;for(i=this.selectedFilters,r=0,n=i.length;r0}),n=_.map(o.assigned_to,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),a=_.map(o.roles,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.name||"Unassigned",t}),s=_.map(o.owners,function(t){return t.id=t.id.toString(),t.name=t.full_name,t}),e.selectedFilters=[],t.status&&(c=e.formatSelectedFilters("status",u,t.status),e.selectedFilters=e.selectedFilters.concat(c)),t.tags&&(c=e.formatSelectedFilters("tags",l,t.tags),e.selectedFilters=e.selectedFilters.concat(c)),t.assigned_to&&(c=e.formatSelectedFilters("assigned_to",n,t.assigned_to),e.selectedFilters=e.selectedFilters.concat(c)),t.owner&&(c=e.formatSelectedFilters("owner",s,t.owner),e.selectedFilters=e.selectedFilters.concat(c)),t.role&&(c=e.formatSelectedFilters("role",a,t.role),e.selectedFilters=e.selectedFilters.concat(c)),e.filterQ=t.q,e.filters=[{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.STATUS"),dataType:"status",content:u},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.TAGS"),dataType:"tags",content:l,hideEmpty:!0,totalTaggedElements:p.length},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ASSIGNED_TO"),dataType:"assigned_to",content:n},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),dataType:"role",content:a},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),dataType:"owner",content:s}],e.customFilters=[],_.forOwn(i,function(t,r){return e.customFilters.push({id:r,name:r,filter:t})})}}(this))},e.prototype._setMeta=function(){var t,e,r;return e=this.translate.instant("BACKLOG.SPRINTS.DATE"),r=this.translate.instant("TASKBOARD.PAGE_TITLE",{projectName:this.scope.project.name,sprintName:this.scope.sprint.name}),t=this.translate.instant("TASKBOARD.PAGE_DESCRIPTION",{projectName:this.scope.project.name,sprintName:this.scope.sprint.name,startDate:moment(this.scope.sprint.estimated_start).format(e),endDate:moment(this.scope.sprint.estimated_finish).format(e),completedPercentage:this.scope.stats.completedPercentage||"0",completedPoints:this.scope.stats.completedPointsSum||"--",totalPoints:this.scope.stats.totalPointsSum||"--",openTasks:this.scope.stats.openTasks||"--",totalTasks:this.scope.stats.total_tasks||"--"}),this.appMetaService.setAll(r,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("taskform:bulk:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardTasksService.add(r)}),t.analytics.trackEvent("task","create","bulk create task on taskboard",1)}}(this)),this.scope.$on("taskform:new:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardTasksService.add(r)}),t.analytics.trackEvent("task","create","create task on taskboard",1)}}(this)),this.scope.$on("taskform:edit:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardTasksService.replaceModel(r)})}}(this)),this.scope.$on("issueform:new:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardIssuesService.add(r)}),t.analytics.trackEvent("issue","create","create issue on taskboard",1)}}(this)),this.scope.$on("issueform:add:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardIssuesService.add(r)})}}(this)),this.scope.$on("issueform:edit:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardIssuesService.replaceModel(r)})}}(this)),this.scope.$on("taskboard:task:deleted",function(t){return function(e,r){return t.loadTasks()}}(this)),this.scope.$on("taskboard:issue:deleted",function(t){return function(e,r){return t.loadIssues()}}(this)),this.scope.$on("taskboard:task:move",this.taskMove),this.scope.$on("assigned-to:added",this.onAssignedToChanged)},e.prototype.onAssignedToChanged=function(t,e,r){if("tasks"===r.getName()&&(r.assigned_to=e,this.taskboardTasksService.replaceModel(r),this.repo.save(r).then(function(t){return function(){if(t.generateFilters(),t.isFilterDataTypeSelected("assigned_to")||t.isFilterDataTypeSelected("role"))return t.loadTasks()}}(this))),"issues"===r.getName())return r.assigned_to=e,this.taskboardIssuesService.replaceModel(r),this.repo.save(r).then(function(t){return function(){if(t.generateFilters(),t.isFilterDataTypeSelected("assigned_to")||t.isFilterDataTypeSelected("role"))return t.loadIssues()}}(this))},e.prototype.initializeSubscription=function(){var t,e;return t="changes.project."+this.scope.projectId+".tasks",this.events.subscribe(this.scope,t,o(500,function(t){return function(e){return t.loadTaskboard()}}(this))),t="changes.project."+this.scope.projectId+".issues",this.events.subscribe(this.scope,t,o(500,function(t){return function(e){return t.loadIssues()}}(this))),e="changes.project."+this.scope.projectId+".userstories",this.events.subscribe(this.scope,e,function(t){return function(e){return t.refreshTagsColors(),t.loadSprintStats(),t.loadSprint()}}(this))},e.prototype.loadProject=function(){return this.rs.projects.get(this.scope.projectId).then(function(t){return function(e){return e.is_backlog_activated||t.errorHandlingService.permissionDenied(),t.scope.project=e,t.scope.pointsList=_.sortBy(e.points,"order"),t.scope.pointsById=s(e.points,function(t){return t.id}),t.scope.roleById=s(e.roles,function(t){return t.id}),t.scope.taskStatusList=_.sortBy(e.task_statuses,"order"),t.scope.usStatusList=_.sortBy(e.us_statuses,"order"),t.scope.usStatusById=s(e.us_statuses,function(t){return t.id}),t.scope.issueStatusById=s(e.issue_statuses,function(t){return t.id}),t.scope.$emit("project:loaded",e),t.fillUsersAndRoles(e.members,e.roles),e}}(this))},e.prototype.loadSprintStats=function(){return this.rs.sprints.stats(this.scope.projectId,this.scope.sprintId).then(function(t){return function(e){var r,n,i,o;return o=_.reduce(_.values(e.total_points),function(t,e){return t+e},0),r=_.reduce(_.values(e.completed_points),function(t,e){return t+e},0),n=o-r,i=e.total_tasks-e.completed_tasks,t.scope.stats=e,t.scope.stats.totalPointsSum=o,t.scope.stats.completedPointsSum=r,t.scope.stats.remainingPointsSum=n,t.scope.stats.remainingTasks=i,e.totalPointsSum?t.scope.stats.completedPercentage=Math.round(100*e.completedPointsSum/e.totalPointsSum):t.scope.stats.completedPercentage=0,t.scope.stats.openTasks=e.total_tasks-e.completed_tasks,e}}(this))},e.prototype.refreshTagsColors=function(){return this.rs.projects.tagsColors(this.scope.projectId).then(function(t){return function(e){return t.scope.project.tags_colors=e._attrs}}(this))},e.prototype.loadSprint=function(){return this.rs.sprints.get(this.scope.projectId,this.scope.sprintId).then(function(t){return function(e){return t.scope.sprint=e,t.scope.userstories=_.sortBy(e.user_stories,"sprint_order"),t.taskboardTasksService.setUserstories(t.scope.userstories),e}}(this))},e.prototype.loadIssues=function(){var t;return t={},this.zoomLevel>1&&(t.include_attachments=1),t=_.merge(t,this.location.search()),this.rs.issues.listInProject(this.scope.projectId,this.scope.sprintId,t).then(function(t){return function(e){return t.taskboardIssuesService.init(t.scope.project,t.scope.usersById,t.scope.issueStatusById),t.taskboardIssuesService.set(e)}}(this))},e.prototype.loadTasks=function(){var t;return t={},this.zoomLevel>1&&(t.include_attachments=1),t=_.merge(t,this.location.search()),this.rs.tasks.list(this.scope.projectId,this.scope.sprintId,null,t).then(function(t){return function(e){return t.taskboardTasksService.init(t.scope.project,t.scope.usersById),t.taskboardTasksService.set(e)}}(this))},e.prototype.loadTaskboard=function(){return this.q.all([this.refreshTagsColors(),this.loadSprintStats(),this.loadSprint().then(function(t){return function(){return t.loadTasks(),t.loadIssues()}}(this))])},e.prototype.loadInitialData=function(){var t,e;return t={pslug:this.params.pslug,sslug:this.params.sslug},e=this.repo.resolve(t).then(function(t){return function(e){return t.scope.projectId=e.project,t.scope.sprintId=e.milestone,t.initializeSubscription(),e}}(this)),e.then(function(t){return function(){return t.loadProject()}}(this)).then(function(t){return function(){return t.generateFilters(),t.loadTaskboard().then(function(){return t.setRolePoints()})}}(this))},e.prototype.showPlaceHolder=function(t,e){return!(this.taskboardTasksService.tasksRaw.length||this.scope.taskStatusList[0].id!==t||this.scope.userstories.length&&this.scope.userstories[0].id!==e)},e.prototype.editTask=function(t){var e;return e=this.taskboardTasksService.getTask(t),e=e.set("loading-edit",!0),this.taskboardTasksService.replace(e),this.rs.tasks.getByRef(e.getIn(["model","project"]),e.getIn(["model","ref"])).then(function(t){return function(r){return t.rs2.attachments.list("task",e.get("id"),e.getIn(["model","project"])).then(function(n){return t.rootscope.$broadcast("genericform:edit",{objType:"task",obj:r,project:t.scope.project,sprintId:t.scope.sprintId,attachments:n.toJS()}),e=e.set("loading-edit",!1),t.taskboardTasksService.replace(e)})}}(this))},e.prototype.editIssue=function(t){var e;return e=this.taskboardIssuesService.getIssue(t),e=e.set("loading-edit",!0),this.rs.issues.getByRef(e.getIn(["model","project"]),e.getIn(["model","ref"])).then(function(t){return function(r){return t.rs2.attachments.list("issue",e.get("id"),e.getIn(["model","project"])).then(function(n){return t.rootscope.$broadcast("genericform:edit",{objType:"issue",obj:r,project:t.scope.project,sprintId:t.scope.sprintId,attachments:n.toJS()}),e=e.set("loading-edit",!1)})}}(this))},e.prototype.deleteTask=function(t){var e;return e=this.taskboardTasksService.getTask(t),e=e.set("loading-delete",!0),this.rs.tasks.getByRef(e.getIn(["model","project"]),e.getIn(["model","ref"])).then(function(t){return function(r){var n,i;return e=e.set("loading-delete",!1),i=t.translate.instant("TASK.TITLE_DELETE_ACTION"),n=r.subject,t.confirm.askOnDelete(i,n).then(function(e){var n;return n=t.repo.remove(r),n.then(function(){return t.scope.$broadcast("taskboard:task:deleted"),e.finish()}),n.then(null,function(){return e.finish(!1),this.confirm.notify("error")})})}}(this))},e.prototype.deleteIssue=function(t){var e;return e=this.taskboardIssuesService.getIssue(t),e=e.set("loading-delete",!0),this.rs.issues.getByRef(e.getIn(["model","project"]),e.getIn(["model","ref"])).then(function(t){return function(r){var n,i;return e=e.set("loading-delete",!1),i=t.translate.instant("ISSUES.ACTION_DELETE"),n=r.subject,t.confirm.askOnDelete(i,n).then(function(e){var n;return n=t.repo.remove(r),n.then(function(){return t.scope.$broadcast("taskboard:issue:deleted"),e.finish()}),n.then(null,function(){return e.finish(!1),this.confirm.notify("error")})})}}(this))},e.prototype.removeIssueFromSprint=function(t){var e;return e=this.taskboardIssuesService.getIssue(t),e=e.set("loading-delete",!0),this.rs.issues.getByRef(e.getIn(["model","project"]),e.getIn(["model","ref"])).then(function(t){return function(r){var n,i;return e=e.set("loading-delete",!1),i=t.translate.instant("ISSUES.CONFIRM_DETACH_FROM_SPRINT.TITLE"),n=t.translate.instant("ISSUES.CONFIRM_DETACH_FROM_SPRINT.MESSAGE"),n+=" "+t.scope.sprint.name+"",t.confirm.ask(i,null,n).then(function(e){var n;return r.milestone=null,n=t.repo.save(r),n.then(function(){return t.taskboardIssuesService.remove(r),e.finish()}),n.then(null,function(){return e.finish(!1),this.confirm.notify("error")})})}}(this))},e.prototype.taskMove=function(t,e,r,n,i,o){var s,a,c,u;return e=this.taskboardTasksService.getTaskModel(e.get("id")),s=this.taskboardTasksService.move(e.id,n,i,o),c={status__is_archived:!1,include_attachments:!0},a={headers:{"set-orders":JSON.stringify(s.set_orders)}},u=this.repo.save(e,!0,c,a,!0).then(function(t){return function(e){var r;if(r=e[1],r&&r["taiga-info-order-updated"]&&(o=JSON.parse(r["taiga-info-order-updated"]),t.taskboardTasksService.assignOrders(o)),t.loadSprintStats(),t.generateFilters(),t.isFilterDataTypeSelected("status"))return t.loadTasks()}}(this))},e.prototype.addNewTask=function(t,e){switch(t){case"standard":return this.rootscope.$broadcast("genericform:new",{objType:"task",project:this.scope.project,sprintId:this.scope.sprintId,usId:null!=e?e.id:void 0});case"bulk":return this.rootscope.$broadcast("taskform:bulk",this.scope.sprintId,null!=e?e.id:void 0)}},e.prototype.addNewIssue=function(t,e){switch(t){case"standard":return this.rootscope.$broadcast("genericform:new-or-existing",{objType:"issue",project:this.scope.project,sprintId:this.scope.sprintId,relatedField:"milestone",relatedObjectId:this.scope.sprintId,title:this.translate.instant("COMMON.FIELDS.SPRINT")+" "+this.scope.sprint.name});case"standard":return this.rootscope.$broadcast("taskform:new",this.scope.sprintId,null!=e?e.id:void 0);case"bulk":return this.rootscope.$broadcast("issueform:bulk",this.scope.projectId,this.scope.sprintId)}},e.prototype.toggleFold=function(t,e){return"issues"===e?this.taskboardIssuesService.toggleFold(t):"tasks"===e?this.taskboardTasksService.toggleFold(t):void 0},e.prototype.changeTaskAssignedTo=function(t){var e;return e=this.taskboardTasksService.getTaskModel(t),this.rootscope.$broadcast("assigned-to:add",e)},e.prototype.changeIssueAssignedTo=function(t){var e;return e=this.taskboardIssuesService.getIssueModel(t),this.rootscope.$broadcast("assigned-to:add",e)},e.prototype.setRolePoints=function(){var t,e,r,n;return t=_.filter(this.scope.project.roles,"computable"),r=function(e){return function(e){return e=parseInt(e,10),_.find(t,function(t){return t.id===e})}}(this),e=function(t){return function(e){var r;return r=parseInt(e,10),_.find(t.scope.project.points,function(t){return t.id===e})}}(this),n=_.reduce(this.scope.userstories,function(t){return function(t,n,i){return _.forOwn(n.points,function(n,i){var o,s;return s=r(i),o=e(n),t[s.id]||(t[s.id]=s,t[s.id].points=0),t[s.id].points+=o.value}),t}}(this),{}),this.scope.pointsByRole=Object.keys(n).map(function(t){return n[t]})},e}(a(l.Controller,l.PageMixin,l.FiltersMixin)),c.controller("TaskboardController",t),e=function(t){var e;return e=function(e,r,n){var i,o;return i=r.controller(),r.on("click",".toggle-analytics-visibility",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),r.toggleClass("active"),t.$broadcast("taskboard:graph:toggle-visibility")}),o=r.find(".taskboard-table-body"),o.on("scroll",function(t){var e,n;return n=angular.element(t.currentTarget),e=r.find(".taskboard-table-header .taskboard-table-inner"),e.css("left",-1*n.scrollLeft())}),e.$on("$destroy",function(){return r.off()})},{link:e}},c.directive("tgTaskboard",["$rootScope",e]),r=function(t){var e,r,n;return e=40,n=300,r=function(r,i,o){var s,a,c,u,l;return r.$on("sprint:zoom0",function(t){return function(){return c()}}(this)),r.$on("sprint:task:moved",function(t){return function(){return c()}}(this)),r.$watch("usTasks",function(){if(r.project)return r.statusesFolded=t.tasks.getStatusColumnModes(r.project.id),r.usFolded=t.tasks.getUsRowModes(r.project.id,r.sprintId),c()}),r.foldStatus=function(e){return r.statusesFolded[e.id]=!r.statusesFolded[e.id],t.tasks.storeStatusColumnModes(r.projectId,r.statusesFolded),c()},r.foldUs=function(e){return r.usFolded[e]=!r.usFolded[e],t.tasks.storeUsRowModes(r.projectId,r.sprintId,r.usFolded),c()},s=function(t){return function(t,n){var i,o,s;return i=t?r.usTasks.getIn([t.toString(),n.toString()]).size:r.usTasks.getIn(["null",n.toString()]).size,r.statusesFolded[n]?(i&&r.usFolded[t]?(o=Math.round(Math.sqrt(i)),s=e*o):s=e,s):0}}(this),l=function(t){return function(t,e){var o;return o=i.find(".squish-status-"+t),e?o.css("max-width",e):"0"===r.ctrl.zoomLevel?o.css("max-width",148):o.css("max-width",n)}}(this),u=function(t){return function(){var t,e,n,o,s;return t=[],e=i.find(".task-colum-name"),t=_.map(e,function(t){return $(t).outerWidth(!0)}),s=_.reduce(t,function(t,e){return t+e}),i.find(".taskboard-table-inner").css("width",s),o=i.find(".issues-row .taskboard-row-title-box").outerWidth(!0),i.find(".issues-row").css("width",s-t.pop()),n="0"===r.ctrl.zoomLevel?128:280,i.find(".issues-row .taskboard-cards-box .card").css("max-width",n)}}(this),a=function(t){return function(t){var e;return e=s(null,t),_.forEach(r.userstories,function(r){var n;if(n=s(r.id,t),n>e)return e=n}),l(t,e)}}(this),c=function(t){return function(){_.forEach(r.taskStatusList,function(t){return a(t.id)}),u()}}(this)},{link:r}},c.directive("tgTaskboardSquishColumn",["$tgResources",r])}.call(this),function(){var t,e,r,n,i,o,s,a;s=this.taiga,n=this.taiga.mixOf,a=this.taiga.toggleText,o=this.taiga.scopeDefer,e=this.taiga.bindOnce,r=this.taiga.groupBy,i=angular.module("taigaBacklog"),t=function(t,e,r,n){var i;return i=function(t,e,i){var o;return o=t.$watch("usTasks",function(i){var s,a,c,u,l,p,d,f,h;if(i&&i.size&&(o(),t.project.my_permissions.indexOf("modify_task")>-1))return d=null,p=null,l=null,h=e,u=function(){var t;return t=n.instant("BACKLOG.SORTABLE_FILTER_ERROR"),$tgConfirm.notify("error",t)},a=function(t){return t.scope().$destroy(),t.off(),t.remove()},s=_.map(e.find(".taskboard-column"),function(t){return t}),c=dragula(s,{copySortSource:!1,copy:!1,accepts:function(t,e){return!$(e).hasClass("taskboard-row-title-box")},moves:function(t){return $(t).is("tg-card")}}),c.on("drag",function(t){if(d=$(t).parent().scope(),e.hasClass("active-filters"))return u(),setTimeout(function(){return c.cancel(!0)},0),!1}),c.on("dragend",function(e){var n,i,o,s,c,u,f;return f=$(e).parent(),l=$(e),i=l.scope().task,n=l.index(),p=f.scope(),u=d.us?d.us.id:null,c=d.st.id,s=p.us?p.us.id:null,o=p.st.id,o===c&&s===u||a(l),t.$apply(function(){return r.$broadcast("taskboard:task:move",i,i.getIn(["model","status"]),s,o,n)})}),f=autoScroll([$(".taskboard-table-body")[0]],{margin:100,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&c.dragging}}),t.$on("$destroy",function(){return e.off(),c.destroy()})})},{link:i}},i.directive("tgTaskboardSortable",["$tgRepo","$tgResources","$rootScope","$translate",t])}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga.groupBy,t=function(t){function e(){this.reset()}return r(e,t),e.$inject=[],e.prototype.reset=function(){return this.foldStatusChanged={},this.issuesRaw=[]},e.prototype.init=function(t,e,r){return this.issueStatusById=r,this.project=t,this.usersById=e},e.prototype.resetFolds=function(){return this.foldStatusChanged={},this.refresh()},e.prototype.toggleFold=function(t){return this.foldStatusChanged[t]=!this.foldStatusChanged[t],this.refresh()},e.prototype.add=function(t){return this.issuesRaw=this.issuesRaw.concat(t),this.refresh()},e.prototype.remove=function(t){var e,r,n;n=this.issuesRaw;for(r in n)if(e=n[r],t.id===e.id)return this.issuesRaw.splice(r,1),void this.refresh()},e.prototype.set=function(t){return this.issuesRaw=t,this.refresh()},e.prototype.getIssue=function(t){return this.milestoneIssues.find(function(e){return e.get("id")===t})},e.prototype.getIssueModel=function(t){return _.find(this.issuesRaw,function(e){return e.id===t})},e.prototype.replaceModel=function(t){return this.issuesRaw=_.map(this.issuesRaw,function(e){return t.id===e.id?t:e}),this.refresh()},e.prototype.refresh=function(){var t,e,r,n,i,o;for(n=[],o=this.issuesRaw,t=0,i=o.length;t1)for(s=0,l=f.length;s1)for(o=0,f=b.length;o1&&(k=_.map(b,function(t){return function(e){return{us_id:e.id,order:t.order[e.id]}}}(this)))}}else{for($=0,p=u=0,h=n.length;u1&&r<=1?(this.zoomLoading=!0,this.loadUserstories().then(function(t){return function(){return t.zoomLoading=!1,t.kanbanUserstoriesService.resetFolds()}}(this))):void 0)},e.prototype.filtersReloadContent=function(){return this.loadUserstories().then(function(t){return function(){var e,r,n,i,o;if(n=_.difference(t.kanbanUserstoriesService.archivedStatus,t.kanbanUserstoriesService.statusHide),n.length){for(i=[],e=0,r=n.length;e0&&(r.assigned_to=n[0]),0===n.length&&(r.assigned_to=null),this.kanbanUserstoriesService.replaceModel(r),this.repo.save(r).then(function(t){return function(){if(t.generateFilters(),t.isFilterDataTypeSelected("assigned_users")||t.isFilterDataTypeSelected("role"))return t.filtersReloadContent()}}(this))},e.prototype.refreshTagsColors=function(){return this.rs.projects.tagsColors(this.scope.projectId).then(function(t){return function(e){return t.scope.project.tags_colors=e._attrs}}(this))},e.prototype.loadUserstories=function(){var t,e;return t={status__is_archived:!1},this.zoomLevel>1&&(t.include_attachments=1,t.include_tasks=1),t=_.merge(t,this.location.search()),e=this.rs.userstories.listAll(this.scope.projectId,t).then(function(t){return function(e){return t.kanbanUserstoriesService.init(t.scope.project,t.scope.usersById),t.kanbanUserstoriesService.set(e),d(t.scope,function(){return t.scope.$broadcast("userstories:loaded",e)}),e}}(this)),e.then(function(t){return function(){return t.scope.$broadcast("redraw:wip")}}(this)),e},e.prototype.loadUserStoriesForStatus=function(t,e){var r,n;if(r=this.location.search().status,!r||(r=r.split(",").map(function(t){return parseInt(t,10)}),r.indexOf(e)!==-1))return n={status:e,include_attachments:!0,include_tasks:!0},n=_.merge(n,this.location.search()),this.rs.userstories.listAll(this.scope.projectId,n).then(function(t){return function(r){return t.scope.$broadcast("kanban:shown-userstories-for-status",e,r),r}}(this))},e.prototype.hideUserStoriesForStatus=function(t,e){return this.scope.$broadcast("kanban:hidden-userstories-for-status",e)},e.prototype.loadKanban=function(){return this.q.all([this.refreshTagsColors(),this.loadUserstories()])},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_kanban_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.projectId=t.id,this.scope.points=_.sortBy(t.points,"order"),this.scope.pointsById=u(t.points,function(t){return t.id}),this.scope.usStatusById=u(t.us_statuses,function(t){return t.id}),this.scope.usStatusList=_.sortBy(t.us_statuses,"order"),this.scope.$emit("project:loaded",t),t},e.prototype.initializeSubscription=function(){var t,e;return e="changes.project."+this.scope.projectId+".userstories",t=f.randomInt(700,1e3),this.events.subscribe(this.scope,e,c(t,function(t){return function(e){return t.loadUserstories()}}(this)))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.initializeSubscription(),this.loadKanban(),this.generateFilters()},e.prototype.prepareBulkUpdateData=function(t,e){return null==e&&(e="kanban_order"),_.map(t,function(t){return{us_id:t.id,order:t[e]}})},e.prototype.moveUs=function(t,e,r,n){var i,o;return this.cleanSelectedUss(),e=_.map(e,function(t){return function(e){return t.kanbanUserstoriesService.getUsModel(e.id)}}(this)),i=this.kanbanUserstoriesService.move(e,r,n),o=this.rs.userstories.bulkUpdateKanbanOrder(this.scope.projectId,r,i.bulkOrders),o.then(function(t){return function(){var r,n,s;return r={headers:{"set-orders":JSON.stringify(i.setOrders)}},n={include_attachments:!0,include_tasks:!0},s=_.map(e,function(e){return t.repo.save(e,!0,n,r,!0)}),o=t.q.all(s),o.then(function(e){var r,n;return r=e[1],r&&r["taiga-info-order-updated"]&&(n=JSON.parse(r["taiga-info-order-updated"]),t.kanbanUserstoriesService.assignOrders(n)),t.scope.$broadcast("redraw:wip"),t.generateFilters(),t.isFilterDataTypeSelected("status")&&t.filtersReloadContent(),o})}}(this))},e}(l(f.Controller,f.PageMixin,f.FiltersMixin,f.UsFiltersMixin)),p.controller("KanbanController",r),n=function(t,e){var r;return r=function(t,e,r){var n;return n=e.find(".kanban-table-body"),n.on("scroll",function(t){var r,n;return n=angular.element(t.currentTarget),r=e.find(".kanban-table-header .kanban-table-inner"),r.css("left",-1*n.scrollLeft())}),t.$on("$destroy",function(){return e.off()})},{link:r}},p.directive("tgKanban",["$tgRepo","$rootScope",n]),t=function(t,e,r){var n,i,o;return o=e.instant("KANBAN.ACTION_SHOW_ARCHIVED"),n=e.instant("KANBAN.ACTION_HIDE_ARCHIVED"),i=function(e,i,s){var a,c;return c=e.$eval(s.tgKanbanArchivedStatusHeader),a=!0,r.addArchivedStatus(c.id),r.hideStatus(c.id),e["class"]="icon-watch",e.title=o,i.on("click",function(i){return a=!a,e.$apply(function(){return a?(e["class"]="icon-watch",e.title=o,t.$broadcast("kanban:hide-userstories-for-status",c.id),r.hideStatus(c.id)):(e["class"]="icon-unwatch",e.title=n,t.$broadcast("kanban:show-userstories-for-status",c.id),r.showStatus(c.id))})}),e.$on("$destroy",function(){return i.off()})},{link:i}},p.directive("tgKanbanArchivedStatusHeader",["$rootScope","$translate","tgKanbanUserstories",t]),e=function(t,e){var r,n;return n=[],r=function(r,n,i){var o,s,a;return o=t.instant("KANBAN.HIDDEN_USER_STORIES"),s=r.$eval(i.tgKanbanArchivedStatusIntro),n.text(o),a=function(t){return t?n.text(""):n.text(o)},r.$on("kanban:us:move",function(t,r,n,i,o){var s;return s=!!e.getStatus(i).length,a(s)}),r.$on("kanban:shown-userstories-for-status",function(t,r,n){var i;if(r===s.id)return e.deleteStatus(r),e.add(n),i=!!e.getStatus(r).length,a(i)}),r.$on("kanban:hidden-userstories-for-status",function(t,e){if(e===s.id)return a(!1)}),r.$on("$destroy",function(){return n.off()})},{link:r}},p.directive("tgKanbanArchivedStatusIntro",["$translate","tgKanbanUserstories",e]),i=function(t,e){var r;return r=function(r,n,i){var o,s;return r.foldStatus=function(e){r.folds[e.id]=!r.folds[e.id],t.kanban.storeStatusColumnModes(r.projectId,r.folds),s()},s=function(){var t,e;return t=_.map(r.usStatusList,function(t){return r.folds[t.id]?40:310}),e=_.reduce(t,function(t,e){return t+e}),n.find(".kanban-table-inner").css("width",e)},o=r.$watch("usByStatus",function(n){if(n.size)return r.folds=t.kanban.getStatusColumnModes(e.project.get("id")),s(),o()})},{link:r}},p.directive("tgKanbanSquishColumn",["$tgResources","tgProjectService",i]),o=function(t){var e;return e=function(e,r,n){var i,o;return o=e.$eval(n.tgKanbanWipLimit),i=function(e){return function(){return r.find(".kanban-wip-limit").remove(),t(function(){var t;if(t=r.find("tg-card")[o.wip_limit])return angular.element(t).before("
")})}}(this),o&&!o.is_archived&&(e.$on("redraw:wip",i),e.$on("kanban:us:move",i),e.$on("usform:new:success",i),e.$on("usform:bulk:success",i)),e.$on("$destroy",function(){return r.off()})},{link:e}},p.directive("tgKanbanWipLimit",["$timeout",o])}.call(this),function(){var t,e,r,n,i,o,s,a,c;s=this.taiga,n=this.taiga.mixOf,c=this.taiga.toggleText,o=this.taiga.scopeDefer,e=this.taiga.bindOnce,r=this.taiga.groupBy,a=this.taiga.timeout,i=angular.module("taigaKanban"),t=function(t,e,r){var n;return n=function(t,e,n){var i;return i=t.$watch("usByStatus",function(n){var o,s,a,c,u,l,p;if(n&&n.size&&(i(),t.project.my_permissions.indexOf("modify_us")>-1))return u=null,c=null,p=e,s=function(t){return t.scope().$destroy(),t.off(),t.remove()},o=_.map(e.find(".taskboard-column"),function(t){return t}),a=dragula(o,{copySortSource:!1,copy:!1,moves:function(t){return $(t).is("tg-card")}}),a.on("drag",function(t){return window.dragMultiple.start(t,o)}),a.on("cloned",function(t,e){return $(t).addClass("multiple-drag-mirror")}),a.on("dragend",function(e){var n,i,o,a,l,p,d,f;return d=$(e).parent(),u=d.scope(),p=u.s.id,n=window.dragMultiple.stop(),n.length||(n=[e]),o=n[0],a=$(d).find("tg-card").index(o),l=u.s.id,f=_.map(n,function(t){return $(t).scope().us}),i=_.map(f,function(t){return{id:t.get("id"),oldStatusId:t.getIn(["model","status"])}}),t.$apply(function(){return _.each(f,function(t){return function(t,e){var r,i;if(r=t.getIn(["model","status"]),i=l===r,!i)return c=$(n[e]),s(c)}}(this)),r.$broadcast("kanban:us:move",i,l,a)})}),l=autoScroll(o,{margin:100,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&a.dragging}}),t.$on("$destroy",function(){return e.off(),a.destroy()})})},{link:n}},i.directive("tgKanbanSortable",["$tgRepo","$tgResources","$rootScope",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p=function(t,e){function r(){this.constructor=t}for(var n in e)d.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},d={}.hasOwnProperty;u=this.taiga,a=this.taiga.mixOf,l=this.taiga.toString,s=this.taiga.joinStr,o=this.taiga.groupBy,i=this.taiga.bindOnce,n=this.taiga.bindMethods,c=angular.module("taigaEpics"),t=function(t){function e(t,e,r,i,o,s,a,c,u,l,p,d,f,h,g,m,v){var y;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=i,this.rs=o,this.rs2=s,this.params=a,this.q=c,this.location=u,this.log=l,this.appMetaService=p,this.analytics=d,this.navUrls=f,this.translate=h,this.modelTransform=g,this.errorHandlingService=m,this.projectService=v,n(this),this.scope.epicRef=this.params.epicref,this.scope.sectionName=this.translate.instant("EPIC.SECTION_NAME"),this.initializeEventHandlers(),y=this.loadInitialData(),y.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),y.then(null,this.onInitialDataError.bind(this))}return p(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgAnalytics","$tgNavUrls","$translate","$tgQueueModelTransformation","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r;return r=this.translate.instant("EPIC.PAGE_TITLE",{epicRef:"#"+this.scope.epic.ref,epicSubject:this.scope.epic.subject,projectName:this.scope.project.name}),t=this.translate.instant("EPIC.PAGE_DESCRIPTION",{epicStatus:(null!=(e=this.scope.statusById[this.scope.epic.status])?e.name:void 0)||"--",epicDescription:angular.element(this.scope.epic.description_html||"").text()}),this.appMetaService.setAll(r,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on epic",1)}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadEpic()}}(this)),this.scope.$on("custom-attributes-values:edit",function(t){return function(){return t.rootscope.$broadcast("object:updated")}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;return t={project:this.scope.project.slug},this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-epics",t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.immutableProject=this.projectService.project,this.scope.$emit("project:loaded",t),this.scope.statusList=t.epic_statuses,this.scope.statusById=o(t.epic_statuses,function(t){return t.id}),t},e.prototype.loadEpic=function(){return this.rs.epics.getByRef(this.scope.projectId,this.params.epicref).then(function(t){return function(e){var r,n,i;if(t.scope.epic=e,t.scope.immutableEpic=Immutable.fromJS(e._attrs),t.scope.epicId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"epic"),null!=(null!=(n=t.scope.epic.neighbors.previous)?n.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.epic.neighbors.previous.ref},t.scope.previousUrl=t.navUrls.resolve("project-epics-detail",r)),null!=(null!=(i=t.scope.epic.neighbors.next)?i.ref:void 0))return r={project:t.scope.project.slug,ref:t.scope.epic.neighbors.next.ref},t.scope.nextUrl=t.navUrls.resolve("project-epics-detail",r)}}(this))},e.prototype.loadUserstories=function(){return this.rs2.userstories.listInEpic(this.scope.epicId).then(function(t){return function(e){return t.scope.userstories=e}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadEpic().then(function(t){return function(){return t.loadUserstories()}}(this))},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.upvote(this.scope.epicId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.downvote(this.scope.epicId).then(e,t)},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.watch(this.scope.epicId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.unwatch(this.scope.epicId).then(e,t)},e.prototype.onSelectColor=function(t){var e,r,n;return r=function(t){return function(){return t.rootscope.$broadcast("object:updated"),t.confirm.notify("success")}}(this),e=function(t){return function(){return t.confirm.notify("error")}}(this),n=this.modelTransform.save(function(e){return e.color=t,e}),n.then(r,e)},e}(a(u.Controller,u.PageMixin)),c.controller("EpicDetailController",t),r=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:s.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},c.directive("tgEpicStatusDisplay",["$tgTemplate","$compile",r]),e=function(t,e,r,n,i,o,s,a){var c,u;return u=a.get("common/components/status-button.html",!0),c=function(e,s,a,c){var l,p,d;return l=function(){return e.project.my_permissions.indexOf("modify_epic")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=o(u({status:n,statuses:e.statusList,editable:l()}))(e),s.html(r)}}(this),d=function(e){var o,a,c,u;return o=n().target(s).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),o.finish()},a=function(){return r.notify("error"),o.finish()},u.then(c,a)},s.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return s.find(".pop-status").popover().open()}),s.on("click",".status",function(t){var e;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),$.fn.popover().closeAll(),d(e.data("status-id"))}),e.$watch(function(){var t;return null!=(t=c.$modelValue)?t.status:void 0},function(){var t;if(t=c.$modelValue)return p(t)}),e.$on("$destroy",function(){return s.off()})},{link:c,restrict:"EA",require:"ngModel"}},c.directive("tgEpicStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$compile","$translate","$tgTemplate",e])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v=function(t,e){function r(){this.constructor=t}for(var n in e)y.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},y={}.hasOwnProperty;g=this.taiga,d=this.taiga.mixOf,m=this.taiga.toString,p=this.taiga.joinStr,l=this.taiga.groupBy,u=this.taiga.bindOnce,c=this.taiga.bindMethods,h=this.taiga.normalizeString,f=angular.module("taigaIssues"),e=function(t){function e(t,e,r,n,i,o,s,a,u,l,p,d,f,h,g,m){var v;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.log=u,this.appMetaService=l,this.analytics=p,this.navUrls=d,this.translate=f,this.modelTransform=h,this.errorHandlingService=g,this.projectService=m,c(this),this.scope.issueRef=this.params.issueref,this.scope.sectionName=this.translate.instant("ISSUES.SECTION_NAME"),this.initializeEventHandlers(),v=this.loadInitialData(),v.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),v.then(null,this.onInitialDataError.bind(this))}return v(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgAnalytics","$tgNavUrls","$translate","$tgQueueModelTransformation","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r,n,i,o;return o=this.translate.instant("ISSUE.PAGE_TITLE",{issueRef:"#"+this.scope.issue.ref,issueSubject:this.scope.issue.subject,projectName:this.scope.project.name}),t=this.translate.instant("ISSUE.PAGE_DESCRIPTION",{issueStatus:(null!=(e=this.scope.statusById[this.scope.issue.status])?e.name:void 0)||"--",issueType:(null!=(r=this.scope.typeById[this.scope.issue.type])?r.name:void 0)||"--",issueSeverity:(null!=(n=this.scope.severityById[this.scope.issue.severity])?n.name:void 0)||"--",issuePriority:(null!=(i=this.scope.priorityById[this.scope.issue.priority])?i.name:void 0)||"--",issueDescription:angular.element(this.scope.issue.description_html||"").text()}),this.appMetaService.setAll(o,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on issue",1)}}(this)),this.scope.$on("promote-issue-to-us:success",function(t){return function(){return t.analytics.trackEvent("issue","promoteToUserstory","promote issue to userstory",1),t.rootscope.$broadcast("object:updated"),t.loadIssue()}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadIssue()}}(this)),this.scope.$on("custom-attributes-values:edit",function(t){return function(){return t.rootscope.$broadcast("object:updated")}}(this)),this.scope.$on("assign-sprint-to-issue:success",function(t){return function(e,r){return t.scope.issue.milestone=r,t.rootscope.$broadcast("object:updated"),r?t.loadSprint():t.scope.sprint=null}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;return t={project:this.scope.project.slug},this.scope.project.is_issues_activated?this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-issues",t):this.scope.onDeleteGoToUrl=this.navUrls.resolve("project",t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.statusList=t.issue_statuses,this.scope.statusById=l(t.issue_statuses,function(t){return t.id}),this.scope.typeById=l(t.issue_types,function(t){return t.id}),this.scope.typeList=_.sortBy(t.issue_types,"order"),this.scope.severityList=t.severities,this.scope.severityById=l(t.severities,function(t){return t.id}),this.scope.priorityList=t.priorities,this.scope.priorityById=l(t.priorities,function(t){return t.id}),t},e.prototype.loadIssue=function(){return this.rs.issues.getByRef(this.scope.projectId,this.params.issueref).then(function(t){return function(e){var r,n,i;if(t.scope.issue=e,t.scope.issueId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"issue"),null!=(null!=(n=t.scope.issue.neighbors.previous)?n.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.issue.neighbors.previous.ref -},t.scope.previousUrl=t.navUrls.resolve("project-issues-detail",r)),null!=(null!=(i=t.scope.issue.neighbors.next)?i.ref:void 0))return r={project:t.scope.project.slug,ref:t.scope.issue.neighbors.next.ref},t.scope.nextUrl=t.navUrls.resolve("project-issues-detail",r)}}(this))},e.prototype.loadSprint=function(){if(this.scope.issue.milestone)return this.rs.sprints.get(this.scope.issue.project,this.scope.issue.milestone).then(function(t){return function(e){return t.scope.sprint=e,e}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadIssue().then(function(t){return function(){return t.loadSprint()}}(this))},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.upvote(this.scope.issueId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.downvote(this.scope.issueId).then(e,t)},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.watch(this.scope.issueId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.unwatch(this.scope.issueId).then(e,t)},e}(d(g.Controller,g.PageMixin)),f.controller("IssueDetailController",e),o=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:s.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},f.directive("tgIssueStatusDisplay",["$tgTemplate","$compile",o]),i=function(t,e,r,n,i,o,s){var a,c;return c=o.get("common/components/status-button.html",!0),a=function(e,o,a,u){var l,p,d;return l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=c({status:n,statuses:e.statusList,editable:l()}),r=s(r)(e),o.html(r)}}(this),d=function(e){var s,a,c,u;return $.fn.popover().closeAll(),s=n().target(o).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),s.finish()},a=function(){return r.notify("error"),s.finish()},u.then(c,a)},o.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-status").popover().open()}),o.on("click",".status",function(t){var e;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),d(e.data("status-id"))}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.status:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},f.directive("tgIssueStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",i]),s=function(t,e,r,n,i,o,s){var a,c;return c=o.get("issue/issue-type-button.html",!0),a=function(e,o,a,u){var l,p,d,f;return p=e.$eval(a.notAutoSave),l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},d=function(t){var r,n;return n=e.typeById[t.type],r=c({type:n,typees:e.typeList,editable:l()}),r=s(r)(e),o.html(r)},f=function(s){var a,c,l,d;return $.fn.popover().closeAll(),p?(u.$modelValue.type=s,void e.$apply()):(a=n().target(o.find(".level-name")).start(),d=i.save(function(t){return t.type=s,t}),l=function(){return t.$broadcast("object:updated"),a.finish()},c=function(){return r.notify("error"),a.finish()},d.then(l,c))},o.on("click",".type-data",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-type").popover().open()}),o.on("click",".type",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),r=e.data("type-id"),f(r)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.type:void 0},function(){var t;if(t=u.$modelValue)return d(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},f.directive("tgIssueTypeButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",s]),n=function(t,e,r,n,i,o,s){var a,c;return c=o.get("issue/issue-severity-button.html",!0),a=function(e,o,a,u){var l,p,d,f;return p=e.$eval(a.notAutoSave),l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},d=function(t){var r,n;return n=e.severityById[t.severity],r=c({severity:n,severityes:e.severityList,editable:l()}),r=s(r)(e),o.html(r)},f=function(s){var a,c,l,d;return $.fn.popover().closeAll(),p?(u.$modelValue.severity=s,void e.$apply()):(a=n().target(o.find(".level-name")).start(),d=i.save(function(t){return t.severity=s,t}),l=function(){return t.$broadcast("object:updated"),a.finish()},c=function(){return r.notify("error"),a.finish()},d.then(l,c))},o.on("click",".severity-data",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-severity").popover().open()}),o.on("click",".severity",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return r=angular.element(t.currentTarget),e=r.data("severity-id"),f(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.severity:void 0},function(){var t;if(t=u.$modelValue)return d(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},f.directive("tgIssueSeverityButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",n]),r=function(t,e,r,n,i,o,s){var a,c;return c=o.get("issue/issue-priority-button.html",!0),a=function(e,o,a,u){var l,p,d,f;return p=e.$eval(a.notAutoSave),l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},d=function(t){var r,n;return n=e.priorityById[t.priority],r=c({priority:n,priorityes:e.priorityList,editable:l()}),r=s(r)(e),o.html(r)},f=function(s){var a,c,l,d;return $.fn.popover().closeAll(),p?(u.$modelValue.priority=s,void e.$apply()):(a=n().target(o.find(".level-name")).start(),d=i.save(function(t){return t.priority=s,t}),l=function(){return t.$broadcast("object:updated"),a.finish()},c=function(){return r.notify("error"),a.finish()},d.then(l,c))},o.on("click",".priority-data",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-priority").popover().open()}),o.on("click",".priority",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return r=angular.element(t.currentTarget),e=r.data("priority-id"),f(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.priority:void 0},function(){var t;if(t=u.$modelValue)return d(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},f.directive("tgIssuePriorityButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",r]),a=function(t,e,r,n){var i;return i=function(i,o,s,a){var c;return c=function(n){return function(n,i){var o,s,a;return o={generated_from_issue:n.id,project:n.project,subject:n.subject,description:n.description,tags:n.tags,is_blocked:n.is_blocked,blocked_note:n.blocked_note,due_date:n.due_date},a=function(){return i.finish(),r.notify("success"),t.$broadcast("promote-issue-to-us:success")},s=function(){return i.finish(),r.notify("error")},e.create("userstories",o).then(a,s)}}(this),o.on("click","a",function(t){var e,i,o,s;return t.preventDefault(),e=a.$modelValue,s=n.instant("ISSUES.CONFIRM_PROMOTE.TITLE"),i=n.instant("ISSUES.CONFIRM_PROMOTE.MESSAGE"),o=e.subject,r.ask(s,o,i).then(function(t){return function(t){return c(e,t)}}(this))}),i.$on("$destroy",function(){return o.off()})},{restrict:"AE",require:"ngModel",templateUrl:"issue/promote-issue-to-us-button.html",link:i}},f.directive("tgPromoteIssueToUsButton",["$rootScope","$tgRepo","$tgConfirm","$translate",a]),t=function(t,e,r,n,i,o,s,a){var c;return c=function(r,c,u,l){var p,d,f;return p=[],f=null,r.$watch(u.ngModel,function(t){if(t)return t.milestone?(c.find(".assign-issue-button.button-unset").removeClass("is-active"),c.find(".assign-issue-button.button-set").addClass("is-active")):(c.find(".assign-issue-button.button-set").removeClass("is-active"),c.find(".assign-issue-button.button-unset").addClass("is-active"))}),c.on("click",".assign-issue-button.button-unset",function(t){var n;return t.preventDefault(),t.stopPropagation(),n=i.instant("ISSUES.ACTION_ATTACH_SPRINT"),f=l.$modelValue,e.sprints.list(r.projectId,null).then(function(t){return r.milestones=t.milestones,r.selectedSprint=f.milestone,p=angular.copy(r.milestones),o.open(c.find(".lightbox-assign-sprint-to-issue"))})}),c.on("click",".assign-issue-button.button-set",function(n){return n.preventDefault(),n.stopPropagation(),f=l.$modelValue,e.sprints.list(r.projectId,null).then(function(e){var r,n,u;return r=_.find(e.milestones,{id:f.milestone}),u=i.instant("ISSUES.CONFIRM_DETACH_FROM_SPRINT.TITLE"),n=i.instant("ISSUES.CONFIRM_DETACH_FROM_SPRINT.MESSAGE"),n+=" "+r.name+"",a.ask(u,null,n).then(function(e){var r,n,i;return n=function(){return t.$broadcast("assign-sprint-to-issue:success",null),e.finish(),o.close(c)},r=function(){return e.finish(!1),a.notify("error")},i=s.save(function(t){return t.setAttr("milestone",null),t}),i.then(n,r)})})}),r.$on("$destroy",function(){return c.off()}),d=function(t,e){return e=h(e.toUpperCase()),t=h(t.toUpperCase()),_.includes(e,t)},r.filterMilestones=function(t){return r.milestones=p.filter(function(e){return d(t,e.name)})},r.saveIssueToSprint=function(e,r){var i,a;return i=n().target($(r.currentTarget)).start(),f.setAttr("milestone",e.id),a=s.save(function(t){return f.setAttr("milestone",e.id),t}),a.then(function(){return i.finish(),o.close(c.find(".lightbox-assign-sprint-to-issue")),t.$broadcast("assign-sprint-to-issue:success",e.id)})}},{link:c,restrict:"EA",require:"ngModel",templateUrl:"issue/assign-sprint-to-issue-button.html"}},f.directive("tgAssignSprintToIssueButton",["$rootScope","$tgResources","$tgRepo","$tgLoading","$translate","lightboxService","$tgQueueModelTransformation","$tgConfirm",t])}.call(this),function(){var t,e,r,n,i,o;i=this.taiga,e=this.taiga.bindOnce,r=this.taiga.debounce,o=this.taiga.trim,n=angular.module("taigaIssues"),t=function(t,e,n,i,o,s,a){var c;return c=function(t,c,u){var l,p,d;return l=null,t.$on("issueform:bulk",function(e,r,n,i){return l&&l.reset(),s.open(c),t["new"]={projectId:r,milestoneId:n,bulk:""}}),p=r(2e3,function(r){var u,p,f,h,g;if(r.preventDefault(),l=c.find("form").checksley(),l.validate())return u=o().target(d).start(),p=t["new"].bulk,h=t["new"].projectId,f=t["new"].milestoneId,g=e.issues.bulkCreate(h,f,p),g.then(function(t){return t=_.map(t.data,function(t){return a.make_model("issues",t)}),u.finish(),i.$broadcast("issueform:new:success",t),s.close(c),n.notify("success")}),g.then(null,function(){return u.finish(),n.notify("error")})}),d=c.find(".submit-button"),c.on("submit","form",p),t.$on("$destroy",function(){return c.off()})},{link:c}},n.directive("tgLbCreateBulkIssues",["$tgRepo","$tgResources","$tgConfirm","$rootScope","$tgLoading","lightboxService","$tgModel",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g=function(t,e){return function(){return t.apply(e,arguments)}},m=function(t,e){function r(){this.constructor=t}for(var n in e)v.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},v={}.hasOwnProperty;d=this.taiga,u=this.taiga.mixOf,h=this.taiga.trim,f=this.taiga.toString,c=this.taiga.joinStr,a=this.taiga.groupBy,o=this.taiga.bindOnce,s=this.taiga.debounceLeading,p=this.taiga.startswith,i=this.taiga.bindMethods,s=this.taiga.debounceLeading,l=angular.module("taigaIssues"),r=function(t){function e(t,e,r,n,o,s,a,c,u,l,p,d,f,h,m,v,y,_){var b;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=o,this.urls=s,this.params=a,this.q=c,this.location=u,this.appMetaService=l,this.navUrls=p,this.events=d,this.analytics=f,this.translate=h,this.errorHandlingService=m,this.storage=v,this.filterRemoteStorageService=y,this.projectService=_,this.loadIssues=g(this.loadIssues,this),i(this),this.scope.sectionName=this.translate.instant("PROJECT.SECTION.ISSUES"),this.voting=!1,this.applyStoredFilters(this.params.pslug,this.filtersHashSuffix)||(b=this.loadInitialData(),b.then(function(t){return function(){var e,r;return r=t.translate.instant("ISSUES.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.translate.instant("ISSUES.PAGE_DESCRIPTION",{projectName:t.scope.project.name,projectDescription:t.scope.project.description}),t.appMetaService.setAll(r,e)}}(this)),b.then(null,this.onInitialDataError.bind(this)),this.scope.$on("issueform:new:success",function(t){return function(){return t.analytics.trackEvent("issue","create","create issue on issues list",1),t.loadIssues()}}(this)),this.scope.$on("assigned-to:changed",function(t){return function(){if(t.generateFilters(),t.isFilterDataTypeSelected("assigned_to")||t.isFilterDataTypeSelected("role")||t.isOrderedBy("assigned_to")||t.isOrderedBy("modified"))return t.loadIssues()}}(this)),this.scope.$on("status:changed",function(t){return function(){if(t.generateFilters(),t.isFilterDataTypeSelected("status")||t.isOrderedBy("status")||t.isOrderedBy("modified"))return t.loadIssues()}}(this)))}return m(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$tgUrls","$routeParams","$q","$tgLocation","tgAppMetaService","$tgNavUrls","$tgEvents","$tgAnalytics","$translate","tgErrorHandlingService","$tgStorage","tgFilterRemoteStorageService","tgProjectService","tgUserActivityService"],e.prototype.filtersHashSuffix="issues-filters",e.prototype.myFiltersHashSuffix="issues-my-filters",e.prototype.isOrderedBy=function(t){var e;return e=new RegExp("-*"+t),e.test(this.location.search().order_by)},e.prototype.changeQ=function(t){return this.unselectFilter("page"),this.replaceFilter("q",t),this.loadIssues(),this.generateFilters()},e.prototype.removeFilter=function(t){return this.unselectFilter("page"),this.unselectFilter(t.dataType,t.id),this.loadIssues(),this.generateFilters()},e.prototype.addFilter=function(t){return this.unselectFilter("page"),this.selectFilter(t.category.dataType,t.filter.id),this.loadIssues(),this.generateFilters()},e.prototype.selectCustomFilter=function(t){var e;return e=this.location.search().order_by,e&&(t.filter.order_by=e),this.unselectFilter("page"),this.replaceAllFilters(t.filter),this.loadIssues(),this.generateFilters()},e.prototype.removeCustomFilter=function(t){return this.filterRemoteStorageService.getFilters(this.scope.projectId,this.myFiltersHashSuffix).then(function(e){return function(r){return delete r[t.id],e.filterRemoteStorageService.storeFilters(e.scope.projectId,r,e.myFiltersHashSuffix).then(e.generateFilters)}}(this))},e.prototype.isFilterDataTypeSelected=function(t){var e,r,n,i;for(i=this.selectedFilters,r=0,n=i.length;r0}),n=_.map(o.assigned_to,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),s=_.map(o.owners,function(t){return t.id=t.id.toString(),t.name=t.full_name,t}),c=_.map(o.roles,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.name||"Unassigned",t}),e.selectedFilters=[],t.status&&(u=e.formatSelectedFilters("status",p,t.status),e.selectedFilters=e.selectedFilters.concat(u)),t.tags&&(u=e.formatSelectedFilters("tags",d,t.tags),e.selectedFilters=e.selectedFilters.concat(u)),t.assigned_to&&(u=e.formatSelectedFilters("assigned_to",n,t.assigned_to),e.selectedFilters=e.selectedFilters.concat(u)),t.owner&&(u=e.formatSelectedFilters("owner",s,t.owner),e.selectedFilters=e.selectedFilters.concat(u)),t.type&&(u=e.formatSelectedFilters("type",h,t.type),e.selectedFilters=e.selectedFilters.concat(u)),t.severity&&(u=e.formatSelectedFilters("severity",l,t.severity),e.selectedFilters=e.selectedFilters.concat(u)),t.priority&&(u=e.formatSelectedFilters("priority",a,t.priority),e.selectedFilters=e.selectedFilters.concat(u)),t.role&&(u=e.formatSelectedFilters("role",c,t.role),e.selectedFilters=e.selectedFilters.concat(u)),e.filterQ=t.q,e.filters=[{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.TYPE"),dataType:"type",content:h},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.SEVERITY"),dataType:"severity",content:l},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.PRIORITIES"),dataType:"priority",content:a},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.STATUS"),dataType:"status",content:p},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.TAGS"),dataType:"tags",content:d,hideEmpty:!0,totalTaggedElements:f.length},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ASSIGNED_TO"),dataType:"assigned_to",content:n},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),dataType:"role",content:c},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),dataType:"owner",content:s}],e.customFilters=[],_.forOwn(i,function(t,r){return e.customFilters.push({id:r,name:r,filter:t})})}}(this))},e.prototype.initializeSubscription=function(){var t;return t="changes.project."+this.scope.projectId+".issues",this.events.subscribe(this.scope,t,s(500,function(t){return function(e){return t.loadIssues()}}(this)))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_issues_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.issueStatusById=a(t.issue_statuses,function(t){return t.id}),this.scope.issueStatusList=_.sortBy(t.issue_statuses,"order"),this.scope.severityById=a(t.severities,function(t){return t.id}),this.scope.severityList=_.sortBy(t.severities,"order"),this.scope.priorityById=a(t.priorities,function(t){return t.id}),this.scope.priorityList=_.sortBy(t.priorities,"order"),this.scope.issueTypes=_.sortBy(t.issue_types,"order"),this.scope.issueTypeById=a(t.issue_types,function(t){return t.id}),t},e.prototype.loadIssuesRequests=0,e.prototype.loadIssues=function(){var t,e;return t=this.location.search(),e=this.rs.issues.list(this.scope.projectId,t),this.loadIssuesRequests+=1,e.index=this.loadIssuesRequests,e.then(function(t){return function(r){return e.index===t.loadIssuesRequests&&(t.scope.issues=r.models,t.scope.page=r.current,t.scope.count=r.count,t.scope.paginatedBy=r.paginatedBy),r}}(this)),e},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.initializeSubscription(),this.generateFilters(),this.loadIssues()},e.prototype.addNewIssue=function(){var t;return t=this.projectService.project.toJS(),this.rootscope.$broadcast("genericform:new",{objType:"issue",project:t})},e.prototype.addIssuesInBulk=function(){return this.rootscope.$broadcast("issueform:bulk",this.scope.projectId)},e.prototype.upVoteIssue=function(t){var e,r;return this.voting=t,r=function(t){return function(){return t.loadIssues(),t.voting=null}}(this),e=function(t){return function(){return t.confirm.notify("error"),t.voting=null}}(this),this.rs.issues.upvote(t).then(r,e)},e.prototype.downVoteIssue=function(t){var e,r;return this.voting=t,r=function(t){return function(){return t.loadIssues(),t.voting=null}}(this),e=function(t){return function(){return t.confirm.notify("error"),t.voting=null}}(this),this.rs.issues.downvote(t).then(r,e)},e.prototype.getOrderBy=function(){return _.isString(this.location.search().order_by)?this.location.search().order_by:"created_date"},e}(u(d.Controller,d.PageMixin,d.FiltersMixin)),l.controller("IssuesController",r),n=function(t,e,r,n){var i,o,s,a;return a=r.get("issue/issue-paginator.html",!0),s=function(t,e,r,i){var o,s,c,u,l,p,d;return s=2,l=4,c=2,u=2,o=e.find(".issues-paginator"),p=function(){var e;return e=t.count/t.paginatedBy,e=parseInt(e,10)1,h.showNext=!(t.page===f),e=t.page,i=d=1,m=f;1<=m?d<=m:d>=m;i=1<=m?++d:--d)i===e+s&&f>e+s+u?g.push({classes:"dots",type:"dots"}):i===e-l&&e>c+l?g.push({classes:"dots",type:"dots"}):i>e+s&&i<=f-u||ic||(i===e?g.push({classes:"active",num:i,type:"page-active"}):g.push({classes:"page",num:i,type:"page"}));return r=a(h),r=n(r)(t),o.html(r)},t.$watch("issues",function(t){if(t)return d()}),e.on("click",".issues-paginator a.next",function(e){return e.preventDefault(),t.$apply(function(){return i.selectFilter("page",t.page+1),i.loadIssues()})}),e.on("click",".issues-paginator a.previous",function(e){return e.preventDefault(),t.$apply(function(){return i.selectFilter("page",t.page-1),i.loadIssues()})}),e.on("click",".issues-paginator li.page > a",function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=n.data("pagenum"),t.$apply(function(){return i.selectFilter("page",r),i.loadIssues()})})},o=function(t,r,i,o){var s,a,c,u;return a=o.getOrderBy(),a&&(c=p(a,"-")?"icon-arrow-up":"icon-arrow-down",s=r.find(".row.title > div[data-fieldname='"+h(a,"-")+"']"),u=$("").attr("svg-icon",c),s.append(u),n(s.contents())(t)),r.on("click",".row.title > div",function(i){var s,l,d;return d=angular.element(i.currentTarget),a=o.getOrderBy(),l=d.data("fieldname"),"total_voters"===l&&"-total_voters"!==a&&(a="total_voters"),s=a===l?"-"+l:l,t.$apply(function(){return o.replaceFilter("order_by",s),o.storeFilters(o.params.pslug,e.search(),o.filtersHashSuffix),o.loadIssues().then(function(){return r.find(".row.title > div > tg-svg").remove(),c=p(s,"-")?"icon-arrow-up":"icon-arrow-down",u=$("").attr("svg-icon",c),d.append(u),n(d.contents())(t)})})})},i=function(t,e,r){var n;return n=e.controller(),o(t,e,r,n),s(t,e,r,n),t.$on("$destroy",function(){return e.off()})},{link:i}},l.directive("tgIssues",["$log","$tgLocation","$tgTemplate","$compile",n]),e=function(t,e,r){var n,i,o;return i=e.get("issue/issue-status-inline-edition-selection.html",!0),o=function(t,e,r){var n,i,o;if(i=t.find(".issue-status"),n=t.find(".issue-status .issue-status-bind"),o=r[e.status])return n.text(o.name),n.prop("title",o.name),i.css("color",o.color)},n=function(e,n,s){var a,c;return a=n.controller(),c=e.$eval(s.tgIssueStatusInlineEdition),n.on("click",".issue-status",function(t){return t.preventDefault(),t.stopPropagation(),n.find(".pop-status").popover().open()}),n.on("click",".status",function(i){var s;return i.preventDefault(),i.stopPropagation(),s=angular.element(i.currentTarget),c.status=s.data("status-id"),n.find(".pop-status").popover().close(),o(n,c,e.issueStatusById),e.$apply(function(){return t.save(c).then(function(t){return r.$broadcast("status:changed",t)})})}),d.bindOnce(e,"project",function(t){if(n.append(i({statuses:t.issue_statuses})),o(n,c,e.issueStatusById),t.my_permissions.indexOf("modify_issue")===-1)return n.unbind("click"),n.find("a").addClass("not-clickable")}),e.$watch(s.tgIssueStatusInlineEdition,function(t){return function(t){return o(n,t,e.issueStatusById)}}(this)),e.$on("$destroy",function(){return n.off()})},{link:n}},l.directive("tgIssueStatusInlineEdition",["$tgRepo","$tgTemplate","$rootScope",e]),t=function(t,e,r,n){var i,o;return o=_.template('<%- name %>\n
<%- name %>
'),i=function(i,s,a){var c,u,l;return l=function(t){var e,a,c;return a={name:r.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED"),imgurl:"/"+window._version+"/images/unnamed.png"},c=i.usersById[t.assigned_to],e=n.getAvatar(c),a.imgurl=e.url,a.bg=null,c&&(a.name=c.full_name_display,a.bg=e.bg),s.find(".avatar").html(o(a)),s.find(".issue-assignedto").attr("title",a.name)},c=s.controller(),u=i.$eval(a.tgIssueAssignedToInlineEdition),l(u),s.on("click",".issue-assignedto",function(t){return e.$broadcast("assigned-to:add",u)}),d.bindOnce(i,"project",function(t){if(t.my_permissions.indexOf("modify_issue")===-1)return s.unbind("click"),s.find("a").addClass("not-clickable")}),i.$on("assigned-to:added",function(r,n,i){if(i.id===u.id)return i.assigned_to=n,t.save(u).then(function(){return l(i),e.$broadcast("assigned-to:changed",i)})}),i.$watch(a.tgIssueAssignedToInlineEdition,function(t){return l(t)}),i.$on("$destroy",function(){return s.off()})},{link:i}},l.directive("tgIssueAssignedToInlineEdition",["$tgRepo","$rootScope","$translate","tgAvatarService",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p=function(t,e){function r(){this.constructor=t}for(var n in e)d.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},d={}.hasOwnProperty;l=this.taiga,c=this.taiga.mixOf,a=this.taiga.groupBy,s=this.taiga.bindOnce,o=this.taiga.bindMethods,u=angular.module("taigaUserStories"),i=function(t){function e(t,e,r,n,i,s,a,c,u,l,p,d,f,h,g,m,v,y){var _;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=s,this.q=a,this.location=c,this.log=u,this.appMetaService=l,this.navUrls=p,this.analytics=d,this.translate=f,this.modelTransform=h,this.errorHandlingService=g,this.configService=m,this.projectService=v,this.wysiwigService=y,o(this),this.scope.usRef=this.params.usref,this.scope.sectionName=this.translate.instant("US.SECTION_NAME"),this.scope.tribeEnabled=this.configService.config.tribeHost,this.initializeEventHandlers(),_=this.loadInitialData(),_.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),_.then(null,this.onInitialDataError.bind(this))}return p(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgNavUrls","$tgAnalytics","$translate","$tgQueueModelTransformation","tgErrorHandlingService","$tgConfig","tgProjectService","tgWysiwygService"],e.prototype._setMeta=function(){var t,e,r,n,i,o;return o=this.scope.tasks.length,t=_.filter(this.scope.tasks,function(t){return function(e){return t.scope.taskStatusById[e.status].is_closed}}(this)).length,r=o>0?Math.round(100*t/o):0,i=this.translate.instant("US.PAGE_TITLE",{userStoryRef:"#"+this.scope.us.ref,userStorySubject:this.scope.us.subject,projectName:this.scope.project.name}),e=this.translate.instant("US.PAGE_DESCRIPTION",{userStoryStatus:(null!=(n=this.scope.statusById[this.scope.us.status])?n.name:void 0)||"--",userStoryPoints:this.scope.us.total_points,userStoryDescription:angular.element(this.wysiwigService.getHTML(this.scope.us.description)||"").text(),userStoryClosedTasks:t,userStoryTotalTasks:o,userStoryProgressPercentage:r}),this.appMetaService.setAll(i,e)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("related-tasks:update",function(t){return function(){var e;if(t.scope.tasks=_.clone(t.scope.tasks,!1),e=_.every(t.scope.tasks,function(t){return t.is_closed}),t.scope.us.is_closed!==e)return t.loadUs()}}(this)),this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on userstory",1)}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadUs()}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;return t={project:this.scope.project.slug},this.scope.onDeleteGoToUrl=this.navUrls.resolve("project",t),this.scope.project.is_backlog_activated?this.scope.us.milestone?(t.sprint=this.scope.sprint.slug,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-taskboard",t)):this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-backlog",t):this.scope.project.is_kanban_activated?this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-kanban",t):void 0},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.statusList=t.us_statuses,this.scope.statusById=a(t.us_statuses,function(t){return t.id}),this.scope.taskStatusById=a(t.task_statuses,function(t){return t.id}),this.scope.pointsList=_.sortBy(t.points,"order"),this.scope.pointsById=a(this.scope.pointsList,function(t){return t.id}),t},e.prototype.loadUs=function(){var t,e,r,n;return t=_.pick(this.location.search(),"milestone","no-milestone","kanban-status"),r=t.milestone,r&&this.rs.userstories.storeQueryParams(this.scope.projectId,{milestone:r,order_by:"sprint_order"}),n=t["no-milestone"],n&&this.rs.userstories.storeQueryParams(this.scope.projectId,{milestone:"null",order_by:"backlog_order"}),e=t["kanban-status"],e&&this.rs.userstories.storeQueryParams(this.scope.projectId,{status:e,order_by:"kanban_order"}),this.rs.userstories.getByRef(this.scope.projectId,this.params.usref).then(function(t){return function(e){return t.scope.us=e,t.scope.usId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"us"),e}}(this))},e.prototype.loadSprint=function(){if(this.scope.us.milestone)return this.rs.sprints.get(this.scope.us.project,this.scope.us.milestone).then(function(t){return function(e){return t.scope.sprint=e,e}}(this))},e.prototype.loadTasks=function(){return this.rs.tasks.list(this.scope.projectId,null,this.scope.usId).then(function(t){return function(e){return t.scope.tasks=e,e}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadUs().then(function(t){return function(){return t.q.all([t.loadSprint(),t.loadTasks()])}}(this))},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.upvote(this.scope.usId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.downvote(this.scope.usId).then(e,t); -},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.watch(this.scope.usId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.unwatch(this.scope.usId).then(e,t)},e.prototype.onTribeInfo=function(){var t,e,r,n;return r=this.translate.instant("US.TRIBE.PUBLISH_MORE_INFO_TITLE"),t=$("").attr({src:"/"+window._version+"/images/monster-fight.png",alt:this.translate.instant("US.TRIBE.PUBLISH_MORE_INFO_TITLE")}),n=this.translate.instant("US.TRIBE.PUBLISH_MORE_INFO_TEXT"),e=$("
").append(t).append(n),this.confirm.success(r,e)},e}(c(l.Controller,l.PageMixin)),u.controller("UserStoryDetailController",i),r=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:i.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},u.directive("tgUsStatusDisplay",["$tgTemplate","$compile",r]),e=function(t,e,r,n,i,o,s){var a,c;return c=o.get("common/components/status-button.html",!0),a=function(e,o,a,u){var l,p,d;return l=function(){return e.project.my_permissions.indexOf("modify_us")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=c({status:n,statuses:e.statusList,editable:l()}),o.html(r),s(o.contents())(e)}}(this),d=function(e){return function(e){var s,a,c,u;return o.find(".pop-status").popover().close(),s=n().target(o.find(".js-edit-status")).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),s.finish()},a=function(){return r.notify("error"),s.finish()},u.then(c,a)}}(this),o.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-status").popover().open()}),o.on("click",".status",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return r=angular.element(t.currentTarget),e=r.data("status-id"),d(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.status:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},u.directive("tgUsStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",e]),n=function(t,e,r,n,i,o,s){var a,c;return c=o.get("us/us-team-requirement-button.html",!0),a=function(e,o,a,u){var l,p,d;return l=function(){return e.project.my_permissions.indexOf("modify_us")!==-1},p=function(t){var r,n;return r={canEdit:l(),isRequired:t.team_requirement},n=c(r),n=s(n)(e),o.html(n)},d=function(e){var s,a;return s=n().target(o.find("label")).start(),a=i.save(function(t){return t.team_requirement=e,t}),a.then(function(e){return function(){return s.finish(),t.$broadcast("object:updated")}}(this)),a.then(null,function(){return s.finish(),r.notify("error")})},o.on("click",".team-requirement",function(t){var e;if(l())return e=!u.$modelValue.team_requirement,d(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.team_requirement:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},u.directive("tgUsTeamRequirementButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",n]),t=function(t,e,r,n,i,o,s){var a,c;return c=o.get("us/us-client-requirement-button.html",!0),a=function(e,o,a,u){var l,p,d;return l=function(){return e.project.my_permissions.indexOf("modify_us")!==-1},p=function(t){var r,n;return r={canEdit:l(),isRequired:t.client_requirement},n=s(c(r))(e),o.html(n)},d=function(e){var s,a;return s=n().target(o.find("label")).start(),a=i.save(function(t){return t.client_requirement=e,t}),a.then(function(e){return function(){return s.finish(),t.$broadcast("object:updated")}}(this)),a.then(null,function(){return r.notify("error")})},o.on("click",".client-requirement",function(t){var e;if(l())return e=!u.$modelValue.client_requirement,d(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.client_requirement:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},u.directive("tgUsClientRequirementButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u=function(t,e){function r(){this.constructor=t}for(var n in e)l.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},l={}.hasOwnProperty;c=this.taiga,s=this.taiga.mixOf,o=this.taiga.groupBy,i=this.taiga.bindMethods,a=angular.module("taigaTasks"),t=function(t){function e(t,e,r,n,o,s,a,c,u,l,p,d,f,h,g,m){var v;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=o,this.params=s,this.q=a,this.location=c,this.log=u,this.appMetaService=l,this.navUrls=p,this.analytics=d,this.translate=f,this.modelTransform=h,this.errorHandlingService=g,this.projectService=m,i(this),this.scope.taskRef=this.params.taskref,this.scope.sectionName=this.translate.instant("TASK.SECTION_NAME"),this.initializeEventHandlers(),v=this.loadInitialData(),v.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),v.then(null,this.onInitialDataError.bind(this))}return u(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgNavUrls","$tgAnalytics","$translate","$tgQueueModelTransformation","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r;return r=this.translate.instant("TASK.PAGE_TITLE",{taskRef:"#"+this.scope.task.ref,taskSubject:this.scope.task.subject,projectName:this.scope.project.name}),t=this.translate.instant("TASK.PAGE_DESCRIPTION",{taskStatus:(null!=(e=this.scope.statusById[this.scope.task.status])?e.name:void 0)||"--",taskDescription:angular.element(this.scope.task.description_html||"").text()}),this.appMetaService.setAll(r,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on task",1)}}(this)),this.scope.$on("custom-attributes-values:edit",function(t){return function(){return t.rootscope.$broadcast("object:updated")}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadTask()}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;if(t={project:this.scope.project.slug},this.scope.onDeleteGoToUrl=this.navUrls.resolve("project",t),this.scope.project.is_backlog_activated){if(this.scope.task.milestone)return t.sprint=this.scope.sprint.slug,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-taskboard",t);if(this.scope.task.us)return t.ref=this.scope.us.ref,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-userstories-detail",t)}else if(this.scope.project.is_kanban_activated&&this.scope.us)return t.ref=this.scope.us.ref,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-userstories-detail",t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.statusList=t.task_statuses,this.scope.statusById=o(t.task_statuses,function(t){return t.id}),t},e.prototype.loadTask=function(){return this.rs.tasks.getByRef(this.scope.projectId,this.params.taskref).then(function(t){return function(e){var r,n,i;return t.scope.task=e,t.scope.taskId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"task"),null!=(null!=(n=t.scope.task.neighbors.previous)?n.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.task.neighbors.previous.ref},t.scope.previousUrl=t.navUrls.resolve("project-tasks-detail",r)),null!=(null!=(i=t.scope.task.neighbors.next)?i.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.task.neighbors.next.ref},t.scope.nextUrl=t.navUrls.resolve("project-tasks-detail",r)),e}}(this))},e.prototype.loadSprint=function(){if(this.scope.task.milestone)return this.rs.sprints.get(this.scope.task.project,this.scope.task.milestone).then(function(t){return function(e){return t.scope.sprint=e,e}}(this))},e.prototype.loadUserStory=function(){if(this.scope.task.user_story)return this.rs.userstories.get(this.scope.task.project,this.scope.task.user_story).then(function(t){return function(e){return t.scope.us=e,e}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadTask().then(function(t){return function(){return t.q.all([t.loadSprint(),t.loadUserStory()])}}(this))},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.upvote(this.scope.taskId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.downvote(this.scope.taskId).then(e,t)},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.watch(this.scope.taskId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.unwatch(this.scope.taskId).then(e,t)},e}(s(c.Controller,c.PageMixin)),a.controller("TaskDetailController",t),n=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:s.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},a.directive("tgTaskStatusDisplay",["$tgTemplate","$compile",n]),r=function(t,e,r,n,i,o,s,a){var c,u;return u=a.get("common/components/status-button.html",!0),c=function(e,s,a,c){var l,p,d;return l=function(){return e.project.my_permissions.indexOf("modify_task")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=o(u({status:n,statuses:e.statusList,editable:l()}))(e),s.html(r)}}(this),d=function(e){var o,a,c,u;return o=n().target(s).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),o.finish()},a=function(){return r.notify("error"),o.finish()},u.then(c,a)},s.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return s.find(".pop-status").popover().open()}),s.on("click",".status",function(t){var e;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),$.fn.popover().closeAll(),d(e.data("status-id"))}),e.$watch(function(){var t;return null!=(t=c.$modelValue)?t.status:void 0},function(){var t;if(t=c.$modelValue)return p(t)}),e.$on("$destroy",function(){return s.off()})},{link:c,restrict:"EA",require:"ngModel"}},a.directive("tgTaskStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$compile","$translate","$tgTemplate",r]),e=function(t,e,r,n,i,o,s){var a,c;return c=s.get("issue/iocaine-button.html",!0),a=function(e,s,a,u){var l,p,d;return l=function(){return e.project.my_permissions.indexOf("modify_task")!==-1},p=function(t){var r,n;return l()||t.is_iocaine?(r={isIocaine:t.is_iocaine,isEditable:l()},n=o(c(r))(e),s.html(n)):void s.html("")},d=function(e){var o,a;return o=n().target(s.find("label")).start(),a=i.save(function(t){return t.is_iocaine=e,t}),a.then(function(){return t.$broadcast("object:updated")}),a.then(null,function(){return r.notify("error")}),a["finally"](function(){return o.finish()})},s.on("click",".is-iocaine",function(t){var e;if(l())return e=!u.$modelValue.is_iocaine,d(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.is_iocaine:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return s.off()})},{link:a,restrict:"EA",require:"ngModel"}},a.directive("tgTaskIsIocaineButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$compile","$tgTemplate",e])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l=function(t,e){function r(){this.constructor=t}for(var n in e)p.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},p={}.hasOwnProperty;u=this.taiga,a=this.taiga.mixOf,c=angular.module("taigaTeam"),e=function(t){function e(t,e,r,n,i,o,s,a,c,u,l,p,d){var f;this.scope=t,this.rootscope=e,this.repo=r,this.rs=n,this.params=i,this.q=o,this.location=s,this.navUrls=a,this.appMetaService=c,this.auth=u,this.translate=l,this.projectService=p,this.errorHandlingService=d,this.scope.sectionName="TEAM.SECTION_NAME",f=this.loadInitialData(),f.then(function(t){return function(){var e,r;return r=t.translate.instant("TEAM.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.translate.instant("TEAM.PAGE_DESCRIPTION",{projectName:t.scope.project.name,projectDescription:t.scope.project.description}),t.appMetaService.setAll(r,e)}}(this)),f.then(null,this.onInitialDataError.bind(this))}return l(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$routeParams","$q","$location","$tgNavUrls","tgAppMetaService","$tgAuth","$translate","tgProjectService","tgErrorHandlingService"],e.prototype.setRole=function(t){return t?this.scope.filtersRole=t:this.scope.filtersRole=null},e.prototype.loadMembers=function(){var t,e,r,n,i;for(i=this.auth.getUser(),this.scope.totals={},n=this.scope.activeUsers,t=0,e=n.length;t=0)})}},c.filter("membersFilter",s)}.call(this),function(){var t,e,r,n,i,o,s,a,c,u=function(t,e){return function(){return t.apply(e,arguments)}},l=function(t,e){function r(){this.constructor=t}for(var n in e)p.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},p={}.hasOwnProperty;c=this.taiga,s=this.taiga.mixOf,o=this.taiga.groupBy,n=this.taiga.bindOnce,i=this.taiga.debounce,a=angular.module("taigaWiki"),t=function(t){function e(t,e,r,n,i,o,s,a,c,l,p,d,f,h,g,m,v){var y;this.scope=t,this.rootscope=e,this.repo=r,this.model=n,this.confirm=i,this.rs=o,this.params=s,this.q=a,this.location=c,this.filter=l,this.log=p,this.appMetaService=d,this.navUrls=f,this.analytics=h,this.translate=g,this.errorHandlingService=m,this.projectService=v,this.moveLink=u(this.moveLink,this),this.loadWiki=u(this.loadWiki,this),this.scope.$on("wiki:links:move",this.moveLink),this.scope.$on("wikipage:add",this.loadWiki),this.scope.projectSlug=this.params.pslug,this.scope.wikiSlug=this.params.slug,this.scope.sectionName="Wiki",this.scope.linksVisible=!1,y=this.loadInitialData(),y.then(function(t){return function(){return t._setMeta()}}(this)),y.then(null,this.onInitialDataError.bind(this))}return l(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgModel","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$filter","$log","tgAppMetaService","$tgNavUrls","$tgAnalytics","$translate","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r,n,i;return i=this.translate.instant("WIKI.PAGE_TITLE",{wikiPageName:this.scope.wikiSlug,projectName:this.scope.project.name}),t=this.translate.instant("WIKI.PAGE_DESCRIPTION",{wikiPageContent:angular.element((null!=(e=this.scope.wiki)?e.html:void 0)||"").text(),totalEditions:(null!=(r=this.scope.wiki)?r.editions:void 0)||0,lastModifiedDate:moment(null!=(n=this.scope.wiki)?n.modified_date:void 0).format(this.translate.instant("WIKI.DATETIME"))}),this.appMetaService.setAll(i,t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_wiki_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadWiki=function(){var t;return t=this.rs.wiki.getBySlug(this.scope.projectId,this.params.slug),t.then(function(t){return function(e){return t.scope.wiki=e,t.scope.wikiId=e.id,t.scope.wiki}}(this)),t.then(null,function(t){return function(e){var r;return t.scope.wikiId=null,t.scope.project.my_permissions.indexOf("add_wiki_page")===-1?null:(r={project:t.scope.projectId,slug:t.scope.wikiSlug,content:""},t.scope.wiki=t.model.make_model("wiki",r),t.scope.wiki)}}(this))},e.prototype.loadWikiLinks=function(){return this.rs.wiki.listLinks(this.scope.projectId).then(function(t){return function(e){var r,n,i,o,s;for(t.scope.wikiLinks=e,o=t.scope.wikiLinks,r=0,n=o.length;r\n \n \n\n
\n\n \n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\n \n"}},a.directive("tgWikiWysiwyg",["$tgQueueModelTransformation","$rootScope","$tgConfirm","tgAttachmentsFullService","$tgQqueue","$tgRepo","$tgAnalytics","tgWikiHistoryService",r])}.call(this),function(){var t,e,r,n,i,o;o=this.taiga,n=this.taiga.mixOf,r=this.taiga.groupBy,e=this.taiga.bindOnce,i=angular.module("taigaWiki"),t=function(t,r,n,i,o,s,a,c,u){var l,p,d;return d=a.get("wiki/wiki-nav.html",!0),p=function(n,a,l){var p,f,h,g;return p=a.controller(),null==l.ngModel?r.error("WikiNavDirective: no ng-model attr is defined"):(f=n.project.my_permissions.indexOf("add_wiki_link")>-1,h=null,g=function(e){var r,l,m,v,y;return f=n.project.my_permissions.indexOf("add_wiki_link")>-1,r=n.project.my_permissions.indexOf("delete_wiki_link")>-1,l=d({wikiLinks:e,projectSlug:n.projectSlug,addWikiLinkPermission:f,deleteWikiLinkPermission:r}),l=c(l)(n),a.off(),f&&h&&h.destroy(),a.html(l),f&&(m=null,y=a.find(".sortable"),h=dragula([y[0]],{direction:"vertical",copySortSource:!1,copy:!1,mirrorContainer:y[0],moves:function(t){return $(t).is("li")}}),h.on("dragend",function(t){var e;return m=$(t),t=m.scope().link,e=m.index(),n.$emit("wiki:links:move",t,e)}),v=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&h.dragging}})),a.on("click",".add-button",function(t){return t.preventDefault(),a.find(".new").removeClass("hidden"),a.find(".new input").focus(),a.find(".add-button").hide()}),a.on("click",".js-delete-link",function(e){var r,o,s,a;return e.preventDefault(),e.stopPropagation(),s=angular.element(e.currentTarget),r=s.parents(".wiki-link").data("id"),a=u.instant("WIKI.DELETE_LINK_TITLE"),o=n.wikiLinks[r].title,i.askOnDelete(a,o).then(function(e){return function(e){var o;return o=t.remove(n.wikiLinks[r]),o.then(function(){return o=p.loadWikiLinks(),o.then(function(){return e.finish(),g(n.wikiLinks)}),o.then(null,function(){return e.finish()})}),o.then(null,function(){return e.finish(!1),i.notify("error")})}}(this))}),a.on("keyup",".new input",function(e){var r,c,u,l;return e.preventDefault(),13===e.keyCode?(l=angular.element(e.currentTarget),c=l.val(),r=s().target(a.find(".new")).start(),u=t.create("wiki-links",{project:n.projectId,title:c}),u.then(function(){var t;return o.trackEvent("wikilink","create","create wiki link",1),t=p.loadWikiLinks(),t.then(function(){return r.finish(),a.find(".new").addClass("hidden"),a.find(".new input").val(""),a.find(".add-button").show(),g(n.wikiLinks)}),t.then(null,function(){return r.finish(),a.find(".new").addClass("hidden"),a.find(".new input").val(""),a.find(".add-button").show(),i.notify("error","Error loading wiki links")})}),u.then(null,function(t){var e;return r.finish(),a.find(".new input").val(c),a.find(".new input").focus().select(),null!=(null!=t&&null!=(e=t.__all__)?e[0]:void 0)?i.notify("error","The link already exists"):i.notify("error")})):27===e.keyCode?(l=angular.element(e.currentTarget),a.find(".new").addClass("hidden"),a.find(".new input").val(""),a.find(".add-button").show()):void 0})},e(n,l.ngModel,g))},l=function(t,e,r){return p(t,e,r),t.$on("$destroy",function(){return e.off()})},{link:l}},i.directive("tgWikiNav",["$tgRepo","$log","$tgLocation","$tgConfirm","$tgAnalytics","$tgLoading","$tgTemplate","$compile","$translate",t])}.call(this),function(){var t,e,r,n,i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;n=this.taiga,e=this.taiga.mixOf,r=angular.module("taigaWiki"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p;this.scope=t,this.rootscope=e,this.repo=r,this.model=n,this.confirm=i,this.rs=o,this.params=s,this.q=a,this.navUrls=c,this.errorHandlingService=u,this.projectService=l,this.scope.projectSlug=this.params.pslug,this.scope.wikiSlug=this.params.slug,this.scope.sectionName="Wiki",this.scope.linksVisible=!1,p=this.loadInitialData(),p.then(null,this.onInitialDataError.bind(this))}return i(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgModel","$tgConfirm","$tgResources","$routeParams","$q","$tgNavUrls","tgErrorHandlingService","tgProjectService"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_wiki_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadWikiPages=function(){var t;return t=this.rs.wiki.list(this.scope.projectId).then(function(t){return function(e){return t.scope.wikipages=e}}(this))},e.prototype.loadWikiLinks=function(){return this.rs.wiki.listLinks(this.scope.projectId).then(function(t){return function(e){var r,n,i,o,s;for(t.scope.wikiLinks=e,o=t.scope.wikiLinks,r=0,n=o.length;rt.total_memberships,this.scope.$emit("project:loaded",t),t},e.prototype.loadMembers=function(){var t;return t=this.getUrlFilters(),this.rs.memberships.list(this.scope.projectId,t).then(function(t){return function(e){return t.scope.memberships=_.filter(e.models,function(t){return null===t.user||t.is_user_active}),t.scope.page=e.current,t.scope.count=e.count,t.scope.paginatedBy=e.paginatedBy,e}}(this))},e.prototype.loadInitialData=function(){return this.loadProject(),this.q.all([this.loadMembers(),this.auth.refresh()])},e.prototype.getUrlFilters=function(){var t;return t=_.pick(this.location.search(),"page"),t.page||(t.page=1),t},e.prototype.addNewMembers=function(){return this.lightboxFactory.create("tg-lb-add-members",{"class":"lightbox lightbox-add-member",project:"project"},{project:this.scope.project})},e.prototype.showLimitUsersWarningMessage=function(){var t,e,r;return r=this.translate.instant("ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING"),e=this.translate.instant("ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING_MESSAGE",{members:this.scope.project.max_memberships}),t="/"+window._version+"/svg/icons/team-question.svg",this.confirm.success(r,e,{name:t,type:"img"})},e}(c(l.Controller,l.PageMixin,l.FiltersMixin)),u.controller("MembershipsController",t),e=function(t,e){var r,n,i;return i=t.get("admin/admin-membership-paginator.html",!0),n=function(t,r,n,o){var s,a,c,u,l,p,d;return a=2,l=4,c=2,u=2,s=r.find(".memberships-paginator"),p=function(){var e;return e=t.count/t.paginatedBy,e=parseInt(e,10)1,h.showNext=!(t.page===f),r=t.page,o=d=1,m=f;1<=m?d<=m:d>=m;o=1<=m?++d:--d)o===r+a&&f>r+a+u?g.push({classes:"dots",type:"dots"}):o===r-l&&r>c+l?g.push({classes:"dots",type:"dots"}):o>r+a&&o<=f-u||oc||(o===r?g.push({classes:"active",num:o,type:"page-active"}):g.push({classes:"page",num:o,type:"page"}));return n=i(h),n=e(n)(t),s.html(n),s.show()},t.$watch("memberships",function(t){if(t)return d()}),r.on("click",".memberships-paginator a.next",function(e){return e.preventDefault(),t.$apply(function(){return o.selectFilter("page",t.page+1),o.loadMembers()})}),r.on("click",".memberships-paginator a.previous",function(e){return e.preventDefault(),t.$apply(function(){return o.selectFilter("page",t.page-1),o.loadMembers()})}),r.on("click",".memberships-paginator li.page > a",function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=n.data("pagenum"),t.$apply(function(){return o.selectFilter("page",r),o.loadMembers()})})},r=function(t,e,r){var i;return i=e.controller(),n(t,e,r,i),t.$on("$destroy",function(){return e.off()})},{link:r}},u.directive("tgMemberships",["$tgTemplate","$compile",e]),i=function(t,e,r,n,i){var o,s;return s=e.get("admin/memberships-row-avatar.html",!0),o=function(e,o,a){var c,u,l;return u=r.instant("ADMIN.MEMBERSHIP.STATUS_PENDING"),l=function(t){var r,a,c;return r=i.getAvatar(t),a={full_name:t.full_name?t.full_name:"",email:t.user_email?t.user_email:t.email,imgurl:r.url,bg:r.bg,pending:t.is_user_active?"":u,isOwner:t.is_owner},c=s(a),c=n(c)(e),o.html(c)},null==a.tgMembershipsRowAvatar?t.error("MembershipsRowAvatarDirective: the directive need a member"):(c=e.$eval(a.tgMembershipsRowAvatar),l(c),e.$on("$destroy",function(){return o.off()}))},{link:o}},u.directive("tgMembershipsRowAvatar",["$log","$tgTemplate","$translate","$compile","tgAvatarService",i]),n=function(t,e,r,n,i){var o,s;return s=n.get("admin/admin-memberships-row-checkbox.html",!0),o=function(n,o,a){var c,u,l;return n.$on("$destroy",function(){return o.off()}),null==a.tgMembershipsRowAdminCheckbox?t.error("MembershipsRowAdminCheckboxDirective: the directive need a member"):(u=n.$eval(a.tgMembershipsRowAdminCheckbox),u.is_owner?void o.find(".js-check").remove():(l=function(t){var e,r;return e={inputId:"is-admin-"+t.id},r=s(e),r=i(r)(n),o.html(r)},o.on("click",":checkbox",function(t){return function(t){var n,i,s;return i=function(){return r.notify("success")},n=function(t){return u.revert(),o.find(":checkbox").prop("checked",u.is_admin),r.notify("error",t.is_admin[0])},s=angular.element(t.currentTarget),u.is_admin=s.prop("checked"),e.save(u).then(i,n)}}(this)),c=l(u),u.is_admin?o.find(":checkbox").prop("checked",!0):void 0))},{link:o}},u.directive("tgMembershipsRowAdminCheckbox",["$log","$tgRepo","$tgConfirm","$tgTemplate","$compile",n]),o=function(t,e,r){var n,i;return i=_.template(''),n=function(n,o,s){var a,c,u,l;return l=function(t){var e,r;return e={roleList:n.project.roles,selectedRole:t.role},r=i(e),o.html(r)},null==s.tgMembershipsRowRoleSelector?t.error("MembershipsRowRoleSelectorDirective: the directive need a member"):(a=o.controller(),u=n.$eval(s.tgMembershipsRowRoleSelector),c=l(u),o.on("change","select",function(t){return function(t){var n,i,o,s;if(o=function(){return r.notify("success")},i=function(){return r.notify("error")},s=angular.element(t.currentTarget),n=parseInt(s.val(),10),u.role!==n)return u.role=n,e.save(u).then(o,i)}}(this)),n.$on("$destroy",function(){return o.off()}))},{link:n}},u.directive("tgMembershipsRowRoleSelector",["$log","$tgRepo","$tgConfirm",o]),r=function(t,e,r,n,i,o,s,a,c,u){var l,p,d;return l='
\n
\n\n \n',d='\n\n\n \n',p=function(p,f,h){var g,m,v,y;return y=function(t){var e;return e=t.user?i(l)(p):i(d)(p),f.html(e)},null==h.tgMembershipsRowActions?t.error("MembershipsRowActionsDirective: the directive need a member"):(g=f.controller(),v=p.$eval(h.tgMembershipsRowActions),y(v),f.on("click",".js-resend",function(t){var e,i;return t.preventDefault(),i=function(){var t;return t=o.instant("ADMIN.MEMBERSHIP.SUCCESS_SEND_INVITATION",{email:p.member.email}),n.notify("success",t)},e=function(){var t;return t=o.instant("ADMIM.MEMBERSHIP.ERROR_SEND_INVITATION"),n.notify("error",t)},r.memberships.resendInvitation(p.member.id).then(i,e)}),m=function(){var t,r,i;return i=o.instant("ADMIN.MEMBERSHIP.DELETE_MEMBER"),t=o.instant("ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE",{email:v.email}),r=v.user?v.full_name:t,n.askOnDelete(i,r).then(function(t){var i,c;return c=function(e){return function(){var e;return t.finish(),v.user!==p.user.id?(p.page>1&&p.count-1<=p.paginatedBy&&g.selectFilter("page",p.page-1),u.fetchProject().then(function(){return g.loadInitialData()})):s.path(a.resolve("home")),e=o.instant("ADMIN.MEMBERSHIP.SUCCESS_DELETE",{message:r}),n.notify("success",e,null,5e3)}}(this),i=function(e){return function(){var e;return t.finish(!1),e=o.instant("ADMIN.MEMBERSHIP.ERROR_DELETE",{message:r}),n.notify("error",e)}}(this),e.remove(v).then(c,i)})},f.on("click",".delete",function(t){var e;return t.preventDefault(),p.project.owner.id===v.user?(e=p.user.id===v.user,c.create("tg-lightbox-leave-project-warning",{"class":"lightbox lightbox-leave-project-warning"},{isCurrentUser:e,project:p.project})):m()}),p.$on("$destroy",function(){return f.off()}))},{link:p}},u.directive("tgMembershipsRowActions",["$log","$tgRepo","$tgResources","$tgConfirm","$compile","$translate","$tgLocation","$tgNavUrls","tgLightboxFactory","tgProjectService",r]),s=function(){return{templateUrl:"admin/no-more-memberships-explanation.html",scope:{project:"="}}},u.directive("tgNoMoreMembershipsExplanation",[s])}.call(this),function(){var t,e;t=function(){var t;return t=function(t,e,r){var n;return n=r.tgAdminNavigation,e.find(".active").removeClass("active"),e.find("#adminmenu-"+n+" a").addClass("active"),t.$on("$destroy",function(){return e.off()})},{link:t}},e=angular.module("taigaAdmin"),e.directive("tgAdminNavigation",t)}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v,y,b,S,j,k,$,I,E,T,C,P,w=function(t,e){function r(){this.constructor=t}for(var n in e)A.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},A={}.hasOwnProperty,O=function(t,e){return function(){return t.apply(e,arguments)}};T=this.taiga,$=this.taiga.mixOf,E=this.taiga.scopeDefer,P=this.taiga.trim,C=this.taiga.toString,k=this.taiga.joinStr,j=this.taiga.groupBy,b=this.taiga.bindOnce,S=this.taiga.debounce,I=angular.module("taigaAdmin"),v=function(t){function e(t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g){var m;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.appMetaService=u,this.translate=l,this.tgAuth=p,this.currentUserService=d,this.errorHandlingService=f,this.projectService=h,this.model=g,this.scope.project={},this.scope.projectTags=[],m=this.loadInitialData(),m.then(function(t){return function(){var e,r,n;return r=t.translate.instant(t.scope.sectionName),n=t.translate.instant("ADMIN.PROJECT_PROFILE.PAGE_TITLE",{sectionName:r,projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(n,e),t.fillUsersAndRoles(t.scope.project.members,t.scope.project.roles)}}(this)),m.then(null,this.onInitialDataError.bind(this)),this.scope.$on("project:loaded",function(t){return function(){var e,r,n;return r=t.translate.instant(t.scope.sectionName),n=t.translate.instant("ADMIN.PROJECT_PROFILE.PAGE_TITLE",{sectionName:r,projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(n,e)}}(this))}return w(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","$tgAuth","tgCurrentUserService","tgErrorHandlingService","tgProjectService","$tgModel"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t=this.model.make_model("projects",t),t.i_am_admin||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.epicStatusList=_.sortBy(t.epic_statuses,"order"),this.scope.usStatusList=_.sortBy(t.us_statuses,"order"),this.scope.pointsList=_.sortBy(t.points,"order"),this.scope.taskStatusList=_.sortBy(t.task_statuses,"order"),this.scope.issueTypesList=_.sortBy(t.issue_types,"order"),this.scope.issueStatusList=_.sortBy(t.issue_statuses,"order"),this.scope.prioritiesList=_.sortBy(t.priorities,"order"),this.scope.severitiesList=_.sortBy(t.severities,"order"),E(this.scope,function(e){return function(){return e.scope.$emit("project:loaded",t)}}(this)),this.scope.projectTags=_.map(this.scope.project.tags,function(t){return function(e){return[e,t.scope.project.tags_colors[e]]}}(this)),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.tgAuth.refresh()},e.prototype.openDeleteLightbox=function(){return this.rootscope.$broadcast("deletelightbox:new",this.scope.project)},e.prototype.addTag=function(t,e){var r;return r=_.clone(this.scope.project.tags),r.push(t),this.scope.projectTags.push([t,null]),this.scope.project.tags=r},e.prototype.deleteTag=function(t){var e;return e=_.clone(this.scope.project.tags),_.pull(e,t[0]),_.remove(this.scope.projectTags,function(e){return function(e){return e[0]===t[0]}}(this)),this.scope.project.tags=e},e}($(T.Controller,T.PageMixin)),I.controller("ProjectProfileController",v),y=function(t,e,r,n,i,o,s,a){var c;return c=function(c,u,l){var p,d,f,h;return p=u.controller(),d=u.find("form").checksley({onlyOneErrorElement:!0}),f=S(2e3,function(u){return function(u){var l,f,g;if(u.preventDefault(),d.validate())return l=r().target(h).start(),f=c.project.isAttributeModified("is_private"),g=t.save(c.project),g.then(function(){var t;return l.finish(),f&&c.project.is_private?a.trackEvent("project-privacy-changed","from-public-to-private","Change project privacy from public to private",1):f&&!c.project.is_private&&a.trackEvent("project-privacy-changed","from-private-to-public","Change project privacy from private to public",1),e.notify("success"),t=n.resolve("project-admin-project-profile-details",{project:c.project.slug}),i.path(t),o.fetchProject().then(function(t){return function(){return p.loadInitialData()}}(this)),s.loadProjects()}),g.then(null,function(t){if(l.finish(),d.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),h=u.find(".submit-button"),u.on("submit","form",f)},{link:c}},I.directive("tgProjectProfile",["$tgRepo","$tgConfirm","$tgLoading","$tgNavUrls","$tgLocation","tgProjectService","tgCurrentUserService","$tgAnalytics",y]),d=function(t,e,r){var n;return n=function(n,i,o){var s,a,c;return s=i.find("form").checksley({onlyOneErrorElement:!0}),a=S(2e3,function(i){return function(i){var o,a;if(i.preventDefault(),s.validate())return o=r().target(c).start(),a=t.save(n.project),a.then(function(){return o.finish(),e.notify("success")}),a.then(null,function(t){if(o.finish(),s.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),c=i.find(".submit-button"),i.on("submit","form",a),n.$on("$destroy",function(){return i.off()})},{link:n}},I.directive("tgProjectDefaultValues",["$tgRepo","$tgConfirm","$tgLoading",d]),m=function(t,e,r,n){var i;return i=function(r,i,o){var s;return s=function(o){return function(){var o,s;if(o=i.find("form").checksley(),o.initializeFields(),o.reset(),o.validate())return s=t.save(r.project),s.then(function(){return r.$emit("project:loaded",r.project),e.notify("success"),n.fetchProject()}),s.then(null,function(t){if(o.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this),i.on("change",".module-activation.module-direct-active input",function(t){return t.preventDefault(),r.$applyAsync(s)}),i.on("submit","form",function(t){return t.preventDefault(),s()}),i.on("click",".save",function(t){return t.preventDefault(),s()}),i.on("keydown",".videoconference-attributes input",function(t){return 32!==t.which}),r.$watch("project.videoconferences",function(t,e){if(null!=t&&null!=e&&t!==e)return r.project.videoconferences_extra_data=""}),r.$watch("isVideoconferenceActivated",function(t,e){if(t===!1&&(r.project.videoconferences=null,r.project.videoconferences_extra_data="",e===!0))return s()}),r.$watch("project",function(t){return null!=t.videoconferences?r.isVideoconferenceActivated=!0:r.isVideoconferenceActivated=!1})},{link:i}},I.directive("tgProjectModules",["$tgRepo","$tgConfirm","$tgLoading","tgProjectService",m]),f=function(t,e,r,n,i){var o;return o=function(o,s,a){var c,u,l,p,d,f,h,g,m,v,y,_,b,j,k,$,I,E,T,C,P,w,A,O,R,M;return u=s.find(".admin-project-export-buttons"),E=function(){return u.removeClass("hidden")},p=function(){return u.addClass("hidden")},m=s.find(".admin-project-export-result"),A=function(){return m.removeClass("hidden")},d=function(){return m.addClass("hidden")},R=s.find(".spin"),O=function(){return R.removeClass("hidden")},f=function(){return R.addClass("hidden")},y=s.find(".result-title"),g=n.instant("ADMIN.PROJECT_EXPORT.LOADING_TITLE"),h=n.instant("ADMIN.PROJECT_EXPORT.LOADING_MESSAGE"),l=function(){return y.html(n.instant("ADMIN.PROJECT_EXPORT.DUMP_READY"))},c=function(){return y.html(n.instant("ADMIN.PROJECT_EXPORT.ASYNC_MESSAGE"))},M=function(t){return y.html(n.instant("ADMIN.PROJECT_EXPORT.SYNC_MESSAGE",{url:t}))},k=function(){return y.html(g)},b=function(){return y.html(h)},I=function(){return y.html(l)},v=s.find(".result-message "),j=function(){return v.html(h)},_=function(){return v.html(c)},$=function(t){return v.html(M(t))},w=function(){return O(),k(),j(),p(),A()},C=function(){return f(),b(),_()},P=function(t){return f(),I(),$(t)},T=function(){return f(),d(),E()},s.on("click","a.button-export",S(2e3,function(s){return function(s){var a,c;return s.preventDefault(),c=function(e){var r;return i.trackEvent("exporter","export-project","Exported project",1),202===e.status?C():(r=e.data.url,P(r),t.open(r,"_blank"))},a=function(t){var e,i;return T(),e=n.instant("ADMIN.PROJECT_EXPORT.ERROR"),429===t.status?e=n.instant("ADMIN.PROJECT_EXPORT.ERROR_BUSY"):(null!=(i=t.data)?i._error_message:void 0)&&(e=n.instant("ADMIN.PROJECT_EXPORT.ERROR_BUSY",{message:t.data._error_message})),r.notify("error",e)},w(),e.projects["export"](o.projectId).then(c,a)}}(this)))},{link:o}},I.directive("tgProjectExport",["$window","$tgResources","$tgConfirm","$translate","$tgAnalytics",f]),i=function(t){function e(t,e,r,n,i,o){this.scope=t,this.rootscope=e,this.urls=r,this.confirm=n,this.rs=i,this.translate=o,this._generateUuid=O(this._generateUuid,this),this.setCsvUuid=O(this.setCsvUuid,this),this.rootscope.$on("project:loaded",this.setCsvUuid),this.scope.$watch("csvUuid",function(t){return function(e){return e?t.scope.csvUrl=t.urls.resolveAbsolute(t.type+"-csv",e):t.scope.csvUrl=""}}(this))}return w(e,t),e.$inject=["$scope","$rootScope","$tgUrls","$tgConfirm","$tgResources","$translate"],e.prototype.setCsvUuid=function(){return this.scope.csvUuid=this.scope.project[this.type+"_csv_uuid"]},e.prototype._generateUuid=function(t){var e;return null==t&&(t=null),e=this.rs.projects["regenerate_"+this.type+"_csv_uuid"](this.scope.projectId),e.then(function(t){return function(e){var r;return t.scope.csvUuid=null!=(r=e.data)?r.uuid:void 0}}(this)),e.then(null,function(t){return function(){return t.confirm.notify("error")}}(this)),e["finally"](function(){if(t)return t.finish()}),e},e.prototype.regenerateUuid=function(){var t,e;return this.scope.csvUuid?(e=this.translate.instant("ADMIN.REPORTS.REGENERATE_TITLE"),t=this.translate.instant("ADMIN.REPORTS.REGENERATE_SUBTITLE"),this.confirm.ask(e,t).then(this._generateUuid)):this._generateUuid()},e}(T.Controller),o=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="epics",e}(i),c=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="userstories",e}(i),a=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="tasks",e}(i),s=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="issues",e}(i),I.controller("CsvExporterEpicsController",o),I.controller("CsvExporterUserstoriesController",c),I.controller("CsvExporterTasksController",a),I.controller("CsvExporterIssuesController",s),n=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_EPIC"},{controller:"CsvExporterEpicsController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvEpic",["$translate",n]),p=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_US"},{controller:"CsvExporterUserstoriesController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvUs",["$translate",p]),l=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_TASK"},{controller:"CsvExporterTasksController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvTask",["$translate",l]),u=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_ISSUE"},{controller:"CsvExporterIssuesController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvIssue",["$translate",u]),h=function(t,e,r,n){var i;return i=function(t,i,o){var s,a,c;return c=function(){return i.find(".size-info").addClass("active")},a=function(r){var o;return o=e.make_model("projects",r.data),t.project=o,i.find(".loading-overlay").removeClass("active"),n.notify("success")},s=function(t){return 413===t.status&&c(),i.find(".loading-overlay").removeClass("active"),n.notify("error",t.data._error_message)},i.on("click",".js-change-logo",function(){return i.find("#logo-field").click()}),i.on("change","#logo-field",function(e){if(t.logoAttachment)return i.find(".loading-overlay").addClass("active"),r.projects.changeLogo(t.project.id,t.logoAttachment).then(a,s)}),i.on("click","a.js-use-default-logo",function(e){return i.find(".loading-overlay").addClass("active"),r.projects.removeLogo(t.project.id).then(a,s)}),t.$on("$destroy",function(){return i.off()})},{link:i}},I.directive("tgProjectLogo",["$tgAuth","$tgModel","$tgResources","$tgConfirm",h]),g=function(t){var e;return e=function(e,r,n){var i,o;return i=t(n.tgProjectLogoModel),o=i.assign,r.bind("change",function(){return e.$apply(function(){return o(e,r[0].files[0])})})},{link:e}},I.directive("tgProjectLogoModel",["$parse",g]),r=function(){return{scope:{project:"="},templateUrl:"admin/admin-project-restrictions.html"}},I.directive("tgAdminProjectRestrictions",[r]),e=function(t){return{link:function(e){return e.requestOwnership=function(){return t.create("tg-lb-request-ownership",{"class":"lightbox lightbox-request-ownership"},{projectId:e.projectId})}},scope:{projectId:"=",owner:"="},templateUrl:"admin/admin-project-request-ownership.html"}},I.directive("tgAdminProjectRequestOwnership",["tgLightboxFactory",e]),t=function(t){return{link:function(e){return e.changeOwner=function(){return t.create("tg-lb-change-owner",{"class":"lightbox lightbox-select-user","project-id":"projectId","active-users":"activeUsers","current-owner-id":"currentOwnerId"},{projectId:e.projectId,activeUsers:e.activeUsers,currentOwnerId:e.owner.id,members:e.members})}},scope:{activeUsers:"=",projectId:"=",owner:"=",members:"="},templateUrl:"admin/admin-project-change-owner.html"}},I.directive("tgAdminProjectChangeOwner",["tgLightboxFactory",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v,y,b,S,j,k,I,E,T,C=function(t,e){function r(){this.constructor=t}for(var n in e)P.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},P={}.hasOwnProperty,w=function(t,e){return function(){return t.apply(e,arguments)}};I=this.taiga,j=this.taiga.mixOf,T=this.taiga.trim,E=this.taiga.toString,S=this.taiga.joinStr,b=this.taiga.groupBy,m=this.taiga.bindOnce,v=this.taiga.debounce,y=this.taiga.getDefaulColorList,k=angular.module("taigaAdmin"),p=function(t){function e(t,e,r,n,i,o,s,a,c,u,l,p,d){var f,h,g;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.appMetaService=u,this.translate=l,this.errorHandlingService=p,this.projectService=d,this.scope.project={},this.loadInitialData(),h=this.translate.instant(this.scope.sectionName),g=this.translate.instant("ADMIN.PROJECT_VALUES.PAGE_TITLE",{sectionName:h,projectName:this.scope.project.name}),f=this.scope.project.description,this.appMetaService.setAll(g,f)}return C(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","tgErrorHandlingService","tgProjectService"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.i_am_admin||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){var t;return t=this.loadProject()},e}(j(I.Controller,I.PageMixin)),k.controller("ProjectValuesSectionController",p),u=function(t){function e(t,e,r,n,i){var o;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.moveValue=w(this.moveValue,this),this.loadValues=w(this.loadValues,this),this.scope.$on("admin:project-values:move",this.moveValue),o=this.scope.$watch("resource",function(t){return function(e){if(e)return t.loadValues(),o()}}(this))}return C(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources"],e.prototype.loadValues=function(){return this.rs[this.scope.resource].listValues(this.scope.projectId,this.scope.type).then(function(t){return function(e){return e.length&&(t.scope.values=e,t.scope.maxValueOrder=_.maxBy(e,"order").order),e}}(this))},e.prototype.moveValue=function(t,e,r){var n,i;return i=this.scope.values,n=i.indexOf(e),i.splice(n,1),i.splice(r,0,e),_.each(i,function(t,e){return t.order=e}),this.repo.saveAll(i)},e}(I.Controller),k.controller("ProjectValuesController",u),s=function(t){function e(){return this.displayValues=w(this.displayValues,this),this.createDefaultValues=w(this.createDefaultValues,this),this.loadValues=w(this.loadValues,this),e.__super__.constructor.apply(this,arguments)}return C(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources"],e.prototype.loadValues=function(){return this.rs[this.scope.resource].listValues(this.scope.projectId,this.scope.type).then(function(t){return function(e){return e.length?(t.scope.maxValueOrder=_.maxBy(e,"order").order,t.displayValues(e)):t.createDefaultValues(),e}}(this))},e.prototype.createDefaultValues=function(){if(null!=this.rs[this.scope.resource].createDefaultValues)return this.rs[this.scope.resource].createDefaultValues(this.scope.projectId,this.scope.type).then(function(t){return function(e){var r;return r=e.data,r.length&&(t.scope.maxValueOrder=_.maxBy(r,"order").order,t.displayValues(r)),r}}(this))},e.prototype.displayValues=function(t){return _.each(t,function(t,e){return t.days_to_due_abs=null!==t.days_to_due?Math.abs(t.days_to_due):null,t.sign=t.days_to_due>=0?1:-1}),this.scope.values=t},e}(u),k.controller("ProjectDueDatesValuesController",s),l=function(t,e,r,n,i,o,s,a){var c,u,l;return u=function(t,e,r){var n,i,o,s,a,c;return s=null,o=null,i=null,c=e.find(".sortable"),n=dragula([c[0]],{direction:"vertical",copySortSource:!1,copy:!1,mirrorContainer:c[0],moves:function(t){return $(t).is("div[tg-bind-scope]")}}),n.on("dragend",function(e){var r,n;return i=$(e),n=i.scope().value,r=i.index(),t.$broadcast("admin:project-values:move",n,r)}),a=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&n.dragging}}),t.$on("$destroy",function(){return e.off(),n.destroy()})},l=function(t,n,i){var c,u,l,p,d,f,h,g,m;return c=n.controller(),m=i.type,f=i.objname,p=function(){return t.newValue={name:"",is_closed:!1,is_archived:!1}},d=function(){return t.addNewElementText=o.instant("ADMIN.PROJECT_VALUES_"+f.toUpperCase()+".ACTION_ADD")},p(),d(),s.$on("$translateChangeEnd",function(){return t.$evalAsync(d)}),l=function(t){return function(t){var e;if(null==t&&(t=!1),e=n.find(".table-main"),$(document.body).scrollTop(e.offset().top+e.height()),t)return n.find(".new-value input:visible").first().focus()}}(this),g=function(t){var r,n,i,o;if(n=t.parents("form"),r=n.checksley(),r.validate())return o=n.scope().value,i=e.save(o),i.then(function(e){return function(){var e;return e=t.parents(".row.table-main"),e.addClass("hidden"),e.siblings(".visualization").removeClass("hidden"),a.fetchProject()}}(this)),i.then(null,function(t){return r.setErrors(t)})},h=function(r){var n,i,o;if(i=r.parents("form"),n=i.checksley(),n.validate())return t.newValue.project=t.project.id,t.newValue.order=t.maxValueOrder?t.maxValueOrder+1:1,o=e.create(m,t.newValue),o.then(function(e){return r.addClass("hidden"),t.values.push(e),t.maxValueOrder=e.order,p()}),o.then(null,function(t){return n.setErrors(t)})},u=function(e){var r,n,i;return n=e.parents(".row.table-main"),r=e.parents("form"),i=r.scope().value,t.$apply(function(){return n.addClass("hidden"),i.revert(),n.siblings(".visualization").removeClass("hidden")})},n.on("click",".show-add-new",function(t){return t.preventDefault(),n.find(".new-value").removeClass("hidden"),l(!0)}),n.on("click",".add-new",v(2e3,function(t){var e;return t.preventDefault(),e=n.find(".new-value"),h(e)})),n.on("click",".delete-new",function(t){return t.preventDefault(),n.find(".new-value").addClass("hidden"),p()}),n.on("click",".edit-value",function(t){var e,r,n;return t.preventDefault(),n=angular.element(t.currentTarget),r=n.parents(".row.table-main"),r.addClass("hidden"),e=r.siblings(".edition"),e.removeClass("hidden"),e.find("input:visible").first().focus().select()}),n.on("keyup",".new-value input",function(t){var e;return 13===t.keyCode?(e=n.find(".new-value"),h(e)):27===t.keyCode?(n.find(".new-value").addClass("hidden"),p()):void 0}),n.on("click",".save",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),g(e)}),n.on("click",".cancel",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),u(e)}),n.on("click",".delete-value",function(n){var i,s,a,u,l,p,d;return n.preventDefault(),u=angular.element(n.currentTarget),s=u.parents("form"),d=s.scope().value,i={},_.each(t.values,function(t){if(d.id!==t.id)return i[t.id]=t.name}),a=d.name,0===_.keys(i).length?r.error(o.instant("ADMIN.PROJECT_VALUES.ERROR_DELETE_ALL")):(p=o.instant("ADMIN.COMMON.TITLE_ACTION_DELETE_VALUE"),l=o.instant("ADMIN.PROJECT_VALUES.REPLACEMENT"),r.askChoice(p,a,i,l).then(function(t){ -var n,i;return i=function(){return c.loadValues()["finally"](function(){return t.finish()})},n=function(){return r.notify("error")},e.remove(d,{moveTo:t.selected}).then(i,n)}))})},c=function(t,e,r){return u(t,e,r),l(t,e,r),t.$on("$destroy",function(){return e.off()})},{link:c}},k.directive("tgProjectValues",["$log","$tgRepo","$tgConfirm","$tgLocation","animationFrame","$translate","$rootScope","tgProjectService",l]),o=function(t,e,r,n,i,o,s,a){var c,u;return u=l(t,e,r,n,i,o,s,a),c=function(t,n,i){var s,a,c,u,l;return l=i.type,c=function(){return t.newValue={name:"",days_to_due:0,sign:1}},c(),s=function(t){return t.days_to_due=t.days_to_due_abs*t.sign},a=function(t){var e,r,n;return n=angular.element(t.currentTarget),r=n.parents(".row.table-main"),e=n.parents("form"),e.scope().value?e.scope().value:e.scope().newValue},u=function(r){var n,i,o;if(i=r.parents("form"),n=i.checksley(),n.validate())return t.newValue.project=t.project.id,t.newValue.order=t.maxValueOrder?t.maxValueOrder+1:1,o=e.create(l,t.newValue),o.then(function(e){return r.addClass("hidden"),e.sign=t.newValue.sign,e.days_to_due_abs=t.newValue.days_to_due_abs,t.values.push(e),c()}),o.then(null,function(t){return n.setErrors(t)})},n.on("input",".days-to-due-abs",function(e){var r;return e.preventDefault(),r=a(e),t.$apply(function(){return s(r)})}),n.on("click",".days-to-due-sign",function(e){var r;return e.preventDefault(),r=a(e),t.$apply(function(){return r.sign=r.sign*-1,s(r)})}),n.on("click",".add-new-due-date",v(2e3,function(t){var e;return t.preventDefault(),e=n.find(".new-value"),u(e)})),n.on("click",".delete-due-date",function(t){var n,i,s,a,c;return t.preventDefault(),s=angular.element(t.currentTarget),n=s.parents("form"),c=n.scope().value,a=o.instant("LIGHTBOX.ADMIN_DUE_DATES.TITLE_ACTION_DELETE_DUE_DATE"),i=o.instant("LIGHTBOX.ADMIN_DUE_DATES.SUBTITLE_ACTION_DELETE_DUE_DATE",{due_date_status_name:c.name}),r.ask(a,i).then(function(t){var n,i;return i=function(){return $ctrl.loadValues()["finally"](function(){return t.finish()})},n=function(){return r.notify("error")},e.remove(c).then(i,n)})})},{link:function(t,e,r){return u.link(t,e,r),c(t,e,r)}}},k.directive("tgProjectDueDatesValues",["$log","$tgRepo","$tgConfirm","$tgLocation","animationFrame","$translate","$rootScope","tgProjectService",o]),t=function(){var t;return t=function(t,e,r,n){var i;return t.colorList=y(),t.allowEmpty=!1,r.tgAllowEmpty&&(t.allowEmpty=!0),i=e.controller(),t.$watch(r.ngModel,function(e){return t.color=e.color}),e.on("click",".current-color",function(t){var r,n;return t.preventDefault(),t.stopPropagation(),n=angular.element(t.currentTarget),$(".select-color").hide(),n.siblings(".select-color").show(),r=angular.element("body"),r.on("click",function(t){return function(t){if(0===angular.element(t.target).parent(".select-color").length)return e.find(".select-color").hide(),r.unbind("click")}}(this))}),e.on("click",".select-color .color",function(r){var i;return r.preventDefault(),i=angular.element(r.currentTarget),t.$apply(function(){return n.$modelValue.color=i.data("color")}),e.find(".select-color").hide()}),e.on("click",".select-color .selected-color",function(r){return r.preventDefault(),t.$apply(function(){return n.$modelValue.color=t.color}),e.find(".select-color").hide()}),e.on("keyup","input",function(r){return r.stopPropagation(),13===r.keyCode?(t.$apply(function(){return n.$modelValue.color=t.color}),e.find(".select-color").hide()):27===r.keyCode?e.find(".select-color").hide():void 0}),t.$on("$destroy",function(){return e.off()})},{link:t,require:"ngModel"}},k.directive("tgColorSelection",t),f="text",r="multiline",d="richtext",e="date",g="url",h=[{key:f,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_TEXT"},{key:r,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_MULTI"},{key:d,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT"},{key:e,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_DATE"},{key:g,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_URL"}],n=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p,d,f;this.scope=t,this.rootscope=e,this.repo=r,this.rs=n,this.params=i,this.q=o,this.location=s,this.navUrls=a,this.appMetaService=c,this.translate=u,this.projectService=l,this.moveCustomAttributes=w(this.moveCustomAttributes,this),this.deleteCustomAttribute=w(this.deleteCustomAttribute,this),this.saveCustomAttribute=w(this.saveCustomAttribute,this),this.createCustomAttribute=w(this.createCustomAttribute,this),this.loadCustomAttributes=w(this.loadCustomAttributes,this),this.scope.TYPE_CHOICES=h,this.scope.project=this.projectService.project.toJS(),this.scope.projectId=this.scope.project.id,d=this.translate.instant(this.scope.sectionName),f=this.translate.instant("ADMIN.CUSTOM_ATTRIBUTES.PAGE_TITLE",{sectionName:d,projectName:this.scope.project.name}),p=this.scope.project.description,this.appMetaService.setAll(f,p),this.scope.init=function(t){return function(e){return t.scope.type=e,t.loadCustomAttributes()}}(this)}return C(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadCustomAttributes=function(){return this.rs.customAttributes[this.scope.type].list(this.scope.projectId).then(function(t){return function(e){var r;return t.scope.customAttributes=e,t.scope.maxOrder=null!=(r=_.maxBy(e,"order"))?r.order:void 0,e}}(this))},e.prototype.createCustomAttribute=function(t){return this.repo.create("custom-attributes/"+this.scope.type,t)},e.prototype.saveCustomAttribute=function(t){return this.repo.save(t)},e.prototype.deleteCustomAttribute=function(t){return this.repo.remove(t)},e.prototype.moveCustomAttributes=function(t,e){var r,n;return r=this.scope.customAttributes,n=r.indexOf(t),r.splice(n,1),r.splice(e,0,t),_.each(r,function(t,e){return t.order=e}),this.repo.saveAll(r)},e}(j(I.Controller,I.PageMixin)),k.controller("ProjectCustomAttributesController",n),i=function(t,e,r,n){var i;return i=function(t,r,i){var o,s,a,c,u,l,p,d,f,h,g,m,y,_,b,S,j,k;return o=r.controller(),t.$on("$destroy",function(){return r.off()}),j=r.find(".js-sortable"),l=dragula([j[0]],{direction:"vertical",copySortSource:!1,copy:!1,mirrorContainer:j[0],moves:function(t){return $(t).is("div[tg-bind-scope]")}}),l.on("dragend",function(t){var e,r,n;return r=$(t),e=r.scope().attr,n=r.index(),o.moveCustomAttributes(e,n)}),b=function(){return r.find(".js-new-custom-field").removeClass("hidden"),r.find(".js-new-custom-field input:visible").first().focus()},f=function(){return r.find(".js-new-custom-field").addClass("hidden")},y=function(){return r.find(".js-add-custom-field-button").removeClass("hidden")},p=function(){return r.find(".js-add-custom-field-button").addClass("hidden")},_=function(){return r.find(".js-cancel-new-custom-field-button").removeClass("hidden")},d=function(){return r.find(".js-cancel-new-custom-field-button").addClass("hidden")},g=function(){return t.newAttr={}},c=function(r){var n,i,s,a;if(i=r.checksley(),i.validate())return a=function(t){return function(){return o.loadCustomAttributes(),f(),g(),e.notify("success")}}(this),s=function(t){return function(t){return i.setErrors(t)}}(this),n=t.newAttr,n.project=t.projectId,n.order=t.maxOrder?t.maxOrder+1:1,o.createCustomAttribute(n).then(a,s)},s=function(){return f(),g()},t.$watch("customAttributes",function(t){if(t)return 0===t.length?(d(),p(),b()):(f(),y(),_())}),r.on("click",".js-add-custom-field-button",function(t){return t.preventDefault(),b()}),r.on("click",".js-create-custom-field-button",v(2e3,function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),c(e)})),r.on("click",".js-cancel-new-custom-field-button",function(t){return t.preventDefault(),s()}),r.on("keyup",".js-new-custom-field input",function(t){var e,r;return 13===t.keyCode?(r=angular.element(t.currentTarget),e=r.closest("form"),c(e)):27===t.keyCode?s():void 0}),S=function(t){return t.find(".js-view-custom-field").addClass("hidden"),t.find(".js-edit-custom-field").removeClass("hidden"),t.find(".js-edit-custom-field input:visible").first().focus().select()},h=function(t){return t.find(".js-edit-custom-field").addClass("hidden"),t.find(".js-view-custom-field").removeClass("hidden")},m=function(e){return t.$apply(function(){return e.scope().attr.revert()})},k=function(t){var r,n,i,s;if(n=t.checksley(),n.validate())return s=function(r){return function(){return o.loadCustomAttributes(),h(t),e.notify("success")}}(this),i=function(t){return function(t){return n.setErrors(t)}}(this),r=t.scope().attr,o.saveCustomAttribute(r).then(s,i)},a=function(t){return h(t),m(t)},r.on("click",".js-edit-custom-field-button",function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),S(e)}),r.on("click",".js-update-custom-field-button",v(2e3,function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),k(e)})),r.on("click",".js-cancel-edit-custom-field-button",function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),a(e)}),r.on("keyup",".js-edit-custom-field input",function(t){var e,r;return 13===t.keyCode?(r=angular.element(t.currentTarget),e=r.closest("form"),k(e)):27===t.keyCode?(r=angular.element(t.currentTarget),e=r.closest("form"),a(e)):void 0}),u=function(t){var r,i,s,a;return r=t.scope().attr,i=r.name,a=n.instant("COMMON.CUSTOM_ATTRIBUTES.DELETE"),s=n.instant("COMMON.CUSTOM_ATTRIBUTES.CONFIRM_DELETE"),e.ask(a,s,i).then(function(t){var n,s;return s=function(){return o.loadCustomAttributes()["finally"](function(){return t.finish()})},n=function(){return e.notify("error",null,"We have not been able to delete '"+i+"'.")},o.deleteCustomAttribute(r).then(s,n)})},r.on("click",".js-delete-custom-field-button",v(2e3,function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),u(e)}))},{link:i}},k.directive("tgProjectCustomAttributes",["$log","$tgConfirm","animationFrame","$translate",i]),a=function(t){function e(t,e,r,n,i,o,s){this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.model=o,this.projectService=s,this.mixingClass=w(this.mixingClass,this),this.cancelMixingTags=w(this.cancelMixingTags,this),this.confirmMixingTags=w(this.confirmMixingTags,this),this.toggleMixingFromTags=w(this.toggleMixingFromTags,this),this.startMixingTags=w(this.startMixingTags,this),this.deleteTag=w(this.deleteTag,this),this.editTag=w(this.editTag,this),this.createTag=w(this.createTag,this),this.filterAndSortTags=w(this.filterAndSortTags,this),this.loadTags=w(this.loadTags,this),this.loading=!0,this.loadTags()}return C(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$tgModel","tgProjectService"],e.prototype.loadTags=function(){var t;return t=this.projectService.project.toJS(),this.rs.projects.tagsColors(t.id).then(function(t){return function(e){return t.scope.projectTagsAll=_.map(e.getAttrs(),function(e,r){return t.model.make_model("tag",{name:r,color:e})}),t.filterAndSortTags(),t.loading=!1}}(this))},e.prototype.filterAndSortTags=function(){return this.scope.projectTags=_.sortBy(this.scope.projectTagsAll,function(t){return t.name.toLowerCase()}),this.scope.projectTags=_.filter(this.scope.projectTags,function(t){return function(e){return e.name.indexOf(t.scope.tagsFilter.name)!==-1}}(this))},e.prototype.createTag=function(t,e){return this.rs.projects.createTag(this.scope.projectId,t,e)},e.prototype.editTag=function(t,e,r){return t===e&&(e=null),this.rs.projects.editTag(this.scope.projectId,t,e,r)},e.prototype.deleteTag=function(t){return this.scope.loadingDelete=!0,this.rs.projects.deleteTag(this.scope.projectId,t)["finally"](function(t){return function(){return t.scope.loadingDelete=!1}}(this))},e.prototype.startMixingTags=function(t){return this.scope.mixingTags.toTag=t.name},e.prototype.toggleMixingFromTags=function(t){var e;if(t.name!==this.scope.mixingTags.toTag)return e=this.scope.mixingTags.fromTags.indexOf(t.name),e===-1?this.scope.mixingTags.fromTags.push(t.name):this.scope.mixingTags.fromTags.splice(e,1)},e.prototype.confirmMixingTags=function(){var t,e;return e=this.scope.mixingTags.toTag,t=this.scope.mixingTags.fromTags,this.scope.loadingMixing=!0,this.rs.projects.mixTags(this.scope.projectId,e,t).then(function(t){return function(){return t.cancelMixingTags(),t.loadTags()}}(this))["finally"](function(t){return function(){return t.scope.loadingMixing=!1}}(this))},e.prototype.cancelMixingTags=function(){return this.scope.mixingTags.toTag=null,this.scope.mixingTags.fromTags=[]},e.prototype.mixingClass=function(t){if(null!==this.scope.mixingTags.toTag){if(t.name===this.scope.mixingTags.toTag)return"mixing-tags-to";if(this.scope.mixingTags.fromTags.indexOf(t.name)!==-1)return"mixing-tags-from"}},e}(I.Controller),k.controller("ProjectTagsController",a),c=function(t,e,r,n,i,o,s){var a;return a=function(t,e,n){var i,a,c,u,l,p,d,f,h,g,m,y;return a=$(window),i=e.controller(),y=n.type,h=n.objname,p=function(){return t.newValue={tag:"",color:""}},d=function(){return t.tagsFilter={name:""}},l=function(){return t.mixingTags={toTag:null,fromTags:[]}},f=function(){return t.addNewElementText=o.instant("ADMIN.PROJECT_VALUES_TAGS.ACTION_ADD")},p(),d(),l(),f(),s.$on("$translateChangeEnd",function(){return t.$evalAsync(f)}),u=function(t){return function(t){var r;if(null==t&&(t=!1),r=e.find(".table-main"),$(document.body).scrollTop(r.offset().top+r.height()),t)return e.find(".new-value input:visible").first().focus()}}(this),m=function(e){return function(e){var r,n,o,s,a;if(n=e.parents("form"),r=n.checksley(),r.validate())return a=n.scope().tag,o=a.clone(),o.revert(),t.loadingEdit=!0,s=i.editTag(o.name,a.name,a.color),s.then(function(){return i.loadTags().then(function(){var r;return r=e.parents(".row.table-main"),r.addClass("hidden"),t.loadingEdit=!1,r.siblings(".visualization").removeClass("hidden")})}),s.then(null,function(e){return t.loadingEdit=!1,r.setErrors(e.data)})}}(this),g=function(e){return function(e){var r,n,o;if(n=e.parents("form"),n=e,r=n.checksley(),r.validate())return t.loadingCreate=!0,o=i.createTag(t.newValue.tag,t.newValue.color),o.then(function(r){return i.loadTags().then(function(){return t.loadingCreate=!1,e.addClass("hidden"),p()})}),o.then(null,function(e){return t.loadingCreate=!1,r.setErrors(e.data)})}}(this),c=function(e){var r,n,i;return n=e.parents(".row.table-main"),r=e.parents("form"),i=r.scope().tag,t.$apply(function(){return n.addClass("hidden"),i.revert(),n.siblings(".visualization").removeClass("hidden")})},t.$watch("tagsFilter.name",function(t){return i.filterAndSortTags()}),a.on("keyup",function(e){if(27===e.keyCode)return t.$apply(function(){return l()})}),e.on("click",".show-add-new",function(t){return t.preventDefault(),e.find(".new-value").removeClass("hidden")}),e.on("click",".add-new",v(2e3,function(t){var r;return t.preventDefault(),r=e.find(".new-value"),g(r)})),e.on("click",".delete-new",function(t){return t.preventDefault(),e.find(".new-value").addClass("hidden"),p()}),e.on("click",".mix-tags",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return i.startMixingTags(r.parents("form").scope().tag)})}),e.on("click",".mixing-row",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return i.toggleMixingFromTags(r.parents("form").scope().tag)})}),e.on("click",".mixing-confirm",function(e){return e.preventDefault(),e.stopPropagation(),t.$apply(function(){return i.confirmMixingTags()})}),e.on("click",".mixing-cancel",function(e){return e.preventDefault(),e.stopPropagation(),t.$apply(function(){return i.cancelMixingTags()})}),e.on("click",".edit-value",function(t){var e,r,n;return t.preventDefault(),n=angular.element(t.currentTarget),r=n.parents(".row.table-main"),r.addClass("hidden"),e=r.siblings(".edition"),e.removeClass("hidden"),e.find("input:visible").first().focus().select()}),e.on("keyup",".new-value input",function(t){var r;return 13===t.keyCode?(r=e.find(".new-value"),g(r)):27===t.keyCode?(e.find(".new-value").addClass("hidden"),p()):void 0}),e.on("keyup",".status-name input",function(t){var e;return e=angular.element(t.currentTarget),13===t.keyCode?m(e):27===t.keyCode?c(e):void 0}),e.on("click",".save",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),m(e)}),e.on("click",".cancel",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),c(e)}),e.on("click",".delete-tag",function(t){var e,n,s,a;return t.preventDefault(),s=angular.element(t.currentTarget),e=s.parents("form"),n=e.scope().tag,a=o.instant("ADMIN.COMMON.TITLE_ACTION_DELETE_TAG"),r.askOnDelete(a,n.name).then(function(t){var e,o;return o=function(){return i.loadTags()["finally"](function(){return t.finish()})},e=function(){return r.notify("error")},i.deleteTag(n.name).then(o,e)})}),t.$on("$destroy",function(){return e.off(),a.off()})},{link:a}},k.directive("tgProjectTags",["$log","$tgRepo","$tgConfirm","$tgLocation","animationFrame","$translate","$rootScope",c])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p=function(t,e){return function(){return t.apply(e,arguments)}},d=function(t,e){function r(){this.constructor=t}for(var n in e)f.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},f={}.hasOwnProperty,h=[].indexOf||function(t){for(var e=0,r=this.length;e\n
\n
<%- category.activePermissions %>/<%- category.permissions.length %>
\n <% _.each(category.permissions, function(permission) { %>\n
\n <% }) %>\n
\n'),o=_.template('
\n
\n
\n
\n
\n <% _.each(category.permissions, function(permission) { %>\n
\n \n
\n disabled="disabled" <% } %>\n <% if(permission.active) { %> checked="checked" <% } %>/>\n
\n \n \n
\n
\n <% }) %>\n
\n
\n
'),i=_.template('
'),a=function(a,u,l){var p,d,f,g,m;return p=u.controller(),d=function(t){var e,r,n,i,o,s,c,u,l,p;return s=function(e){return _.map(e,function(e){var r;return _.extend({},e,{active:(r=e.key,h.call(t.permissions,r)>=0)})})},n=function(t,e,r){return!(e.external_user&&!r.is_private&&0===t.key.indexOf("view_"))},c=function(e){return _.map(e,function(e){return e.permissions=e.permissions.map(function(e){return e.editable=n(e,t,a.project),e}),_.extend({},e,{activePermissions:_.filter(e.permissions,"active").length})})},e=[],r=[{key:"view_epics",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.VIEW_EPICS"},{key:"add_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.ADD_EPICS"},{key:"modify_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.MODIFY_EPICS"},{key:"comment_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.COMMENT_EPICS"},{key:"delete_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.DELETE_EPICS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.EPICS.NAME",permissions:s(r)}),o=[{key:"view_milestones",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.VIEW_SPRINTS"},{key:"add_milestone",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.ADD_SPRINTS"},{key:"modify_milestone",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.MODIFY_SPRINTS"},{key:"delete_milestone",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.DELETE_SPRINTS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.NAME",permissions:s(o)}),l=[{key:"view_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.VIEW_USER_STORIES"},{key:"add_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.ADD_USER_STORIES"},{key:"modify_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.MODIFY_USER_STORIES"},{key:"comment_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.COMMENT_USER_STORIES"},{key:"delete_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.DELETE_USER_STORIES"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.NAME",permissions:s(l)}),u=[{key:"view_tasks",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.VIEW_TASKS"},{key:"add_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.ADD_TASKS"},{key:"modify_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.MODIFY_TASKS"},{key:"comment_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.COMMENT_TASKS"},{key:"delete_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.DELETE_TASKS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.TASKS.NAME",permissions:s(u)}),i=[{key:"view_issues",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.VIEW_ISSUES"},{key:"add_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.ADD_ISSUES"},{key:"modify_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.MODIFY_ISSUES"},{key:"comment_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.COMMENT_ISSUES"},{key:"delete_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.DELETE_ISSUES"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.NAME",permissions:s(i)}),p=[{key:"view_wiki_pages",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_PAGES"},{key:"add_wiki_page",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_PAGES"},{key:"modify_wiki_page",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.MODIFY_WIKI_PAGES"},{key:"delete_wiki_page",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_PAGES"},{key:"view_wiki_links",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_LINKS"},{key:"add_wiki_link",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_LINKS"},{key:"delete_wiki_link",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_LINKS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.WIKI.NAME",permissions:s(p)}),c(e)},m=function(t,e){return t.find(".resume").html(n(c({category:e}))(a))},f=function(t,e){var r;return r=o({category:t,index:e}),r=angular.element(r),m(r,t),n(r)(a)},g=function(){var n;return u.off(),n=i(),_.each(d(a.role),function(t,e){return n=angular.element(n).append(f(t,e))}),u.html(n),u.on("click",".resume",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),e.toggleClass("open-drawer"),e.next().toggleClass("open")}),u.on("change",".category-item input",function(n){var i,o,s,c;return i=function(){var t;return t=_.filter(u.find(".category-item input"),function(t){return angular.element(t).is(":checked")}),t=_.sortBy(_.map(t,function(t){var e;return e=angular.element(t).parents(".category-item").data("id")})),t.length&&t.push("view_project"),t},c=angular.element(n.currentTarget),a.role.permissions=i(),s=function(){var e,n;return e=d(a.role),n=c.parents(".category-config").data("id"),m(c.parents(".category-config"),e[n]),t.$broadcast("projects:reload"),r.notify("success"),p.forceLoadProject()},o=function(){return r.notify("error"),c.prop("checked",!c.prop("checked")),a.role.permissions=i()},a.role.external_user?(a.project.public_permissions=a.role.permissions,a.project.anon_permissions=a.role.permissions.filter(function(t){return 0===t.indexOf("view_")}),e.save(a.project).then(s,o)):e.save(a.role).then(s,o)})},a.$on("$destroy",function(){return u.off()}),a.$on("role:changed",function(){return g()}),s(a,l.ngModel,g)},{link:a}},u.directive("tgRolePermissions",["$rootScope","$tgRepo","$tgConfirm","$compile",r])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v,y,b=function(t,e){function r(){this.constructor=t}for(var n in e)S.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},S={}.hasOwnProperty;v=this.taiga,g=this.taiga.mixOf,f=this.taiga.bindMethods,h=this.taiga.debounce,y=this.taiga.timeout,m=angular.module("taigaAdmin"),d=function(t){function e(t,e,r,n,i,o,s,a,c,u){var l;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.location=i,this.navUrls=o,this.appMetaService=s,this.translate=a,this.errorHandlingService=c,this.projectService=u,f(this),this.scope.sectionName="ADMIN.WEBHOOKS.SECTION_NAME",this.scope.project={},l=this.loadInitialData(),l.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.WEBHOOKS.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),l.then(null,this.onInitialDataError.bind(this)),this.scope.$on("webhooks:reload",this.loadWebhooks)}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","tgErrorHandlingService","tgProjectService"],e.prototype.loadWebhooks=function(){return this.rs.webhooks.list(this.scope.projectId).then(function(t){return function(e){return t.scope.webhooks=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.i_am_admin||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadWebhooks()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("WebhooksController",d),p=function(t,e,r,n,i){var o;return o=function(n,o,s){var a,c,u,l,p,d,f,g;return g=n.$eval(s.tgWebhook),d=function(){var e;return e=i.instant("ADMIN.WEBHOOKS.DATE"),t.webhooklogs.list(g.id).then(function(t){return function(t){var r,n,i,o; -for(r=0,n=t.length;r=1)return a.addClass("hidden")})}),s.on("click",function(t){return a.removeClass("hidden"),a.find("input")[0].focus()})},{link:o}},m.directive("tgNewWebhook",["$tgResources","$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",c]),r=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.GITHUB.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.GITHUB.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"github").then(function(t){return function(e){return t.scope.github=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("GithubController",r),i=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.GITLAB.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.GITLAB.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this)),this.scope.$on("project:modules:reload",function(t){return function(){return t.loadModules()}}(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"gitlab").then(function(t){return function(e){return t.scope.gitlab=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("GitlabController",i),t=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.BITBUCKET.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.BITBUCKET.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this)),this.scope.$on("project:modules:reload",function(t){return function(){return t.loadModules()}}(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"bitbucket").then(function(t){return function(e){return t.scope.bitbucket=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("BitbucketController",t),u=function(t,e){var r;return r=function(r,n,i){return n.on("click",".select-input-content",function(){var r;if(r=n.find("input"),r.val())return r.select(),document.execCommand("copy"),e.notify("success",t.instant("COMMON.COPIED_TO_CLIPBOARD"))})},{link:r}},m.directive("tgSelectInputText",["$translate","$tgConfirm",u]),n=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=h(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.github,"github"),c.then(function(){return n.trackEvent("github-webhook","created-or-changed","Create or changed github webhook",1),s.finish(),e.notify("success")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c)},{link:i}},m.directive("tgGithubWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",n]),o=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=h(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.gitlab,"gitlab"),c.then(function(){return n.trackEvent("gitlab-webhook","created-or-changed","Create or changed gitlab webhook",1),s.finish(),e.notify("success"),i.$emit("project:modules:reload")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c)},{link:i}},m.directive("tgGitlabWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",o]),e=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=h(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.bitbucket,"bitbucket"),c.then(function(){return n.trackEvent("bitbucket-webhook","created-or-changed","Create or changed bitbucket webhook",1),s.finish(),e.notify("success"),i.$emit("project:modules:reload")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c)},{link:i}},m.directive("tgBitbucketWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",e]),l=function(){var t;return t=function(t,e,r,n){return n.$parsers.push(function(t){return t=$.trim(t),""===t?[]:t.split(",")})},{link:t,restrict:"EA",require:"ngModel"}},m.directive("tgValidOriginIps",l),s=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.GOGS.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.GOGS.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"gogs").then(function(t){return function(e){return t.scope.gogs=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),a=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=h(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.gogs,"gogs"),c.then(function(){return n.trackEvent("gogs-webhook","create-or-change","Create or change gogs webhook",1),s.finish(),e.notify("success"),i.$emit("project:modules:reload")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c),o.on("click",".submit-button",c)},{link:i}},m.controller("GogsController",s),m.directive("tgGogsWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",a])}.call(this),function(){var t,e,r,n,i,o;i=this.taiga,e=this.taiga.bindOnce,o=this.taiga.timeout,r=this.taiga.debounce,n=angular.module("taigaProject"),t=function(t,e,r,n,i,o,s,a,c,u){var l;return l=function(r,l,p){var d,f;return d=null,r.$on("deletelightbox:new",function(t,e){return s.open(l),d=e}),r.$on("$destroy",function(){return l.off()}),f=function(){var r;return a.start(),s.close(l),r=t.remove(d),r.then(function(t){return u.trackEvent("projects","delete","Delete project",1),a.pageLoaded(),e.$broadcast("projects:reload"),n.path(i.resolve("home")),o.notify("success"),c.loadProjects()}),r.then(null,function(){return o.notify("error"),s.close(l)})},l.on("click",".button-red",function(t){return t.preventDefault(),s.close(l)}),l.on("click",".button-green",function(t){return t.preventDefault(),f()})},{link:l}},n.directive("tgLbDeleteProject",["$tgRepo","$rootScope","$tgAuth","$tgLocation","$tgNavUrls","$tgConfirm","lightboxService","tgLoader","tgCurrentUserService","$tgAnalytics",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l;u=this.taiga.bindOnce,r=function(){var t;return t=function(t,e,r){return u(t,r.tgBoBind,function(t){return e.text(t)})},{link:t}},i=function(){var t;return t=function(t,e,r){return u(t,r.tgBoHtml,function(t){return e.html(t)})},{link:t}},o=function(){var t;return t=function(t,e,r){return u(t,r.tgBoRef,function(t){return e.html("#"+t+" ")})},{link:t}},s=function(){var t;return t=function(t,e,r){return u(t,r.tgBoSrc,function(t){return e.attr("src",t)})},{link:t}},n=function(){var t;return t=function(t,e,r){return u(t,r.tgBoHref,function(t){return e.attr("href",t)})},{link:t}},e=function(){var t;return t=function(t,e,r){return u(t,r.tgBoAlt,function(t){return e.attr("alt",t)})},{link:t}},a=function(){var t;return t=function(t,e,r){return u(t,r.tgBoTitle,function(t){return e.attr("title",t)})},{link:t}},c=function(){var t;return t=function(t,e,r){return t.$watch(r.tgTitleHtml,function(t){if(null!=t)return e.attr("title",t)})},{link:t}},t=function(){var t;return t=function(t,e,r){return t.$watch(r.tgBindHtml,function(t){if(null!=t)return e.html(t)})},{link:t}},l=angular.module("taigaBase"),l.directive("tgBoBind",r),l.directive("tgBoHtml",i),l.directive("tgBoRef",o),l.directive("tgBoSrc",s),l.directive("tgBoHref",n),l.directive("tgBoAlt",e),l.directive("tgBoTitle",a),l.directive("tgBindTitle",c),l.directive("tgBindHtml",t)}.call(this),function(){var t,e;t=function(){function t(){this.config=window.taigaConfig}return t.prototype.get=function(t,e){return null==e&&(e=null),_.has(this.config,t)?this.config[t]:e},t}(),e=angular.module("taigaBase"),e.service("$tgConfig",t)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=angular.module("taigaBase"),t=function(t){function e(t,e,r,n,i,o,s){this.rootScope=t,this.scope=e,this.params=r,this.repo=n,this.rs=i,this.confirm=o,this.projectService=s,this.scope.currentPlugin=_.head(_.filter(this.rootScope.adminPlugins,{slug:this.params.plugin})),this.scope.projectSlug=this.params.pslug,this.loadInitialData()}return n(e,t),e.$inject=["$rootScope","$scope","$routeParams","$tgRepo","$tgResources","$tgConfirm","tgProjectService"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.$broadcast("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject()},e}(taiga.Controller),r.controller("ContribController",t),e=function(t){function e(t,e,r){this.rootScope=t,this.scope=e,this.params=r,this.scope.currentPlugin=_.head(_.filter(this.rootScope.userSettingsPlugins,{slug:this.params.plugin}))}return n(e,t),e.$inject=["$rootScope","$scope","$routeParams"],e}(taiga.Controller),r.controller("ContribUserSettingsController",e)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga,t=function(t){function e(t,e){this.storage=t,this.params=e}return r(e,t),e.$inject=["$tgStorage","$routeParams"],e.prototype.generateHash=function(t){return null==t&&(t=[]),t=_.map(t,function(t){return JSON.stringify(t)}),hex_sha1(t.join(":"))},e}(e.Service)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,t=function(t){function e(t,r,n,i,o,s){this.http=t,this.q=r,this.storage=n,this.rootScope=i,this.cacheFactory=o,this.translate=s,e.__super__.constructor.call(this),this.cache=this.cacheFactory("httpget")}return n(e,t),e.$inject=["$http","$q","$tgStorage","$rootScope","$cacheFactory","$translate"],e.prototype.headers=function(){var t,e,r;return t={},r=this.storage.get("token"),r&&(t.Authorization="Bearer "+r),e=this.translate.preferredLanguage(),e&&(t["Accept-Language"]=e),t},e.prototype.request=function(t){return t.headers=_.assign({},t.headers||{},this.headers()),this.http(t)},e.prototype.get=function(t,e,r){return r=_.assign({method:"GET",url:t},r),e&&(r.params=e),r.cache=this.cache,this.request(r)["finally"](function(t){return function(e){return t.cache.removeAll()}}(this))},e.prototype.post=function(t,e,r,n){return n=_.assign({method:"POST",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e.prototype.put=function(t,e,r,n){return n=_.assign({method:"PUT",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e.prototype.patch=function(t,e,r,n){return n=_.assign({method:"PATCH",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e.prototype["delete"]=function(t,e,r,n){return n=_.assign({method:"DELETE",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e}(r.Service),e=angular.module("taigaBase"),e.service("$tgHttp",t)}.call(this),function(){var t,e;t=function(t,e,r){return t.noreload=function(r){var n,i;return n=e.current,i=r.$on("$locationChangeSuccess",function(){return e.current=n,i()}),t},t.isInCurrentRouteParams=function(e,r){var n;return n=t.search()||{},n[e]===r},t},e=angular.module("taigaBase"),e.factory("$tgLocation",["$location","$route","$rootScope",t])}.call(this),function(){var t,e,r,n,i,o=[].indexOf||function(t){for(var e=0,r=this.length;ef?(p=a.instant("PROJECT.IMPORT.ERROR_MAX_SIZE_EXCEEDED",{fileName:e.name,fileSize:r(e.size),maxFileSize:r(f)}),h={status:413,data:{_error_message:p}},l.reject(h),l.promise):(v=function(t){return function(t){var e,i;return i=Math.round(t.loaded/t.total*100),e=a.instant("PROJECT.IMPORT.UPLOAD_IN_PROGRESS_MESSAGE",{uploadedSize:r(t.loaded),totalSize:r(t.total)}),n("in-progress",null,e,i)}}(this),g=function(t){return function(t){return n("done",a.instant("PROJECT.IMPORT.TITLE"),a.instant("PROJECT.IMPORT.DESCRIPTION"))}}(this),m=function(t){return function(t){return n("error")}}(this),c=function(t){return function(t){var e;h={};try{h.data=JSON.parse(t.target.responseText)}catch(r){h.data={}}return h.status=t.target.status,t.target.getResponseHeader("Taiga-Info-Project-Is-Private")&&(h.headers={isPrivate:"True"===t.target.getResponseHeader("Taiga-Info-Project-Is-Private"),memberships:parseInt(t.target.getResponseHeader("Taiga-Info-Project-Memberships"))}),201!==(e=h.status)&&202!==e||l.resolve(h),l.reject(h)}}(this),d=function(t){return function(t){return l.reject("fail")}}(this),u=new FormData,u.append("dump",e),y=new XMLHttpRequest,y.upload.addEventListener("progress",v,!1),y.upload.addEventListener("load",g,!1),y.upload.addEventListener("error",m,!1),y.upload.addEventListener("abort",m,!1),y.addEventListener("load",c,!1),y.addEventListener("error",d,!1),y.open("POST",i.resolve("importer")),y.setRequestHeader("Authorization","Bearer "+o.getToken()),y.setRequestHeader("Accept","application/json"),y.send(u),l.promise)},c.changeLogo=function(e,o){var a,c,u,l,p,d;return u=t.get("maxUploadFileSize",null),u&&o.size>u?(p={status:413,data:{_error_message:"'"+o.name+"' ("+r(o.size)+") is too heavy for our oompa loompas, try it with a smaller than ("+r(u)+")"}},c=s.defer(),c.reject(p),c.promise):(a=new FormData,a.append("logo",o),l={transformRequest:angular.identity,headers:{"Content-Type":void 0}},d=i.resolve("projects")+"/"+e+"/change_logo",n.post(d,a,{},l))},c.removeLogo=function(t){var e;return e=i.resolve("projects")+"/"+t+"/remove_logo",n.post(e)},function(t){return t.projects=c}},t=angular.module("taigaResources"),t.factory("$tgProjectsResourcesProvider",["$tgConfig","$tgRepo","$tgHttp","$tgUrls","$tgAuth","$q","$translate",e])}.call(this),function(){var t,e,r;r=this.taiga,e=function(t,e,r){var n;return n={},n.get=function(e){return t.queryOne("roles",e)},n.list=function(e){return t.queryMany("roles",{project:e})},function(t){return t.roles=n}},t=angular.module("taigaResources"),t.factory("$tgRolesResourcesProvider",["$tgRepo","$tgHttp","$tgUrls",e])}.call(this),function(){var t,e,r;r=this.taiga,e=function(t,e,r,n){var i;return i={},i["do"]=function(t,i){var o,s,a,c;return o=n.defer(),c=e.resolve("search"),s={url:c,method:"GET",timeout:o.promise,cancelable:!0,params:{project:t,text:i,get_all:!1}},a=r.request(s).then(function(t){return t.data}),a.abort=function(){return o.resolve()},a["finally"]=function(){return a.abort=angular.noop,o=a=null},a},function(t){return t.search=i}},t=angular.module("taigaResources"),t.factory("$tgSearchResourcesProvider",["$tgRepo","$tgUrls","$tgHttp","$q",e])}.call(this),function(){var t,e,r,n;n=this.taiga,t=n.generateHash,r=function(t,e,r){var n;return n={},n.get=function(r,n){return t.queryOne("milestones",n).then(function(t){var r;return r=t.user_stories,r=_.map(r,function(t){return e.make_model("userstories",t)}),t._attrs.user_stories=r,t})},n.stats=function(e,r){return t.queryOneRaw("milestones",r+"/stats")},n.list=function(r,n){var i;return i={project:r},i=_.extend({},i,n||{}),t.queryMany("milestones",i,{},!0).then(function(t){return function(t){var r,n,i,o,s,a;for(s=t[0],r=t[1],n=0,i=s.length;nc?(l={status:413,data:{_error_message:"'"+e.name+"' ("+r(e.size)+") is too heavy for our oompa loompas, try it with a smaller than ("+r(c)+")"}},a=o.defer(),a.reject(l),a.promise):(s=new FormData,s.append("avatar",e),u={transformRequest:angular.identity,headers:{"Content-Type":void 0}},p=i.resolve("users")+"/change_avatar",n.post(p,s,{},u))},s.removeAvatar=function(){var t;return t=i.resolve("users")+"/remove_avatar",n.post(t)},s.changePassword=function(t,e){var r,o;return o=i.resolve("users")+"/change_password",r={current_password:t,password:e},n.post(o,r)},function(t){return t.userSettings=s}},t=angular.module("taigaResources"),t.factory("$tgUserSettingsResourcesProvider",["$tgConfig","$tgRepo","$tgHttp","$tgUrls","$q",e])}.call(this),function(){var t,e,r,n;n=this.taiga,r=this.taiga.sizeFormat,e=function(t,e){var r;return r={},r.contacts=function(r,n){var i,o;return null==n&&(n={}),o=e.resolve("user-contacts",r),i={headers:{}},n.enablePagination||(i.headers["x-disable-pagination"]="1"),t.get(o,{},i).then(function(t){return t.data})},function(t){return t.users=r}},t=angular.module("taigaResources"),t.factory("$tgUsersResourcesProvider",["$tgHttp","$tgUrls","$q",e])}.call(this),function(){var t,e,r,n;n=this.taiga,t=n.generateHash,r=function(e,r,n,i,o){var s,a;return a={},s="userstories-queryparams",a.get=function(t,r,n){var i;return i=a.getQueryParams(t),i.project=t,i=_.extend({},i,n),e.queryOne("userstories",r,i)},a.getByRef=function(t,r,n){var i;return null==n&&(n={}),i=a.getQueryParams(t),i.project=t,i.ref=r,i=_.extend({},i,n),e.queryOne("userstories","by_ref",i)},a.listInAllProjects=function(t){return e.queryMany("userstories",t)},a.filtersData=function(t){return e.queryOneRaw("userstories-filters",null,t)},a.listUnassigned=function(t,r,n){var i;return i={project:t,milestone:"null"},i=_.extend({},i,r||{}),a.storeQueryParams(t,i),e.queryMany("userstories",_.extend(i,{page_size:n}),{enablePagination:!0},!0)},a.listAll=function(t,r){var n;return n={project:t},n=_.extend({},n,r||{}),a.storeQueryParams(t,n),e.queryMany("userstories",n)},a.bulkCreate=function(t,e,i){var o,s;return o={project_id:t,status_id:e,bulk_stories:i},s=n.resolve("bulk-create-us"),r.post(s,o)},a.upvote=function(t){var e;return e=n.resolve("userstory-upvote",t),r.post(e)},a.downvote=function(t){var e;return e=n.resolve("userstory-downvote",t),r.post(e)},a.watch=function(t){var e;return e=n.resolve("userstory-watch",t),r.post(e)},a.unwatch=function(t){var e;return e=n.resolve("userstory-unwatch",t),r.post(e)},a.bulkUpdateBacklogOrder=function(t,e){var i,o;return o=n.resolve("bulk-update-us-backlog-order"),i={project_id:t,bulk_stories:e},r.post(o,i)},a.bulkUpdateMilestone=function(t,e,i){var o,s;return s=n.resolve("bulk-update-us-milestone"),o={project_id:t,milestone_id:e,bulk_stories:i},r.post(s,o)},a.bulkUpdateKanbanOrder=function(t,e,i){var o,s;return s=n.resolve("bulk-update-us-kanban-order"),o={project_id:t,status_id:e,bulk_stories:i},r.post(s,o)},a.listValues=function(t,r){var n;return n={project:t},a.storeQueryParams(t,n),e.queryMany(r,n)},a.createDefaultValues=function(t,e){var i,o;return i={project_id:t},o=n.resolve(e+"-create-default"),r.post(o,i)},a.storeQueryParams=function(e,r){var n,o;return o=e+":"+s,n=t([e,o]),i.set(n,r)},a.getQueryParams=function(e){var r,n;return n=e+":"+s,r=t([e,n]),i.get(r)||{}},a.storeShowTags=function(e,r){var n;return n=t([e,"showTags"]),i.set(n,r)},a.getShowTags=function(e){var r;return r=t([e,"showTags"]),i.get(r)||null},function(t){return t.userstories=a}},e=angular.module("taigaResources"),e.factory("$tgUserstoriesResourcesProvider",["$tgRepo","$tgHttp","$tgUrls","$tgStorage","$q",r])}.call(this),function(){var t,e;e=function(t,e,r){var n;return n={},n.list=function(e){var r;return r={webhook:e},t.queryMany("webhooklogs",r)},n.resend=function(t){var n;return n=e.resolve("webhooklogs-resend",t),r.post(n)},function(t){return t.webhooklogs=n}},t=angular.module("taigaResources"),t.factory("$tgWebhookLogsResourcesProvider",["$tgRepo","$tgUrls","$tgHttp",e])}.call(this),function(){var t,e;e=function(t,e,r){var n;return n={},n.list=function(e){var r;return r={project:e},t.queryMany("webhooks",r)},n.test=function(t){var n;return n=e.resolve("webhooks-test",t),r.post(n)},function(t){return t.webhooks=n}},t=angular.module("taigaResources"),t.factory("$tgWebhooksResourcesProvider",["$tgRepo","$tgUrls","$tgHttp",e])}.call(this),function(){var t,e,r;r=this.taiga,e=function(t,e,r){var n;return n={},n.get=function(e){return t.queryOne("wiki",e)},n.getBySlug=function(e,r){return t.queryOne("wiki","by_slug?project="+e+"&slug="+r)},n.list=function(e){return t.queryMany("wiki",{project:e})},n.listLinks=function(e){return t.queryMany("wiki-links",{project:e})},function(t){return t.wiki=n}},t=angular.module("taigaResources"),t.factory("$tgWikiResourcesProvider",["$tgRepo","$tgHttp","$tgUrls",e])}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){function r(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},a={}.hasOwnProperty;o=this.taiga,n=this.taiga.mixOf,r=this.taiga.debounce,i=angular.module("taigaUserSettings"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.auth=u,this.translate=l,this.scope.sectionName=this.translate.instant("CHANGE_PASSWORD.SECTION_NAME"),this.scope.user=this.auth.getUser()}return s(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","$translate"],e}(n(o.Controller,o.PageMixin)),i.controller("UserChangePasswordController",t),e=function(t,e,n,i){var o;return o=function(o,s,a,c){var u,l,p;return u=new checksley.Form(s.find("form")),l=r(2e3,function(r){return function(r){var s,a;if(r.preventDefault(),u.validate())return o.newPassword1!==o.newPassword2?void e.notify("error",i.instant("CHANGE_PASSWORD.ERROR_PASSWORD_MATCH")):(s=n().target(p).start(),a=t.userSettings.changePassword(o.currentPassword,o.newPassword1),a.then(function(){return s.finish(),e.notify("success")}),a.then(null,function(t){return s.finish(),e.notify("error",t.data._error_message)}))}}(this)),p=s.find(".submit-button"),s.on("submit","form",l),o.$on("$destroy",function(){return s.off()})},{link:o}},i.directive("tgUserChangePassword",["$tgResources","$tgConfirm","$tgLoading","$translate",e])}.call(this),function(){var t,e,r,n,i;i=this.taiga,e=this.taiga.bindOnce,r=this.taiga.debounce,n=angular.module("taigaUserSettings"),t=function(t,e,n,i,o,s,a){var c;return c=function(e,c,u){var l,p;return e.$on("deletelightbox:new",function(t,e){return s.open(c)}),e.$on("$destroy",function(){return c.off()}),l=function(){var r,u;return r=a().target(p).start(),u=t.remove(e.user),u.then(function(t){return r.finish(),s.close(c),n.logout(),i.path(o.resolve("login"))}),u.then(null,function(){return r.finish(),console.log("FAIL")})},c.on("click",".button-green",function(t){return t.preventDefault(),s.close(c)}),c.on("click",".button-red",r(2e3,function(t){return t.preventDefault(),l()})),p=c.find(".button-red")},{link:c,templateUrl:"user/lightbox/lightbox-delete-account.html"}},n.directive("tgLbDeleteUser",["$tgRepo","$rootScope","$tgAuth","$tgLocation","$tgNavUrls","lightboxService","$tgLoading",t])}.call(this),function(){var t,e,r,n,i,o,s,a=function(t,e){function r(){this.constructor=t}for(var n in e)c.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},c={}.hasOwnProperty;s=this.taiga,i=this.taiga.mixOf,n=this.taiga.bindOnce,o=angular.module("taigaUserSettings"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.auth=u,this.errorHandlingService=l,this.scope.sectionName="USER_SETTINGS.NOTIFICATIONS.LIVE_SECTION_NAME",this.scope.user=this.auth.getUser(),p=this.loadInitialData(),p.then(null,this.onInitialDataError.bind(this))}return a(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","tgErrorHandlingService"],e.prototype.loadInitialData=function(){return this.rs.notifyPolicies.list().then(function(t){return function(e){return t.scope.notifyPolicies=e,e}}(this))},e}(i(s.Controller,s.PageMixin)),o.controller("UserLiveNotificationsController",t),e=function(){var t;return t=function(t,e,r){return t.$on("$destroy",function(){return e.off()})},{link:t}},o.directive("tgUserLiveNotifications",e),r=function(t,e,r){var i,o;return o=_.template('<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\n
\n
<%- notifyPolicy.project_name %>
\n
\n
\n checked="checked"<% } %>/>\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n<% }) %>'),i=function(i,s,a){var c;return c=function(){var n,a;return s.off(),n={notifyPolicies:i.notifyPolicies},a=o(n),s.html(r(a)(i)),s.on("change","input[type=radio]",function(r){var n,o,s,a,c,u;return u=angular.element(r.currentTarget),a=u.parents(".policy-table-row").data("index"),s=i.notifyPolicies[a],c=s.live_notify_level,s.live_notify_level=parseInt(u.val(),10),o=function(){return e.notify("success")},n=function(){return e.notify("error"),u.parents(".policy-table-row").find("input[value="+c+"]").prop("checked",!0)},t.save(s).then(o,n)})},i.$on("$destroy",function(){return s.off()}),n(i,a.ngModel,c)},{link:i}},o.directive("tgUserLiveNotificationsList",["$tgRepo","$tgConfirm","$compile",r])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u=function(t,e){function r(){this.constructor=t}for(var n in e)l.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},l={}.hasOwnProperty;c=this.taiga,o=this.taiga.mixOf,a=this.taiga.sizeFormat,s=angular.module("taigaUserSettings"),i=this.taiga.debounce,n=function(t){function e(t,e,r,n,i,o,s,c,u,l,p,d,f,h){var g,m,v;this.scope=t,this.rootscope=e,this.config=r,this.repo=n,this.confirm=i,this.rs=o,this.params=s,this.q=c,this.location=u,this.navUrls=l,this.auth=p,this.translate=d,this.errorHandlingService=f,this.window=h,this.scope.sectionName="USER_SETTINGS.MENU.SECTION_TITLE",this.scope.project={},this.scope.user=this.auth.getUser(),this.scope.user||this.errorHandlingService.permissionDenied(),this.scope.lang=this.getLan(),this.scope.theme=this.getTheme(),g=this.config.get("maxUploadFileSize",null),g&&(v=this.translate.instant("USER_SETTINGS.AVATAR_MAX_SIZE",{maxFileSize:a(g)}),this.scope.maxFileSizeMsg=v),m=this.loadInitialData(),m.then(null,this.onInitialDataError.bind(this))}return u(e,t),e.$inject=["$scope","$rootScope","$tgConfig","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","$translate","tgErrorHandlingService","$window"],e.prototype.loadInitialData=function(){return this.scope.availableThemes=this.config.get("themes",[]),this.rs.locales.list().then(function(t){return function(e){return t.scope.locales=e,e}}(this))},e.prototype.openDeleteLightbox=function(){return this.rootscope.$broadcast("deletelightbox:new",this.scope.user)},e.prototype.getLan=function(){return this.scope.user.lang||this.translate.preferredLanguage()},e.prototype.getTheme=function(){return this.scope.user.theme||this.config.get("defaultTheme")||"taiga"},e.prototype.exportProfile=function(){var t,e;return e=function(t){var e;return e=t.data.url,this.window.open(e,"_blank")},t=function(t){return function(e){var r;if(null!=(r=e.data)?r._error_message:void 0)return t.confirm.notify("error",e.data._error_message)}}(this),this.auth.exportProfile().then(e,t)},e}(o(c.Controller,c.PageMixin)),s.controller("UserSettingsController",n),r=function(t,e,r,n){var o;return o=function(o,s,a){var c;return c=i(2e3,function(i){return function(i){var a,c,u,l;if(i.preventDefault(),c=s.find("form").checksley(),c.validate())return a=o.user.isAttributeModified("email"),o.user.lang=o.lang,o.user.theme=o.theme,l=function(r){var i;return e.setUser(r),a?(i=n.instant("USER_PROFILE.CHANGE_EMAIL_SUCCESS"),t.success(i)):t.notify("success")},u=function(e){return c.setErrors(e),t.notify("error",e._error_message)},r.save(o.user).then(l,u)}}(this)),s.on("submit","form",c),o.$on("$destroy",function(){return s.off()})},{link:o}},s.directive("tgUserProfile",["$tgConfirm","$tgAuth","$tgRepo","$translate",r]),e=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return u=function(){return o.find(".size-info").removeClass("hidden")},c=function(r){var s;return s=e.make_model("users",r.data),t.setUser(s),i.user=s,o.find(".loading-overlay").removeClass("active"),n.notify("success")},a=function(t){return 413===t.status&&u(),o.find(".loading-overlay").removeClass("active"),n.notify("error",t.data._error_message)},o.on("click",".js-change-avatar",function(){return o.find("#avatar-field").click()}),o.on("change","#avatar-field",function(t){if(i.avatarAttachment)return o.find(".loading-overlay").addClass("active"),r.userSettings.changeAvatar(i.avatarAttachment).then(c,a)}),o.on("click","a.js-use-gravatar",function(t){return o.find(".loading-overlay").addClass("active"),r.userSettings.removeAvatar().then(c,a)}),i.$on("$destroy",function(){return o.off()})},{link:i}},s.directive("tgUserAvatar",["$tgAuth","$tgModel","$tgResources","$tgConfirm",e]),t=function(t){var e;return e=function(e,r,n){var i,o;return i=t(n.tgAvatarModel),o=i.assign,r.bind("change",function(){return e.$apply(function(){return o(e,r[0].files[0])})})},{link:e}},s.directive("tgAvatarModel",["$parse",t])}.call(this),function(){var t,e;t=function(){var t;return t=function(t,e,r){var n;return n=r.tgUserSettingsNavigation,e.find(".active").removeClass("active"),e.find("#usersettingsmenu-"+n+" a").addClass("active"),t.$on("$destroy",function(){return e.off()})},{link:t}},e=angular.module("taigaUserSettings"),e.directive("tgUserSettingsNavigation",t)}.call(this),function(){var t,e,r,n,i,o,s,a=function(t,e){function r(){this.constructor=t}for(var n in e)c.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},c={}.hasOwnProperty;s=this.taiga,i=this.taiga.mixOf,n=this.taiga.bindOnce,o=angular.module("taigaUserSettings"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.auth=u,this.errorHandlingService=l,this.scope.sectionName="USER_SETTINGS.NOTIFICATIONS.SECTION_NAME",this.scope.user=this.auth.getUser(),p=this.loadInitialData(),p.then(null,this.onInitialDataError.bind(this))}return a(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","tgErrorHandlingService"],e.prototype.loadInitialData=function(){ -return this.rs.notifyPolicies.list().then(function(t){return function(e){return t.scope.notifyPolicies=e,e}}(this))},e}(i(s.Controller,s.PageMixin)),o.controller("UserNotificationsController",t),e=function(){var t;return t=function(t,e,r){return t.$on("$destroy",function(){return e.off()})},{link:t}},o.directive("tgUserNotifications",e),r=function(t,e,r){var i,o;return o=_.template('<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\n
\n
<%- notifyPolicy.project_name %>
\n
\n
\n checked="checked"<% } %>/>\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n<% }) %>'),i=function(i,s,a){var c;return c=function(){var n,a;return s.off(),n={notifyPolicies:i.notifyPolicies},a=o(n),s.html(r(a)(i)),s.on("change","input[type=radio]",function(r){var n,o,s,a,c,u;return u=angular.element(r.currentTarget),a=u.parents(".policy-table-row").data("index"),s=i.notifyPolicies[a],c=s.notify_level,s.notify_level=parseInt(u.val(),10),o=function(){return e.notify("success")},n=function(){return e.notify("error"),u.parents(".policy-table-row").find("input[value="+c+"]").prop("checked",!0)},t.save(s).then(o,n)})},i.$on("$destroy",function(){return s.off()}),n(i,a.ngModel,c)},{link:i}},o.directive("tgUserNotificationsList",["$tgRepo","$tgConfirm","$compile",r])}.call(this),function(){angular.module("taigaComponents",[])}.call(this),function(){var t;t=angular.module("taigaDiscover",[])}.call(this),function(){var t;t=angular.module("taigaExternalApps",[])}.call(this),function(){angular.module("taigaHistory",[])}.call(this),function(){var t;t=angular.module("taigaHome",[])}.call(this),function(){angular.module("taigaNavigationBar",[])}.call(this),function(){var t;t=angular.module("taigaProfile",[])}.call(this),function(){angular.module("taigaProjects",[])}.call(this),function(){angular.module("taigaResources2",[])}.call(this),function(){angular.module("taigaUserTimeline",[])}.call(this),function(){var t;t=angular.module("taigaUtils",[])}.call(this),function(){angular.module("taigaWikiHistory",[])}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{templateUrl:"components/assigned-to/assigned-item/assigned-item.html",scope:{member:"="},link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAssignedItem",t)}.call(this),function(){var t;t=function(){function t(){this.assigned&&this._getAssignedMember(),this._filterAssignedMember()}return t.$inject=[],t.prototype._getAssignedMember=function(){return this.assignedMember=_.filter(this.project.members,function(t){return function(e){return e.id===t.assigned.get("id")}}(this))},t.prototype._filterAssignedMember=function(){return this.assigned?this.nonAssignedMembers=_.filter(this.project.members,function(t){return function(e){return e.id!==t.assigned.get("id")}}(this)):this.nonAssignedMembers=this.project.members},t}(),angular.module("taigaComponents").controller("AssignedToSelectorCtrl",t)}.call(this),function(){var t;t=function(){return{controller:"AssignedToSelectorCtrl",controllerAs:"vm",bindToController:!0,templateUrl:"components/assigned-to/assigned-to-selector/assigned-to-selector.html",scope:{assigned:"=",project:"=",onRemoveAssigned:"&",onAssignTo:"&"}}},t.$inject=[],angular.module("taigaComponents").directive("tgAssignedToSelector",t)}.call(this),function(){var t;t=function(){function t(t,e){this.lightboxFactory=t,this.lightboxService=e,this.has_permissions=_.includes(this.project.my_permissions,"modify_epic")}return t.$inject=["tgLightboxFactory","lightboxService"],t.prototype._closeAndRemoveAssigned=function(){return this.lightboxService.closeAll(),this.onRemoveAssigned()},t.prototype._closeAndAssign=function(t){return this.lightboxService.closeAll(),this.onAssignTo({member:t})},t.prototype.onSelectAssignedTo=function(t,e){return this.lightboxFactory.create("tg-assigned-to-selector",{"class":"lightbox lightbox-assigned-to-selector open",assigned:"assigned",project:"project","on-remove-assigned":"onRemoveAssigned()","on-assign-to":"assignTo(member)"},{assigned:this.assignedTo,project:this.project,onRemoveAssigned:this._closeAndRemoveAssigned.bind(this),assignTo:this._closeAndAssign.bind(this)})},t}(),angular.module("taigaComponents").controller("AssignedToCtrl",t)}.call(this),function(){var t;t=function(){return{controller:"AssignedToCtrl",controllerAs:"vm",bindToController:!0,templateUrl:"components/assigned-to/assigned-to.html",scope:{assignedTo:"=",project:"=",onRemoveAssigned:"&",onAssignTo:"&"}}},t.$inject=[],angular.module("taigaComponents").directive("tgAssignedToComponent",t)}.call(this),function(){var t;t=function(t,e,r){var n;return n=function(n,i,o){var s;return s=t(o.tgAttachmentLink)(n),i.on("click",function(t){return taiga.isImage(s.getIn(["file","name"]))?(t.preventDefault(),n.$apply(function(){return r.open($("tg-attachments-preview")),e.fileId=s.getIn(["file","id"])})):taiga.isPdf(s.getIn(["file","name"]))?(t.preventDefault(),window.open(s.getIn(["file","url"]))):void 0}),n.$on("$destroy",function(){return i.off()})},{link:n}},t.$inject=["$parse","tgAttachmentsPreviewService","lightboxService"],angular.module("taigaComponents").directive("tgAttachmentLink",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{scope:{},bindToController:{attachment:"=",onDelete:"&",onUpdate:"&",type:"="},controller:"Attachment",controllerAs:"vm",templateUrl:"components/attachment/attachment-gallery.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachmentGallery",t)}.call(this),function(){var t;t=function(){function t(t,e){this.attachmentsService=t,this.translate=e,this.form={},this.form.description=this.attachment.getIn(["file","description"]),this.form.is_deprecated=this.attachment.get(["file","is_deprecated"]),this.title=this.translate.instant("ATTACHMENT.TITLE",{fileName:this.attachment.get("name"),date:moment(this.attachment.get("created_date")).format(this.translate.instant("ATTACHMENT.DATE"))})}return t.$inject=["tgAttachmentsService","$translate"],t.prototype.editMode=function(t){var e;return e=this.attachment.set("editable",t),this.onUpdate({attachment:e})},t.prototype["delete"]=function(){return this.onDelete({attachment:this.attachment})},t.prototype.save=function(){var t;return t=this.attachment.set("loading",!0),this.onUpdate({attachment:t}),t=this.attachment.merge({editable:!1,loading:!1}),t=t.mergeIn(["file"],{description:this.form.description,is_deprecated:!!this.form.is_deprecated}),this.onUpdate({attachment:t})},t}(),angular.module("taigaComponents").controller("Attachment",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{scope:{},bindToController:{attachment:"=",onDelete:"&",onUpdate:"&",type:"="},controller:"Attachment",controllerAs:"vm",templateUrl:"components/attachment/attachment.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachment",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i;return i=t(n.tgAttachmentsDrop),r.on("dragover",function(t){return t.preventDefault(),!1}),r.on("drop",function(t){var r;return t.stopPropagation(),t.preventDefault(),r=t.dataTransfer||t.originalEvent&&t.originalEvent.dataTransfer,e.$apply(function(){return i(e,{files:r.files})})}),e.$on("$destroy",function(){return r.off()})},{link:e}},t.$inject=["$parse"],angular.module("taigaComponents").directive("tgAttachmentsDrop",t)}.call(this),function(){var t,e;e=this.taiga.sizeFormat,t=function(){function t(t,r,n,i,o,s,a){this.translate=t,this.confirm=r,this.config=n,this.storage=i,this.attachmentsFullService=o,this.projectService=s,this.attachmentsPreviewService=a,this.mode=this.storage.get("attachment-mode","list"),this.maxFileSize=this.config.get("maxUploadFileSize",null),this.maxFileSize&&(this.maxFileSize=e(this.maxFileSize)),this.maxFileSizeMsg=this.maxFileSize?this.translate.instant("ATTACHMENT.MAX_UPLOAD_SIZE",{maxFileSize:this.maxFileSize}):"",taiga.defineImmutableProperty(this,"attachments",function(t){return function(){return t.attachmentsFullService.attachments}}(this)),taiga.defineImmutableProperty(this,"deprecatedsCount",function(t){return function(){return t.attachmentsFullService.deprecatedsCount}}(this)),taiga.defineImmutableProperty(this,"attachmentsVisible",function(t){return function(){return t.attachmentsFullService.attachmentsVisible}}(this)),taiga.defineImmutableProperty(this,"deprecatedsVisible",function(t){return function(){return t.attachmentsFullService.deprecatedsVisible}}(this))}return t.$inject=["$translate","$tgConfirm","$tgConfig","$tgStorage","tgAttachmentsFullService","tgProjectService","tgAttachmentsPreviewService"],t.prototype.uploadingAttachments=function(){return this.attachmentsFullService.uploadingAttachments},t.prototype.addAttachment=function(t){var e;return e="list"===this.mode,this.attachmentsFullService.addAttachment(this.projectId,this.objId,this.type,t,e)},t.prototype.setMode=function(t){return this.mode=t,this.storage.set("attachment-mode",t)},t.prototype.toggleDeprecatedsVisible=function(){return this.attachmentsFullService.toggleDeprecatedsVisible()},t.prototype.addAttachments=function(t){return _.forEach(t,function(t){return function(e){return t.addAttachment(e)}}(this))},t.prototype.loadAttachments=function(){return this.attachmentsFullService.loadAttachments(this.type,this.objId,this.projectId)},t.prototype.deleteAttachment=function(t){var e,r;return this.attachmentsPreviewService.fileId=null,r=this.translate.instant("ATTACHMENT.TITLE_LIGHTBOX_DELETE_ATTACHMENT"),e=this.translate.instant("ATTACHMENT.MSG_LIGHTBOX_DELETE_ATTACHMENT",{fileName:t.getIn(["file","name"])}),this.confirm.askOnDelete(r,e).then(function(r){return function(n){var i,o;return i=function(){return e=r.translate.instant("ATTACHMENT.ERROR_DELETE_ATTACHMENT",{errorMessage:e}),r.confirm.notify("error",null,e),n.finish(!1)},o=function(){return n.finish()},r.attachmentsFullService.deleteAttachment(t,r.type).then(o,i)}}(this))},t.prototype.reorderAttachment=function(t,e){return this.attachmentsFullService.reorderAttachment(this.type,t,e)},t.prototype.updateAttachment=function(t){return this.attachmentsFullService.updateAttachment(t,this.type)},t.prototype._isEditable=function(){return!!this.projectService.project&&this.projectService.hasPermission(this.editPermission)},t.prototype.showAttachments=function(){return this._isEditable()||this.attachmentsFullService.attachments.size},t}(),angular.module("taigaComponents").controller("AttachmentsFull",t)}.call(this),function(){var t,e;e=this.taiga.bindOnce,t=function(){var t;return t=function(t,r,n,i){return e(t,"vm.objId",function(t){return i.loadAttachments()})},{scope:{},bindToController:{type:"@",objId:"=",projectId:"=",editPermission:"@"},controller:"AttachmentsFull",controllerAs:"vm",templateUrl:"components/attachments-full/attachments-full.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachmentsFull",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.attachmentsService=t,this.rootScope=e,this._attachments=Immutable.List(),this._deprecatedsCount=0,this._attachmentsVisible=Immutable.List(),this._deprecatedsVisible=!1,this.uploadingAttachments=[],taiga.defineImmutableProperty(this,"attachments",function(t){return function(){return t._attachments}}(this)),taiga.defineImmutableProperty(this,"deprecatedsCount",function(t){return function(){return t._deprecatedsCount}}(this)),taiga.defineImmutableProperty(this,"attachmentsVisible",function(t){return function(){return t._attachmentsVisible}}(this)),taiga.defineImmutableProperty(this,"deprecatedsVisible",function(t){return function(){return t._deprecatedsVisible}}(this))}return e(r,t),r.$inject=["tgAttachmentsService","$rootScope"],r.prototype.toggleDeprecatedsVisible=function(){return this._deprecatedsVisible=!this._deprecatedsVisible,this.regenerate()},r.prototype.regenerate=function(){return this._deprecatedsCount=this._attachments.count(function(t){return t.getIn(["file","is_deprecated"])}),this._deprecatedsVisible?this._attachmentsVisible=this._attachments:this._attachmentsVisible=this._attachments.filter(function(t){return!t.getIn(["file","is_deprecated"])})},r.prototype.addAttachment=function(t,e,r,n,i,o){return null==i&&(i=!0),null==o&&(o=!1),new Promise(function(s){return function(a,c){var u;return s.attachmentsService.validate(n)?(s.uploadingAttachments.push(n),u=s.attachmentsService.upload(n,e,t,r,o),u.then(function(t){var e;return s.uploadingAttachments=s.uploadingAttachments.filter(function(e){return e.name!==t.get("name")}),e=Immutable.Map(),e=e.merge({file:t,editable:i,loading:!1,from_comment:o}),s._attachments=s._attachments.push(e),s.regenerate(),s.rootScope.$broadcast("attachment:create"),a(e)})):c(new Error(n))}}(this))},r.prototype.loadAttachments=function(t,e,r){return this.attachmentsService.list(t,e,r).then(function(t){return function(e){return t._attachments=e.map(function(t){var e;return e=Immutable.Map(),e.merge({loading:!1,editable:!1,file:t})}),t.regenerate()}}(this))},r.prototype.deleteAttachment=function(t,e){var r;return r=function(e){return function(){return e._attachments=e._attachments.filter(function(e){return e!==t}),e.regenerate()}}(this),this.attachmentsService["delete"](e,t.getIn(["file","id"])).then(r)},r.prototype.reorderAttachment=function(t,e,r){var n,i,o;if(i=this.attachments.findIndex(function(t){return t===e}),i!==r)return n=this.attachments.remove(i),n=n.splice(r,0,e),n=n.map(function(t,e){return t.setIn(["file","order"],e+1)}),o=[],n.forEach(function(e){return function(r){var n;return n={order:r.getIn(["file","order"])},o.push(e.attachmentsService.patch(r.getIn(["file","id"]),t,n))}}(this)),Promise.all(o).then(function(t){return function(){return t._attachments=n,t.regenerate()}}(this))},r.prototype.updateAttachment=function(t,e){var r,n,i;return r=this._attachments.findIndex(function(e){return e.getIn(["file","id"])===t.getIn(["file","id"])}),n=this._attachments.get(r),i=taiga.patch(n.get("file"),t.get("file")),t.get("loading")?(this._attachments=this._attachments.set(r,t),this.regenerate()):this.attachmentsService.patch(t.getIn(["file","id"]),e,i).then(function(e){return function(){return e._attachments=e._attachments.set(r,t),e.regenerate()}}(this))},r}(taiga.Service),angular.module("taigaComponents").service("tgAttachmentsFullService",t)}.call(this),function(){var t;t=function(){function t(t){this.attachmentsPreviewService=t,taiga.defineImmutableProperty(this,"current",function(t){return function(){return t.attachmentsPreviewService.fileId?t.getCurrent():null}}(this))}return t.$inject=["tgAttachmentsPreviewService"],t.prototype.hasPagination=function(){var t;return t=this.attachments.filter(function(t){return function(t){return taiga.isImage(t.getIn(["file","name"]))}}(this)),t.size>1},t.prototype.getCurrent=function(){var t,e;return t=this.attachments.find(function(t){return function(e){return t.attachmentsPreviewService.fileId===e.getIn(["file","id"])}}(this)),e=t.get("file")},t.prototype.getIndex=function(){return this.attachments.findIndex(function(t){return function(e){return t.attachmentsPreviewService.fileId===e.getIn(["file","id"])}}(this))},t.prototype.next=function(){var t,e;return t=this.getIndex(),e=this.attachments.slice(t+1).find(function(t){return taiga.isImage(t.getIn(["file","name"]))}),e||(e=this.attachments.find(function(t){return taiga.isImage(t.getIn(["file","name"]))})),this.attachmentsPreviewService.fileId=e.getIn(["file","id"])},t.prototype.previous=function(){var t,e;return t=this.getIndex(),e=this.attachments.slice(0,t).findLast(function(t){return taiga.isImage(t.getIn(["file","name"]))}),e||(e=this.attachments.findLast(function(t){return taiga.isImage(t.getIn(["file","name"]))})),this.attachmentsPreviewService.fileId=e.getIn(["file","id"])},t}(),angular.module("taigaComponents").controller("AttachmentsPreview",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(t,r,n,i){return $(document.body).on("keydown.image-preview",function(r){return e.fileId&&(39===r.keyCode?i.next():37===r.keyCode&&i.previous()),t.$digest()}),t.$on("$destroy",function(){return $(document.body).off(".image-preview")})},{scope:{},controller:"AttachmentsPreview",templateUrl:"components/attachments-preview/attachments-preview.html",link:r,controllerAs:"vm",bindToController:{attachments:"="}}},angular.module("taigaComponents").directive("tgAttachmentsPreview",["lightboxService","tgAttachmentsPreviewService",t])}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(){}return e(r,t),r.$inject=[],r}(taiga.Service),angular.module("taigaComponents").service("tgAttachmentsPreviewService",t)}.call(this),function(){var t;t=function(){function t(t){this.attachmentsService=t}return t.$inject=["tgAttachmentsService"],t.prototype.addAttachment=function(t){var e;if(e=Immutable.fromJS({file:t,name:t.name,size:t.size}),this.attachmentsService.validate(t)&&(this.attachments=this.attachments.push(e),this.onAdd))return this.onAdd({attachment:e})},t.prototype.addAttachments=function(t){return _.forEach(t,this.addAttachment.bind(this))},t.prototype.deleteAttachment=function(t){if(this.attachments=this.attachments.filter(function(e){return e!==t}),this.onDelete)return this.onDelete({attachment:t})},t}(),angular.module("taigaComponents").controller("AttachmentsSimple",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{scope:{},bindToController:{attachments:"=",onAdd:"&",onDelete:"&"},controller:"AttachmentsSimple",controllerAs:"vm",templateUrl:"components/attachments-simple/attachments-simple.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachmentsSimple",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o,s;return i=t(n.tgAttachmentsSortable),o=dragula([r[0]],{copySortSource:!1,copy:!1,mirrorContainer:r[0],moves:function(t){return $(t).is("div[tg-bind-scope]")}}),o.on("dragend",function(t){var r,n;return t=$(t),r=t.scope().attachment,n=t.index(),e.$apply(function(){return i(e,{attachment:r,index:n})})}),s=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&o.dragging}}),e.$on("$destroy",function(){return r.off(),o.destroy()})},{link:e}},t.$inject=["$parse"],angular.module("taigaComponents").directive("tgAttachmentsSortable",t)}.call(this),function(){var t;t=function(t){return{link:function(e,r){return t(function(){return r[0].select()})}}},t.$inject=["$timeout"],angular.module("taigaComponents").directive("tgAutoSelect",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i;return i=n.tgAvatarBig?"avatarBig":"avatar",e.$watch(i,function(e){var n;return n=t.getAvatar(e,i),r.attr("src",n.url),r.attr("title",""+n.username),r.attr("alt",""+n.username),r.css("background",n.bg||"")})},{link:e,scope:{avatar:"=tgAvatar",avatarBig:"=tgAvatarBig"}}},t.$inject=["tgAvatarService"],angular.module("taigaComponents").directive("tgAvatar",t),angular.module("taigaComponents").directive("tgAvatarBig",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(t,e,r,n,i){var o,s;return o=function(i,o,s){var a;return i.$watch("epics",function(t){return a(t)}),i.$on("related-epics:changed",function(t,e){return r.userstories.getByRef(e.project,e.ref,{}).then(function(t){return i.item.epics=t.epics,a(t.epics)})}),i.removeEpicRelationship=function(r){var o,s;return s=t.instant("LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.TITLE"),o=t.instant("LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.MESSAGE",{epicSubject:r.get("subject")}),e.ask(s,null,o).then(function(t){var o,s,a,c;return a=function(){return t.finish(),i.$broadcast("related-epics:changed",i.item)},s=function(){return t.finish(!1),e.notify("error")},o=r.get("id"),c=i.item.id,n.epics.deleteRelatedUserstory(o,c).then(a,s)})},a=function(t){if(i.epicsLength=0,i.immutable_epics=[],t&&!t.isIterable)return i.epicsLength=t.length,i.immutable_epics=Immutable.fromJS(t)}},s=function(t,e){return e.format?"components/belong-to-epics/belong-to-epics-"+e.format+".html":"components/belong-to-epics/belong-to-epics-pill.html"},{link:o,scope:{epics:"=",item:"="},templateUrl:s}},e.directive("tgBelongToEpics",["$translate","$tgConfirm","$tgResources","tgResources","lightboxService",t])}.call(this),function(){var t;t=function(t,e,r,n,i){return{restrict:"A",compile:function(o,s){var a,c;return a=e(s.tgBindCode),c=e(s.tgBindCode,function(t){return(t||"").toString()}),r.$$addBindingClass(o),function(e,o,s){return r.$$addBindingInfo(o,s.tgBindCode),e.$watch(c,function(){var r;return r=n.getHTML(a(e)),o.html(t.getTrustedHtml(r)||""),i.addHightlighter(o)})}}}},angular.module("taigaComponents").directive("tgBindCode",["$sce","$parse","$compile","tgWysiwygService","tgWysiwygCodeHightlighterService",t])}.call(this),function(){var t;t=function(){return{scope:{levels:"=",value:"="},templateUrl:"components/board-zoom/board-zoom.html"}},angular.module("taigaComponents").directive("tgBoardZoom",[t])}.call(this),function(){var t;t=function(){function t(){this.index=0}return t.$inject=[],t.prototype.next=function(){if(this.index++,this.index>=this.images.size)return this.index=0},t.prototype.previous=function(){if(this.index--,this.index<0)return this.index=this.images.size-1},t}(),angular.module("taigaComponents").controller("CardSlideshow",t)}.call(this),function(){var t,e;e=angular.module("taigaComponents"),t=function(){return{controller:"CardSlideshow",templateUrl:"components/card-slideshow/card-slideshow.html",bindToController:!0,controllerAs:"vm",scope:{images:"="}}},e.directive("tgCardSlideshow",t)}.call(this),function(){var t;t=function(){function t(){}return t.$inject=[],t.prototype.visible=function(t){return this.zoom.indexOf(t)!==-1},t.prototype.hasTasks=function(){var t;return t=this.item.getIn(["model","tasks"]),t&&t.size>0},t.prototype.hasMultipleAssignedUsers=function(){var t;return t=this.item.getIn(["model","assigned_users"]),t&&t.size>1},t.prototype.hasVisibleAttachments=function(){return this.item.get("images").size>0},t.prototype.toggleFold=function(){return this.onToggleFold({id:this.item.get("id")})},t.prototype.getClosedTasks=function(){return this.item.getIn(["model","tasks"]).filter(function(t){return t.get("is_closed")})},t.prototype.closedTasksPercent=function(){return 100*this.getClosedTasks().size/this.item.getIn(["model","tasks"]).size},t.prototype.getModifyPermisionKey=function(){return"task"===this.type?"modify_task":"modify_us"},t.prototype.getDeletePermisionKey=function(){return"task"===this.type?"delete_task":"delete_us"},t.prototype._setVisibility=function(){var t;return t={related:this.visible("related_tasks"),slides:this.visible("attachments")},_.isUndefined(this.item.get("foldStatusChanged"))||(this.visible("related_tasks")&&this.visible("attachments")?(t.related=!this.item.get("foldStatusChanged"),t.slides=!this.item.get("foldStatusChanged")):this.visible("attachments")?(t.related=this.item.get("foldStatusChanged"),t.slides=this.item.get("foldStatusChanged")):this.visible("related_tasks")||this.visible("attachments")||(t.related=this.item.get("foldStatusChanged"),t.slides=this.item.get("foldStatusChanged"))),this.item.getIn(["model","tasks"])&&this.item.getIn(["model","tasks"]).size||(t.related=!1),this.item.get("images")&&this.item.get("images").size||(t.slides=!1),t},t.prototype.isRelatedTasksVisible=function(){var t;return t=this._setVisibility(),t.related},t.prototype.isSlideshowVisible=function(){var t;return t=this._setVisibility(),t.slides},t.prototype.getNavKey=function(){return"task"===this.type?"project-tasks-detail":"issue"===this.type?"project-issues-detail":"project-userstories-detail"},t}(),angular.module("taigaComponents").controller("Card",t)}.call(this),function(){var t,e;e=angular.module("taigaComponents"),t=function(){return{link:function(t){},controller:"Card",controllerAs:"vm",bindToController:!0,templateUrl:"components/card/card.html",scope:{onToggleFold:"&",onClickAssignedTo:"&",onClickEdit:"&",onClickRemove:"&",onClickDelete:"&",project:"=",item:"=",zoom:"=",zoomLevel:"=",archived:"=",type:"@"}}},e.directive("tgCard",t)}.call(this),function(){var t;t=function(){return{link:function(t,e){return e.on("click",function(t){var r;if(!$(t.target).is("input"))return t.preventDefault(),r=e.find('input[type="file"]'),r.val(""),r.trigger("click")}),t.$on("$destroy",function(){return e.off()})}}},angular.module("taigaComponents").directive("tgClickInputFile",[t])}.call(this),function(){var t,e,r;r=this.taiga,e=r.getDefaulColorList,t=function(){function t(t){this.projectService=t,this.colorList=e(),this.checkIsColorRequired(),this.displayColorList=!1}return t.$inject=["tgProjectService"],t.prototype.userCanChangeColor=function(){return!this.requiredPerm||this.projectService.hasPermission(this.requiredPerm)},t.prototype.checkIsColorRequired=function(){if(!this.isColorRequired)return this.colorList=_.dropRight(this.colorList)},t.prototype.setColor=function(t){return this.color=t,this.customColor=t},t.prototype.resetColor=function(){if(this.isColorRequired&&!this.color)return this.color=this.initColor},t.prototype.toggleColorList=function(){return this.displayColorList=!this.displayColorList,this.customColor=this.color,this.resetColor()},t.prototype.onSelectDropdownColor=function(t){return this.color=t,this.onSelectColor({color:t}),this.toggleColorList()},t.prototype.onKeyDown=function(t){if(13===t.which)return!this.customColor&&this.isColorRequired||this.onSelectDropdownColor(this.customColor),t.preventDefault()},t}(),angular.module("taigaComponents").controller("ColorSelectorCtrl",t)}.call(this),function(){var t,e;e=this.taiga.bindOnce,t=function(t){var e;return e=function(e,r,n,i){var o,s,a;return o=null,s=function(){return t.cancel(o),o=null},a=function(){if(!o)return o=t(function(){return i.displayColorList=!1,i.resetColor()},400)},r.find(".color-selector").mouseenter(s).mouseleave(a),r.find(".color-selector-dropdown").mouseenter(s).mouseleave(a),e.$watch("vm.initColor",function(t){return i.setColor(t)})},{link:e,templateUrl:"components/color-selector/color-selector.html",controller:"ColorSelectorCtrl",controllerAs:"vm",bindToController:{isColorRequired:"=",onSelectColor:"&",initColor:"=",requiredPerm:"@"},scope:{}}},t.$inject=["$timeout"],angular.module("taigaComponents").directive("tgColorSelector",t)}.call(this),function(){var t,e;e=angular.module("taigaUserStories"),t=function(){function t(t,e,r,n,i){this.rootScope=t,this.confirm=e,this.modelTransform=r,this.navUrls=n,this.window=i,this.editMode=!1,this.loadingSubject=!1,this.originalSubject=this.item.subject,this.objType={tasks:"task",issues:"issue",userstories:"us"}[this.item._name]}return t.$inject=["$rootScope","$tgConfirm","$tgQueueModelTransformation","$tgNavUrls","$window"],t.prototype._checkNav=function(){var t,e,r;if(null!=(null!=(e=this.item.neighbors.previous)?e.ref:void 0)&&(t={project:this.project.slug,ref:this.item.neighbors.previous.ref},this.previousUrl=this.navUrls.resolve("project-"+this.item._name+"-detail",t)),null!=(null!=(r=this.item.neighbors.next)?r.ref:void 0))return t={project:this.project.slug,ref:this.item.neighbors.next.ref},this.nextUrl=this.navUrls.resolve("project-"+this.item._name+"-detail",t)},t.prototype._checkPermissions=function(){return this.permissions={canEdit:_.includes(this.project.my_permissions,this.requiredPerm)}},t.prototype.cancelEdit=function(){return this.editMode=!1,this.item.subject=this.originalSubject},t.prototype.editSubject=function(t){var e;if(e=this.window.getSelection(),"Range"!==e.type&&(t&&(this.editMode=!0),!t))return this.editMode=!1},t.prototype.onKeyDown=function(t){if(13===t.which&&this.saveSubject(),27===t.which)return this.item.subject=this.originalSubject,this.editSubject(!1)},t.prototype.saveSubject=function(){var t,e,r,n;return r=function(t){return function(){return t.loadingSubject=!1,t.rootScope.$broadcast("object:updated"),t.confirm.notify("success"),t.originalSubject=t.item.subject}}(this),e=function(t){return function(){return t.loadingSubject=!1,t.confirm.notify("error")}}(this),this.editMode=!1,this.loadingSubject=!0,t=this.item,n=this.modelTransform.save(function(t){return t}),n.then(r,e)},t.prototype.relateToEpic=function(t){return this.rootScope.$broadcast("relate-to-epic:add",t)},t}(),e.controller("StoryHeaderCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaUserStories"),t=function(){var t;return this.$inject=[],t=function(t,e,r,n){return n._checkPermissions(),n._checkNav()},{link:t,controller:"StoryHeaderCtrl",bindToController:!0,scope:{item:"=",project:"=",requiredPerm:"@"},controllerAs:"vm",templateUrl:"components/detail/header/detail-header.html"}},e.directive("tgDetailHeader",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.translate=t,this.tgLightboxFactory=e,this.projectService=r,this.rootscope=n,this.defaultConfig=[{color:"#9dce0a",name:"normal due",days_to_due:null,by_default:!0},{color:"#ff9900",name:"due soon",days_to_due:14,by_default:!1},{color:"#ff8a84",name:"past due",days_to_due:0,by_default:!1}]}return t.$inject=["$translate","tgLightboxFactory","tgProjectService","$rootScope"],t.prototype.visible=function(){return"button"===this.format||null!=this.dueDate},t.prototype.disabled=function(){return this.isClosed},t.prototype.color=function(){var t;return(null!=(t=this.getStatus())?t.color:void 0)||null},t.prototype.title=function(){return this.dueDate?this._formatTitle():"button"===this.format?this.translate.instant("COMMON.DUE_DATE.TITLE_ACTION_SET_DUE_DATE"):""},t.prototype.getStatus=function(t){var e;return this.dueDate?(e=this.projectService.project.toJS(),t=e[this.objType+"_duedates"],t||(t=this.defaultConfig),this._getAppearance(t)):null},t.prototype._getDefaultAppearance=function(t){var e;return e=null,_.map(t,function(t){if(t.by_default===!0)return e=t}),e},t.prototype._getAppearance=function(t){var e,r,n;return e=this._getDefaultAppearance(t),t=_.sortBy(t,function(t){return-t.days_to_due}),r=moment(this.dueDate),n=moment(),_.map(t,function(t){var i;if(null!==t.days_to_due)return i=moment(r-moment.duration(t.days_to_due,"days")),n>=i?e=t:void 0}),e},t.prototype._formatTitle=function(){var t,e,r;return e=this.translate.instant("COMMON.PICKERDATE.FORMAT"),t=moment(this.dueDate).format(e),r=this.getStatus(),(null!=r?r.name:void 0)?t+" ("+r.name+")":t; -},t.prototype.setDueDate=function(){if(!this.disabled())return this.tgLightboxFactory.create("tg-lb-set-due-date",{"class":"lightbox lightbox-set-due-date"},{object:this.item,notAutoSave:this.notAutoSave})},t}(),angular.module("taigaComponents").controller("DueDateCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaComponents"),t=function(t,e){return{link:function(t,r,n,i){var o;return t.open=!1,o=e.get(),_.merge(o,{field:r.find(".due-date-button")[0],container:r.find(".date-picker-container")[0],bound:!0,onClose:function(){return t.open=!1,t.$apply()},onSelect:function(){return i.dueDate=this.getMoment().format("YYYY-MM-DD")}}),r.picker=new Pikaday(o),r.on("click",".due-date-button",function(e){return t.open?void r.picker.hide():(!r.picker.getDate()&&i.dueDate&&r.picker.setDate(moment(i.dueDate).format("YYYY-MM-DD")),r.picker.show(),t.open=!0,t.$apply())}),r.on("click",".date-picker-clean",function(e){return e.preventDefault(),e.stopPropagation(),i.dueDate=null,r.picker.setDate(i.dueDate),t.open=!1,r.picker.hide(),t.$apply()}),t.$on("status:changed",function(t,e){return i.isClosed=i.item.is_closed})},controller:"DueDateCtrl",controllerAs:"vm",bindToController:!0,templateUrl:"components/due-date/due-date-popover.html",scope:{dueDate:"=",isClosed:"=",item:"=",objType:"@",format:"@",notAutoSave:"="}}},e.directive("tgDueDatePopover",["$translate","tgDatePickerConfigService",t])}.call(this),function(){var t,e;e=angular.module("taigaComponents"),t=function(t,e){var r;return r=function(t,e){return e.format?"components/due-date/due-date-"+e.format+".html":"components/due-date/due-date-icon.html"},{link:function(r,n,i,o){var s;if(s=function(){var i,s;return s=t.instant("COMMON.PICKERDATE.FORMAT"),o.dueDate&&(o.dueDate=moment(o.dueDate,s)),n.on("click",".date-picker-popover-trigger",function(t){if(!o.disabled())return t.preventDefault(),t.stopPropagation(),n.find(".date-picker-popover").popover().open()}),n.on("click",".date-picker-clean",function(t){return t.preventDefault(),t.stopPropagation(),o.dueDate=null,r.$apply(),n.find(".date-picker-popover").popover().close()}),i=e.get(),_.merge(i,{field:n.find("input.due-date")[0],container:n.find(".date-picker-container")[0],bound:!1,onSelect:function(){return o.dueDate=this.getMoment().format("YYYY-MM-DD"),n.find(".date-picker-popover").popover().close(),r.$apply()}}),n.picker=new Pikaday(i)},"button-popover"===i.format)return s()},controller:"DueDateCtrl",controllerAs:"vm",bindToController:!0,templateUrl:r,scope:{dueDate:"=",isClosed:"=",item:"=",objType:"@",format:"@",notAutoSave:"="}}},e.directive("tgDueDate",["$translate","tgDatePickerConfigService",t])}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){var o;return o=t(n.tgFileChange),r.on("change",function(t){return e.$apply(function(){return o(e,{files:t.currentTarget.files})})}),e.$on("$destroy",function(){return r.off()})},{restrict:"A",link:e}},t.$inject=["$parse"],angular.module("taigaComponents").directive("tgFileChange",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=taiga.generateHash,t=function(t){function n(t,e,r){this.q=t,this.urls=e,this.http=r}return r(n,t),n.$inject=["$q","$tgUrls","$tgHttp"],n.prototype.storeFilters=function(t,r,n){var i,o,s,a,c;return i=this.q.defer(),c=this.urls.resolve("user-storage"),s=t+":"+n,o=e([t,s]),_.isEmpty(r)?(a=this.http["delete"](c+"/"+o,{key:o,value:r}),a.then(function(){return i.resolve()}),a.then(null,function(){return i.reject()})):(a=this.http.put(c+"/"+o,{key:o,value:r}),a.then(function(t){return i.resolve()}),a.then(null,function(t){return function(e){var n;return n=t.http.post(""+c,{key:o,value:r}),n.then(function(){return i.resolve()}),n.then(null,function(){return i.reject()})}}(this))),i.promise},n.prototype.getFilters=function(t,r){var n,i,o,s,a;return n=this.q.defer(),a=this.urls.resolve("user-storage"),o=t+":"+r,i=e([t,o]),s=this.http.get(a+"/"+i),s.then(function(t){return n.resolve(t.data.value)}),s.then(null,function(t){return n.resolve({})}),n.promise},n}(taiga.Service),angular.module("taigaComponents").service("tgFilterRemoteStorageService",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){var i;return i=$("tg-filter"),t.$watch(r.ngIf,function(t){var r,n;if(t)return i.find(".filter-list").hide(),n=i.height(),r=0,i.children().each(function(){return r+=$(this).outerHeight(!0)}),$(e.context.nextSibling).css({"max-height":n-r,display:"block"})})},{priority:900,link:t}},angular.module("taigaComponents").directive("tgFilterSlideDown",[t])}.call(this),function(){var t;t=function(){function t(){this.opened=null,this.customFilterForm=!1,this.customFilterName=""}return t.$inject=[],t.prototype.toggleFilterCategory=function(t){return this.opened===t?this.opened=null:this.opened=t},t.prototype.isOpen=function(t){return this.opened===t},t.prototype.saveCustomFilter=function(){return this.onSaveCustomFilter({name:this.customFilterName}),this.customFilterForm=!1,this.opened="custom-filter",this.customFilterName=""},t.prototype.changeQ=function(){return this.onChangeQ({q:this.q})},t.prototype.unselectFilter=function(t){return this.onRemoveFilter({filter:t})},t.prototype.unselectFilter=function(t){return this.onRemoveFilter({filter:t})},t.prototype.selectFilter=function(t,e){return e={category:t,filter:e},this.onAddFilter({filter:e})},t.prototype.removeCustomFilter=function(t){return this.onRemoveCustomFilter({filter:t})},t.prototype.selectCustomFilter=function(t){return this.onSelectCustomFilter({filter:t})},t.prototype.isFilterSelected=function(t,e){return!!_.find(this.selectedFilters,function(r){return e.id===r.id&&t.dataType===r.dataType})},t}(),angular.module("taigaComponents").controller("Filter",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){var i;return i=t.$watch("vm.defaultQ",function(e){return e&&!t.vm.filtersForm.$dirty?(t.vm.q=e,i()):t.vm.filtersForm.$dirty?i():void 0}),r.$observe("open",function(r){return r=t.$eval(r),r?e.addClass("open"):e.removeClass("open")})},{scope:{onChangeQ:"&",onAddFilter:"&",onSelectCustomFilter:"&",onRemoveFilter:"&",onRemoveCustomFilter:"&",onSaveCustomFilter:"&",customFilters:"<",defaultQ:"=q",filters:"<",customFilters:"<",selectedFilters:"<"},bindToController:!0,controller:"Filter",controllerAs:"vm",templateUrl:"components/filter/filter.html",link:t}},angular.module("taigaComponents").directive("tgFilter",[t])}.call(this),function(){var t,e;e=this.taiga,t=function(t,e,r,n,i){var o;return o=function(n,o,s,a){var c,u,l;return l=null,u=introJs(),u.oncomplete(function(){return $("html,body").scrollTop(0)}),u.onexit(function(){return e.disableJoyRide()}),c=function(t,e){if(e[t.joyride])return u.setOptions({exitOnEsc:!1,exitOnOverlayClick:!1,showStepNumbers:!1,nextLabel:i.instant("JOYRIDE.NAV.NEXT")+" →",prevLabel:"← "+i.instant("JOYRIDE.NAV.BACK"),skipLabel:i.instant("JOYRIDE.NAV.SKIP"),doneLabel:i.instant("JOYRIDE.NAV.DONE"),disableInteraction:!0}),u.setOption("steps",r.get(t.joyride)),u.start()},t.$on("$routeChangeSuccess",function(r,n){return n.joyride&&e.isAuthenticated()?(u.oncomplete(function(){return e.disableJoyRide(n.joyride)}),n.loader?l=t.$on("loader:end",function(){return e.loadJoyRideConfig().then(function(t){return c(n,t)}),l()}):e.loadJoyRideConfig().then(function(t){return c(n,t)})):(u.exit(),void(l&&l()))})},{scope:{},link:o}},t.$inject=["$rootScope","tgCurrentUserService","tgJoyRideService","$location","$translate"],angular.module("taigaComponents").directive("tgJoyRide",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.translate=t,this.checkPermissionsService=e}return e(r,t),r.$inject=["$translate","tgCheckPermissionsService"],r.prototype.getConfig=function(){return{dashboard:function(t){return function(){var e;return e=[{element:".project-list > section:not(.ng-hide)",position:"left",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP1.TITLE"),text:t.translate.instant("JOYRIDE.DASHBOARD.STEP1.TEXT")}},{element:".working-on-container",position:"right",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP2.TITLE"),text:t.translate.instant("JOYRIDE.DASHBOARD.STEP2.TEXT")}},{element:".watching-container",position:"right",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP3.TITLE"),text:[t.translate.instant("JOYRIDE.DASHBOARD.STEP3.TEXT1"),t.translate.instant("JOYRIDE.DASHBOARD.STEP3.TEXT2")]}}],$(".project-list .create-project-button").is(":hidden")||e.push({element:".project-list .create-project-button",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP4.TITLE"),text:[t.translate.instant("JOYRIDE.DASHBOARD.STEP4.TEXT1"),t.translate.instant("JOYRIDE.DASHBOARD.STEP4.TEXT2")]}}),e}}(this),backlog:function(t){return function(){var e;return e=[{element:".summary",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP1.TITLE"),text:[t.translate.instant("JOYRIDE.BACKLOG.STEP1.TEXT1"),t.translate.instant("JOYRIDE.BACKLOG.STEP1.TEXT2")]}},{element:".backlog-table-empty",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP2.TITLE"),text:t.translate.instant("JOYRIDE.BACKLOG.STEP2.TEXT")}},{element:".sprints",position:"left",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP3.TITLE"),text:t.translate.instant("JOYRIDE.BACKLOG.STEP3.TEXT")}}],t.checkPermissionsService.check("add_us")&&e.push({element:".new-us",position:"rigth",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP4.TITLE"),text:t.translate.instant("JOYRIDE.BACKLOG.STEP4.TEXT")}}),e}}(this),kanban:function(t){return function(){var e;return e=[{element:".kanban-table-inner",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.KANBAN.STEP1.TITLE"),text:t.translate.instant("JOYRIDE.KANBAN.STEP1.TEXT")}},{element:".card-placeholder",position:"right",joyride:{title:t.translate.instant("JOYRIDE.KANBAN.STEP2.TITLE"),text:t.translate.instant("JOYRIDE.KANBAN.STEP2.TEXT")}}],t.checkPermissionsService.check("add_us")&&e.push({element:".add-action",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.KANBAN.STEP3.TITLE"),text:[t.translate.instant("JOYRIDE.KANBAN.STEP3.TEXT1"),t.translate.instant("JOYRIDE.KANBAN.STEP3.TEXT2")]}}),e}}(this)}},r.prototype.get=function(t){var e,r;return r=this.getConfig(),e=r[t].call(this),_.map(e,function(t){var e;return e="",t.joyride.title&&(e+="

"+t.joyride.title+"

"),_.isArray(t.joyride.text)?_.forEach(t.joyride.text,function(t){return e+="

"+t+"

"}):e+="

"+t.joyride.text+"

",t.intro=e,t})},r}(taiga.Service),angular.module("taigaComponents").service("tgJoyRideService",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i,o){var s,a,c;return r.zoomIndex=t.get("kanban_zoom")||2,r.levels=5,c=[["ref"],["subject"],["owner","tags","extra_info","unfold"],["attachments"],["related_tasks","empty_extra_info"]],s=function(e){return null==e&&(e=0),t.get("kanban_zoom")!==e&&t.set("kanban_zoom",e),_.reduce(c,function(t,r,n){return n<=e&&(t=t.concat(r)),t})},r.$watch("zoomIndex",function(t){var e;return e=s(t),r.onZoomChange({zoomLevel:t,zoom:e})}),a=r.$watch(function(){return e.project},function(t){if(t)return t.get("my_permissions").indexOf("view_tasks")===-1&&(r.levels=4),a()})},{scope:{onZoomChange:"&"},template:'',link:r}},angular.module("taigaComponents").directive("tgKanbanBoardZoom",["$tgStorage","tgProjectService",t])}.call(this),function(){var t;t=function(t){var e;return e=function(t,e,r){},{restrict:"AE",scope:{},controllerAs:"vm",controller:function(){return this.close=function(){return t.open=!1},Object.defineProperties(this,{open:{get:function(){return t.open}},title:{get:function(){return t.title}},desc:{get:function(){return t.desc}}})},link:e,templateUrl:"components/live-announcement/live-announcement.html"}},t.$inject=["tgLiveAnnouncementService"],angular.module("taigaComponents").directive("tgLiveAnnouncement",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(){this.open=!1,this.title="",this.desc=""}return e(r,t),r.prototype.show=function(t,e){return this.open=!0,this.title=t,this.desc=e},r}(taiga.Service),angular.module("taigaComponents").service("tgLiveAnnouncementService",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){return e.$watch("project",function(e){var n,i;if(e=Immutable.fromJS(e))return i=e.get("logo_big_url"),i?(r.attr("src",i),r.css("background","")):(n=t.getDefaultProjectLogo(e.get("slug"),e.get("id")),r.attr("src",n.src),r.css("background",n.color))})},{link:e,scope:{project:"=tgProjectLogoBigSrc"}}},t.$inject=["tgProjectLogoService"],angular.module("taigaComponents").directive("tgProjectLogoBigSrc",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){return e.$watch("project",function(e){var n,i;if(e=Immutable.fromJS(e))return i=e.get("logo_small_url"),i?(r.attr("src",i),r.css("background","")):(n=t.getDefaultProjectLogo(e.get("slug"),e.get("id")),r.attr("src",n.src),r.css("background",n.color))})},{link:e,scope:{project:"=tgProjectLogoSmallSrc"}}},t.$inject=["tgProjectLogoService"],angular.module("taigaComponents").directive("tgProjectLogoSmallSrc",t)}.call(this),function(){var t;t=function(){function t(t,e){this.projectService=t,this.lightboxFactory=e,this.project=null,this.menu=Immutable.Map()}return t.$inject=["tgProjectService","tgLightboxFactory"],t.prototype.show=function(){return this.project=this.projectService.project,this.active=this._getActiveSection(),this._setVideoConference(),this._setMenuPermissions()},t.prototype.hide=function(){return this.project=null,this.menu={}},t.prototype.search=function(){return this.lightboxFactory.create("tg-search-box",{"class":"lightbox lightbox-search"})},t.prototype._setVideoConference=function(){var t;if(t=this._videoConferenceUrl())return this.project=this.project.set("videoconferenceUrl",t)},t.prototype._setMenuPermissions=function(){if(this.menu=Immutable.Map({epics:!1,backlog:!1,kanban:!1,issues:!1,wiki:!1}),this.project.get("is_epics_activated")&&this.project.get("my_permissions").indexOf("view_epics")!==-1&&(this.menu=this.menu.set("epics",!0)),this.project.get("is_backlog_activated")&&this.project.get("my_permissions").indexOf("view_us")!==-1&&(this.menu=this.menu.set("backlog",!0)),this.project.get("is_kanban_activated")&&this.project.get("my_permissions").indexOf("view_us")!==-1&&(this.menu=this.menu.set("kanban",!0)),this.project.get("is_issues_activated")&&this.project.get("my_permissions").indexOf("view_issues")!==-1&&(this.menu=this.menu.set("issues",!0)),this.project.get("is_wiki_activated")&&this.project.get("my_permissions").indexOf("view_wiki_pages")!==-1)return this.menu=this.menu.set("wiki",!0)},t.prototype._getActiveSection=function(){var t,e,r,n,i;return n=this.projectService.section,i=this.projectService.sectionsBreadcrumb,t=i.lastIndexOf("backlog"),e=i.lastIndexOf("kanban"),t===-1&&e===-1||(r=e===-1||t>e?"backlog":"kanban"),"backlog-kanban"===n&&("backlog"===r||"kanban"===r?n=r:this.project.get("is_backlog_activated")&&!this.project.get("is_kanban_activated")?n="backlog":!this.project.get("is_backlog_activated")&&this.project.get("is_kanban_activated")&&(n="kanban")),n},t.prototype._videoConferenceUrl=function(){var t,e;if("appear-in"===this.project.get("videoconferences"))t="https://appear.in/";else if("talky"===this.project.get("videoconferences"))t="https://talky.io/";else{if("jitsi"!==this.project.get("videoconferences"))return"custom"===this.project.get("videoconferences")?this.project.get("videoconferences_extra_data"):"";t="https://meet.jit.si/"}return e=this.project.get("videoconferences_extra_data")?this.project.get("slug")+"-"+taiga.slugify(this.project.get("videoconferences_extra_data")):this.project.get("slug"),"jitsi"===this.project.get("videoconferences")&&(e=e.replace(/-/g,"")),t+e},t}(),angular.module("taigaComponents").controller("ProjectMenu",t)}.call(this),function(){var t,e;e=this.taiga,t=function(t,e){var r;return r=function(e,r,n,i){var o;return o=function(){return t.project?i.show():i.hide()},e.$watch(function(){return t.project},o),e.vm.fixed=!1,$(window).on("scroll",function(){var t;return t=$(window).scrollTop(),t>100&&e.vm.fixed===!1?(e.vm.fixed=!0,e.$digest()):t<100&&e.vm.fixed===!0?(e.vm.fixed=!1,e.$digest()):void 0})},{scope:{},controller:"ProjectMenu",controllerAs:"vm",templateUrl:"components/project-menu/project-menu.html",link:r}},t.$inject=["tgProjectService","tgLightboxFactory"],angular.module("taigaComponents").directive("tgProjectMenu",t)}.call(this),function(){var t,e,r,n;e=angular.module("taigaComponents"),r=this.taiga.normalizeString,t=this.taiga.groupBy,n=function(e){var n;return n=function(n,i,o,s){var a,c,u,l,p,d,f;return n.templateUrl="components/search-list/search-list-"+n.itemType+"-choice.html",n.currentSelected=null,c=!1,a=[],l={},"issue"===n.itemType&&(n.milestonesById=t(n.project.milestones,function(t){return t.id})),n.filterClosed&&(n.showClosed=!1,"sprint"===n.itemType&&(n.textShowClosed=e.instant("BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS"),n.textHideClosed=e.instant("BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS"))),i.on("click",".choice",function(t){var e,r,i;return e=parseInt($(t.currentTarget).data("choice-id")),i=(null!=(r=o.ngModel)?r.id:void 0)!==e?l[e]:null,s.$setViewValue(i),n.currentSelected=i,n.$apply()}),u=function(t,e){return _.includes(p(e),p(t))},p=function(t){return"string"!=typeof t&&(t=t.toString()),r(t.toUpperCase())},f=function(){return n.currentSelected=null,s.$setViewValue(null)},d=function(){return f(),n.searchText="",a=angular.copy(n.items),l=t(a,function(t){return t.id})},n.isVisible=function(t){var e;return!(n.filterClosed&&!n.showClosed)||("sprint"!==n.itemType||!t.closed&&!t.is_closed||((null!=(e=n.currentSelected)?e.id:void 0)===t.id&&f(),!1))},n.toggleShowClosed=function(t){return n.showClosed=!n.showClosed},n.filterItems=function(t){if(n.filtering=!0,n.items=_.filter(a,function(e){var r;return r=e.getAttrs(),Array.isArray(n.filterBy)?_.some(n.filterBy,function(e){return u(t,r[e])}):u(t,r[n.filterBy])}),!_.find(n.items,n.currentSelected))return f()},n.$watch("items",function(t){if(!n.filtering&&t)return d()})},{link:n,templateUrl:"components/search-list/search-list.html",require:"ngModel",scope:{label:"@",placeholder:"@",project:"=",filterBy:"=",items:"=",itemType:"@",filterClosed:"=",itemDisabled:"="}}},e.directive("tgSearchList",["$translate",n])}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){var t,e,r,n;return r=function(t){var e,r,n;return t.addClass("selected"),n=t.position().top+t.outerHeight(),e=t.parent().outerHeight(),n>e?(r=n-e,t.parent().scrollTop(t.parent().scrollTop()+r)):t.position().top<0?t.parent().scrollTop(t.parent().scrollTop()+t.position().top):void 0},t=function(t,e,n){var i,o,s;if(i=t.find(".selected"),40===e){if(!i.length)return r(t.find("li:first"));if(o=i.next("li"),o.length)return i.removeClass("selected"),r(o)}else if(38===e){if(!i.length)return r(t.find("li:last"));if(s=i.prev("li"),s.length)return i.removeClass("selected"),r(s)}},n=function(){return $(document).off(".tags-keyboard-navigation")},e=function(e,r){return n(),$(r).parent().on("keydown.tags-keyboard-navigation",function(n){return function(n){var i;if(i=n.keyCode?n.keyCode:n.which,40===i||38===i)return n.preventDefault(),t(r,i,e)}}(this)),e.$on("$destroy",n)},{link:e,templateUrl:"components/tags/tag-dropdown/tag-dropdown.html",scope:{onSelectTag:"&",colorArray:"=",tag:"="}}},e.directive("tgTagsDropdown",t)}.call(this),function(){var t,e,r;r=this.taiga.trim,e=angular.module("taigaCommon"),t=function(){function t(t){this.tagLineService=t,this.disableColorSelection=!1,this.newTag={name:"",color:null},this.colorArray=[],this.addTag=!1}return t.$inject=["tgTagLineService"],t.prototype.checkPermissions=function(){return this.tagLineService.checkPermissions(this.project.my_permissions,this.permissions)},t.prototype._createColorsArray=function(t){return this.colorArray=this.tagLineService.createColorsArray(t)},t.prototype.displayTagInput=function(){return this.addTag=!0},t.prototype.addNewTag=function(t,e){if(this.newTag.name="",this.newTag.color=null,t.length)return this.disableColorSelection?t.length?this.onAddTag({name:t,color:e}):void 0:(this.project.tags_colors[t]&&(e=this.project.tags_colors[t]),this.onAddTag({name:t,color:e}))},t.prototype.selectColor=function(t){return this.newTag.color=t},t}(),e.controller("TagLineCommonCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){var t;return t=function(t,e,r,n){var i;return _.isUndefined(r.disableColorSelection)||(n.disableColorSelection=!0),i=t.$watch("vm.project",function(t){if(t&&Object.keys(t).length)return i(),n.disableColorSelection?void 0:n.colorArray=n._createColorsArray(n.project.tags_colors)}),e.on("keydown",".tag-input",function(r){var i;return 27===r.keyCode?(n.addTag=!1,n.newTag.name="",n.newTag.color="",r.stopPropagation()):13===r.keyCode&&(r.preventDefault(),e.find(".tags-dropdown .selected").length?(i=$(".tags-dropdown .selected .tags-dropdown-name").text(),n.addNewTag(i,null)):n.addNewTag(n.newTag.name,n.newTag.color)),t.$apply()})},{link:t,scope:{permissions:"@",loadingAddTag:"=",loadingRemoveTag:"=",tags:"=",project:"=",onAddTag:"&",onDeleteTag:"&"},templateUrl:"components/tags/tag-line-common/tag-line-common.html",controller:"TagLineCommonCtrl",controllerAs:"vm",bindToController:!0}},e.directive("tgTagLineCommon",t)}.call(this),function(){var t,e,r;r=this.taiga.trim,e=angular.module("taigaCommon"),t=function(){function t(t,e,r){this.rootScope=t,this.confirm=e,this.modelTransform=r,this.loadingAddTag=!1}return t.$inject=["$rootScope","$tgConfirm","$tgQueueModelTransformation"],t.prototype.onDeleteTag=function(t){var e,n,i,o;return this.loadingRemoveTag=t[0],n=function(t){return function(e){return t.rootScope.$broadcast("object:updated"),t.loadingRemoveTag=!1,e}}(this),e=function(t){return function(){return t.confirm.notify("error"),t.loadingRemoveTag=!1}}(this),i=r(t[0].toLowerCase()),o=this.modelTransform.save(function(t){var e;return e=_.clone(t.tags),_.remove(e,function(t){return t[0]===i}),t.tags=e,t}),o.then(n,e)},t.prototype.onAddTag=function(t,e){var n,i,o;return this.loadingAddTag=!0,i=function(t){return function(e){return t.rootScope.$broadcast("object:updated"),t.addTag=!1,t.loadingAddTag=!1,e}}(this),n=function(t){return function(){return t.loadingAddTag=!1,t.confirm.notify("error")}}(this),o=this.modelTransform.save(function(n){return function(n){var i,o;return o=r(t.toLowerCase()),i=_.clone(n.tags),i.push([t,e]),n.tags=i,n}}(this)),o.then(i,n)},t}(),e.controller("TagLineCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){return{scope:{item:"=",permissions:"@",project:"="},templateUrl:"components/tags/tag-line-detail/tag-line-detail.html",controller:"TagLineCtrl",controllerAs:"vm",bindToController:!0}},e.directive("tgTagLine",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=angular.module("taigaCommon"),t=function(t){function e(){}return r(e,t),e.$inject=[],e.prototype.checkPermissions=function(t,e){return _.includes(t,e)},e.prototype.createColorsArray=function(t){return _.map(t,function(t,e){return[e,t]})},e}(taiga.Service),e.service("tgTagLineService",t)}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){return{templateUrl:"components/tags/tag/tag.html",scope:{tag:"<",loadingRemoveTag:"<",onDeleteTag:"&",hasPermissions:"@"}}},e.directive("tgTag",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){var o,s;return e.zoomIndex=t.get("taskboard_zoom")||2,e.levels=4,s=[["ref"],["subject"],["owner","tags","extra_info","unfold"],["attachments","empty_extra_info"],["related_tasks"]],o=function(e){return null==e&&(e=0),t.get("taskboard_zoom")!==e&&t.set("taskboard_zoom",e),_.reduce(s,function(t,r,n){return n<=e&&(t=t.concat(r)),t})},e.$watch("zoomIndex",function(t){var r;return r=o(t),e.onZoomChange({zoomLevel:t,zoom:r})})},{scope:{onZoomChange:"&"},template:'',link:e}},angular.module("taigaComponents").directive("tgTaskboardZoom",["$tgStorage",t])}.call(this),function(){var t;t=function(t,e,r,n,i){var o;return o=function(t,e,r){return t.privacyPolicyUrl=n.get("privacyPolicyUrl"),t.termsOfServiceUrl=n.get("termsOfServiceUrl"),t.GDPRUrl=n.get("GDPRUrl")},{restrict:"AE",scope:{},controllerAs:"vm",controller:function(){return this.close=function(){var n,o,s;return t.open=!1,o=r.getUser(),void 0===o.read_new_terms&&(s=o.getAttrs(),s.read_new_terms=!1,o=i.make_model("users",s)),o.read_new_terms=!0,n=function(t){return r.setUser(t)},e.save(o).then(n)},Object.defineProperties(this,{open:{get:function(){return t.open}}})},link:o,templateUrl:"components/terms-announcement/terms-announcement.html"}},t.$inject=["tgTermsAnnouncementService","$tgRepo","$tgAuth","$tgConfig","$tgModel"],angular.module("taigaComponents").directive("tgTermsAnnouncement",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(){this.open=!1}return e(r,t),r.prototype.show=function(){return this.open=!0},r}(taiga.Service),angular.module("taigaComponents").service("tgTermsAnnouncementService",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){return e.privacyPolicyUrl=t.get("privacyPolicyUrl"),e.termsOfServiceUrl=t.get("termsOfServiceUrl"),e.target=!1,e.privacyPolicyUrl&&e.termsOfServiceUrl||(e.target=!0),r.on("change","input[name='accepted_terms']",function(t){var r;return r=angular.element(t.currentTarget),e.target=r.is(":checked"),e.$apply()})},{restrict:"AE",link:e,scope:{target:"="},templateUrl:"components/terms-of-service-and-privacy-policy-notice/terms-of-service-and-privacy-policy-notice.html"}},angular.module("taigaComponents").directive("tgTermsOfServiceAndPrivacyPolicyNotice",["$tgConfig",t])}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i){return r.vm={},r.vm.tribeHost=t.config.tribeHost,r.vm.url=e.protocol()+"://"+e.host(),"http"===e.protocol()&&80!==e.port()?r.vm.url=r.vm.url+":"+e.port():"https"===e.protocol()&&443!==e.port()?r.vm.url=r.vm.url+":"+e.port():void 0},{scope:{usId:"=",projectSlug:"="},controllerAs:"vm",templateUrl:"components/tribe-button/tribe-button.html",link:r}},t.$inject=["$tgConfig","$tgLocation"],angular.module("taigaComponents").directive("tgTribeButton",t)}.call(this),function(){var t;t=function(t){var e,r;return r=function(e,r,n){return e.vm={},e.vm.tribeHost=t.config.tribeHost,e.vm.show=function(){return e.vm.open=!0},e.vm.hide=function(t){return e.vm.open=!1}},e={templateUrl:"components/tribe-button/tribe-linked.html",scope:{gigTitle:"=",gigId:"="},link:r}},t.$inject=["$tgConfig"],angular.module("taigaComponents").directive("tgTribeLinked",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,this.user=this.currentUserService.getUser(),this.isMouseOver=!1,this.loading=!1}return t.$inject=["tgCurrentUserService"],t.prototype.showTextWhenMouseIsOver=function(){return this.isMouseOver=!0},t.prototype.showTextWhenMouseIsLeave=function(){return this.isMouseOver=!1},t.prototype.toggleVote=function(){var t;return this.loading=!0,t=this.item.is_voter?this._downvote():this._upvote(),t["finally"](function(t){return function(){return t.loading=!1}}(this)),t},t.prototype._upvote=function(){return this.onUpvote().then(function(t){return function(){return t.showTextWhenMouseIsLeave()}}(this))},t.prototype._downvote=function(){return this.onDownvote()},t}(),angular.module("taigaComponents").controller("VoteButton",t)}.call(this),function(){var t;t=function(){return{scope:{},controller:"VoteButton",bindToController:{item:"=",onUpvote:"=",onDownvote:"="},controllerAs:"vm",templateUrl:"components/vote-button/vote-button.html"}},angular.module("taigaComponents").directive("tgVoteButton",t)}.call(this),function(){var t;t=function(){function t(t,e){this.currentUserService=t,this.rootScope=e,this.user=this.currentUserService.getUser(),this.isMouseOver=!1,this.loading=!1}return t.$inject=["tgCurrentUserService","$rootScope"],t.prototype.showTextWhenMouseIsOver=function(){return this.isMouseOver=!0},t.prototype.showTextWhenMouseIsLeave=function(){return this.isMouseOver=!1},t.prototype.openWatchers=function(){return this.rootScope.$broadcast("watcher:add",this.item)},t.prototype.getPerms=function(){var t,e;return this.item?(t=this.item._name,e={userstories:"modify_us",issues:"modify_issue",tasks:"modify_task",epics:"modify_epic"},e[t]):""},t.prototype.toggleWatch=function(){var t;return this.loading=!0,t=this.item.is_watcher?this._unwatch():this._watch(),t["finally"](function(t){return function(){return t.loading=!1}}(this)),t},t.prototype._watch=function(){return this.onWatch().then(function(t){return function(){return t.showTextWhenMouseIsLeave()}}(this))},t.prototype._unwatch=function(){return this.onUnwatch()},t}(),angular.module("taigaComponents").controller("WatchButton",t)}.call(this),function(){var t;t=function(){return{scope:{},controller:"WatchButton",bindToController:{item:"=",onWatch:"=",onUnwatch:"="},controllerAs:"vm",templateUrl:function(t,e){return"components/watch-button/watch-button-"+e.environment+".html"}}},angular.module("taigaComponents").directive("tgWatchButton",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o;return i={epics:"epic",userstories:"us",issues:"issue",tasks:"task"},o=function(r,n){return t.addAttachment(e.vm.projectId,e.vm.comment.comment.id,i[e.vm.comment.comment._name],r,!0,!0).then(function(t){return n(t.getIn(["file","name"]),t.getIn(["file","url"]))})},e.uploadFiles=function(t,e){var r,n,i,s;for(s=[],n=0,i=t.length;n\n \n \n"}},angular.module("taigaComponents").directive("tgCommentEditWysiwyg",["tgAttachmentsFullService",t])}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o;return e.editableDescription=!1,e.saveComment=function(t,r){return e.content="",e.vm.type.comment=t,e.vm.onAddComment({callback:r})},i={epics:"epic",userstories:"us",issues:"issue",tasks:"task"},o=function(r,n){return t.addAttachment(e.vm.projectId,e.vm.type.id,i[e.vm.type._name],r,!0,!0).then(function(t){return n(t.getIn(["file","name"]),t.getIn(["file","url"]))})},e.onChange=function(t){return e.vm.type.comment=t},e.uploadFiles=function(t,e){var r,n,i,s;for(s=[],n=0,i=t.length;n\n \n \n" -}},angular.module("taigaComponents").directive("tgCommentWysiwyg",["tgAttachmentsFullService",t])}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o;return i={userstories:"us",issues:"issue",tasks:"task"},o=function(r,n){return t.addAttachment(e.vm.projectId,e.vm.comment.comment.id,i[e.vm.comment.comment._name],r).then(function(t){return n(t.getIn(["file","name"]),t.getIn(["file","url"]))})},e.uploadFiles=function(t,e){var r,n,i,s;for(s=[],n=0,i=t.length;n\n \n \n"}},angular.module("taigaComponents").directive("tgCustomFieldEditWysiwyg",["tgAttachmentsFullService",t])}.call(this),function(){var t;t=function(t,e,r,n,i){var o;return o=function(i,o,s){var a;return i.editableDescription=!1,i.saveDescription=function(n,i){var o;return o=t.save(function(t){return t.description=n,t}),o.then(function(){return r.notify("success"),e.$broadcast("object:updated")}),o.then(null,function(){return r.notify("error")}),o["finally"](i)},a=function(t,e){return n.addAttachment(i.project.id,i.item.id,s.type,t).then(function(t){return e(t.getIn(["file","name"]),t.getIn(["file","url"]))})},i.uploadFiles=function(t,e){var r,n,i,o;for(o=[],n=0,i=t.length;n\n \n \n\n \n\n \n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\n \n"}},angular.module("taigaComponents").directive("tgItemWysiwyg",["$tgQueueModelTransformation","$rootScope","$tgConfirm","tgAttachmentsFullService","$translate",t])}.call(this),function(){var t;t=function(){function t(){Prism.plugins.customClass.prefix("prism-"),Prism.plugins.customClass.map({})}return t.prototype.getLanguages=function(){return new Promise(function(t){return function(e,r){return t.languages?e(t.languages):t.loadPromise?t.loadPromise.then(function(){return e(t.languages)}):t.loadPromise=$.getJSON("/"+window._version+"/prism/prism-languages.json").then(function(r){return t.loadPromise=null,t.languages=_.map(r,function(t){return t.url="/"+window._version+"/prism/"+t.file,t}),e(t.languages)})}}(this))},t.prototype.getLanguageInClassList=function(t){var e;return e=_.find(this.languages,function(e){return!!_.find(t,function(t){return"language-"+e.name===t})}),e?e.name:null},t.prototype.loadLanguage=function(t){return new Promise(function(e){return Prism.languages[t]?e():ljs.load("/"+window._version+"/prism/prism-"+t+".min.js",e)})},t.prototype.replaceCodeBrToNl=function(t){return $(t).find("br").replaceWith("\n")},t.prototype.hightlightCode=function(t){var e;if(this.replaceCodeBrToNl(t),e=this.getLanguageInClassList(t.classList))return this.loadLanguage(e).then(function(){return Prism.highlightElement(t)})},t.prototype.addHightlighter=function(t){var e;return e=$(t).find("code"),e.each(function(t){return function(e,r){return t.hightlightCode(r)}}(this))},t}(),angular.module("taigaComponents").service("tgWysiwygCodeHightlighterService",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){return e.$watch("visible",function(n){return n&&!r.hasClass("open")?(e.open=!0,t.open(r,null,e.onClose),e.$applyAsync(function(){var t;if(t=r[0].querySelector("textarea"))return t.select()})):!n&&r.hasClass("open")?(e.open=!1,t.close(r)):void 0})},{scope:{languages:"<",codeLanguage:"<",code:"<",visible:"<",onClose:"&",onSave:"&"},link:e,templateUrl:"components/wysiwyg/wysiwyg-code-lightbox/wysiwyg-code-lightbox.html"}},angular.module("taigaComponents").directive("tgWysiwygCodeLightbox",["lightboxService",t])}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.projectService=t,this.wysiwygService=e,this.navurls=r,this.rs=n,this.cancelablePromise=null}return t.$inject=["tgProjectService","tgWysiwygService","$tgNavUrls","$tgResources"],t.prototype.searchEmoji=function(t,e){var r;return r=this.wysiwygService.searchEmojiByName(t),r=r.slice(0,10),e(r)},t.prototype.searchUser=function(t,e){var r,n;return r=["username","full_name","full_name_display"],n=this.projectService.project.toJS().members.filter(function(e){return function(e){var n,i,o;for(n=0,i=r.length;n=0)return!0;if(e[o].indexOf(t)>=0)return!0}return!1}}(this)),n=n.slice(0,10).map(function(t){return function(e){return e.url=t.navurls.resolve("user-profile",{project:t.projectService.project.get("slug"),username:e.username}),e}}(this)),e(n)},t.prototype.searchItem=function(t){return new Promise(function(e){return function(r,n){var i,o,s,a;return t=taiga.slugify(t),s=["issues","tasks","userstories"],a={issues:"project-issues-detail",tasks:"project-tasks-detail",userstories:"project-userstories-detail"},o=["ref","subject"],i=function(e){var r,n,i;for(r=0,n=o.length;r=0)return!0;return!1},e.cancelablePromise&&e.cancelablePromise.abort(),e.cancelablePromise=e.rs.search["do"](e.projectService.project.get("id"),t),e.cancelablePromise.then(function(t){var n,o,c,u,l;if(t.count<1||t.count===t.wikipages.length)return r([]);for(u=[],n=0,c=s.length;n0&&(o=t[l].filter(i),o=o.map(function(t){return t.url=e.navurls.resolve(a[l],{project:e.projectService.project.get("slug"),ref:t.ref}),t}),u=u.concat(o));return u=_.sortBy(u,["ref"]),r(u.slice(0,10))})}}(this))},t.prototype.search=function(t){return new Promise(function(e){return function(r){return"#".indexOf(t[0])!==-1?e.searchItem(t.replace("#","")).then(r):"@".indexOf(t[0])!==-1?e.searchUser(t.replace("@",""),r):":".indexOf(t[0])!==-1?e.searchEmoji(t.replace(":",""),r):void 0}}(this))},t}(),angular.module("taigaComponents").service("tgWysiwygMentionService",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.bindOnce,t=function(t,e,n,i,o,s,a,c,u,l){var p,d,f,h,g,m,v,y,b,S,j,k;return k=function(){if(window.getSelection){if(window.getSelection().empty)return window.getSelection().empty()}else{if(window.getSelection().removeAllRanges)return window.getSelection().removeAllRanges();if(document.selection)return document.selection.empty()}},m=function(t){return $(t.endContainer).parentsUntil(".editor","code")},v=function(t){return!!m(t).length},j=function(t,e){var r,n,i;return r=$(t).is("code")?t:$(t).closest("code")[0],i=r.parentNode,n=document.createElement("p"),n.innerText=r.innerText,i.parentNode.replaceChild(n,i),e.checkContentChanged(e.elements[0])},h=function(t,e){var r,n,i,o;return i=document.createElement("pre"),r=document.createElement("code"),t.startContainer.parentNode.nextSibling||$("
").insertAfter(t.startContainer.parentNode),o=t.endContainer.parentNode.nextSibling,n=t.extractContents(),r.appendChild(n),i.appendChild(r),o.parentNode.insertBefore(i,o),S(e),e.checkContentChanged(e.elements[0])},S=function(e){var r,n,i,o,s,a,c,u,l,p;if(e){for(l=e.elements[0].children,r=0,i=l.length;rRTL
",this.button.title="RTL",this.on(this.button,"click",this.handleClick.bind(this))},getButton:function(){return this.button},handleClick:function(t){var e;return e=MediumEditor.selection.getSelectionRange(document),"right"===e.commonAncestorContainer.parentNode.style.textAlign?document.execCommand("justifyLeft",!1):document.execCommand("justifyRight",!1)}}),g=function(t){return'\n \n'},d=MediumEditor.extensions.button.extend({name:"code",init:function(){var t;return t=_.find(this.base.options.toolbar.buttons,function(t){return"code"===t.name}),this.button=this.document.createElement("button"),this.button.classList.add("medium-editor-action"),this.button.innerHTML=t.contentDefault||"Code",this.button.title="Code",this.on(this.button,"click",this.handleClick.bind(this))},getButton:function(){return this.button},tagNames:["code"],handleClick:function(t){var e,r;if(e=MediumEditor.selection.getSelectionRange(self.document),v(e,this.base)?j(e.endContainer,this.base):(h(e,this.base),k()),r=this.base.getExtensionByName("toolbar"))return r.hideToolbar()}}),f=MediumEditor.extensions.paste.extend({doPaste:function(t,e,r){var n;return n=MediumEditor.util.htmlEntities(e),MediumEditor.util.insertHTMLCommand(this.document,n)}}),b=MediumEditor.util.isBlockContainer,MediumEditor.util.isBlockContainer=function(t){var e;return t?(e=t.tagName?t.tagName:t.parentNode.tagName,"code"===e.toLowerCase()||b(t)):b(t)},y=function(o,h,m){var v,y,b,k,I,E,T,C,P,w,A,O,R,M,U,D,N,x,L,F,B,H;return R=null,T=h.find(".medium"),E=h.find(".markdown"),b=null,w=!!m.$attr.editonly,M=!!m.$attr.notPersist,o.required=!!m.$attr.required,o.editMode=w||!1,o.mode=n.get("editor-mode","html"),o.markdown="",o.codeEditorVisible=!1,o.codeLans=[],a.getLanguages().then(function(t){return o.codeLans=t}),N=function(t){return o.editMode=t},x=function(t){var e;if(e=i.getHTML(t),T.html(e),a.addHightlighter(R.elements[0]),o.editMode)return S(R)},o.saveSnippet=function(t,e){var r;return o.codeEditorVisible=!1,b.innerText=e,r=b.parentNode,"remove-formating"===t?(b.className="",r.className="",j(b,R)):_.trim(e).length?(t?(b.className="language-"+t,r.className="language-"+t):(b.className="",r.className=""),a.hightlightCode(b),R.checkContentChanged(R.elements[0])):(b.parentNode.parentNode.removeChild(b.parentNode),R.checkContentChanged(R.elements[0])),L(),null},o.setMode=function(t){return n.set("editor-mode",t),"markdown"===t?B():x(o.markdown),o.mode=t,R.trigger("editableBlur",{},T[0])},o.save=function(t){t&&t.preventDefault(),"html"===o.mode&&B(),x(o.markdown),o.required&&!o.markdown.length||(o.saving=!0,o.outdated=!1,o.onSave({text:o.markdown,cb:D}))},o.cancel=function(t){t&&t.preventDefault(),w||N(!1),M?y():"html"===o.mode&&x(o.content||null),o.markdown=o.content,I(),R.trigger("blur",{},T[0]),o.outdated=!1,S(R),o.onCancel()},y=function(){return o.markdown="",T.html("")},D=function(){return o.saving=!1,w||N(!1),M&&y(),I(),R.trigger("blur",{},T[0]),u.trackEvent("develop","save wysiwyg",o.mode,1)},H=function(t,e){return r.isImage(t)?R.pasteHTML("
"):(t=$("
").text(t).html(),R.pasteHTML(""+t+"
"))},A=function(){var t;return t=n.get(o.storageKey),!(!t||!t.version||t.version===o.version)},P=function(){var t;return t=n.get(o.storageKey),!!t},C=function(){var t;return t=n.get(o.storageKey),t?t.text:o.content},I=function(){return n.remove(o.storageKey)},o.cancelWithConfirmation=function(){var r,n;return o.content===o.markdown?(o.cancel(),document.activeElement.blur(),document.body.click(),null):(n=t.instant("COMMON.CONFIRM_CLOSE_EDIT_MODE_TITLE"),r=t.instant("COMMON.CONFIRM_CLOSE_EDIT_MODE_MESSAGE"),e.ask(n,null,r).then(function(t){return o.cancel(),t.finish()}))},U=function(){var t;return t=$("
").html(T.html()),t.find("code br").replaceWith("\n"),t.html()},B=function(){var t;return t=U(),o.markdown=i.getMarkdown(t)},O=function(t){var e;if(o.storageKey)return e={},e.version=o.version||0,e.text=t,n.set(o.storageKey,e)},v=function(){return"html"===o.mode&&B(),O(o.markdown),o.onChange({markdown:o.markdown})},L=_.throttle(v,200),k=function(t,e){var r;return null==e&&(e=!1),t.length&&(r=i.getHTML(t),T.html(r)),R=new MediumEditor(T[0],{imageDragging:!1,placeholder:{text:o.placeholder},toolbar:{buttons:[{name:"bold",contentDefault:g("editor-bold")},{name:"italic",contentDefault:g("editor-italic")},{name:"strikethrough",contentDefault:g("editor-cross-out")},{name:"anchor",contentDefault:g("editor-link")},{name:"image",contentDefault:g("editor-image")},{name:"orderedlist",contentDefault:g("editor-list-n")},{name:"unorderedlist",contentDefault:g("editor-list-o")},{name:"h1",contentDefault:g("editor-h1")},{name:"h2",contentDefault:g("editor-h2")},{name:"h3",contentDefault:g("editor-h3")},{name:"quote",contentDefault:g("editor-quote")},{name:"removeFormat",contentDefault:g("editor-no-format")},{name:"rtl",contentDefault:g("editor-rtl")},{name:"code",contentDefault:g("editor-code")}]},extensions:{paste:new f,code:new d,autolist:new AutoList,alignright:new p,mediumMention:new MentionExtension({getItems:function(t,e){return c.search(t).then(e)}})}}),o.changeMarkdown=L,R.subscribe("editableInput",function(t){return o.$applyAsync(L)}),R.subscribe("editableClick",function(t){var e;if(e=new RegExp("^(?:[a-z]+:)?//","i"),t.target.href)return e.test(t.target.getAttribute("href"))||"_blank"===t.target.getAttribute("target")?(t.stopPropagation(),window.open(t.target.href)):l.url(t.target.href)}),R.subscribe("editableDrop",function(t){return o.onUploadFile({files:t.dataTransfer.files,cb:H})}),R.subscribe("editableKeydown",function(t){var e,r;return e=t.keyCode?t.keyCode:t.which,r=$(".medium-mention"),40!==e&&38!==e||!r.length?o.editMode&&27===e?(t.stopPropagation(),o.$applyAsync(o.cancelWithConfirmation)):27===e?T.blur():void 0:(t.stopPropagation(),void t.preventDefault())}),N(e),o.$applyAsync(function(){return a.addHightlighter(R.elements[0]),S(R)})},$(T[0]).on("mousedown",function(t){return t.target.href?(t.preventDefault(),t.stopPropagation()):o.$applyAsync(function(){if(!o.editMode)return N(!0),S(R)})}),$(T[0]).on("dblclick","pre",function(t){return o.$applyAsync(function(){return o.codeEditorVisible=!0,b=t.currentTarget.querySelector("code"),o.currentCodeLanguage=a.getLanguageInClassList(b.classList),o.code=b.innerText})}),F=o.$watch("content",function(t){var e;if(!_.isUndefined(t)){if(o.outdated=A(),!R&&P()&&N(!0),(o.markdown.length||t.length)&&o.markdown===t)return;return t=C(),o.markdown=t,R&&R.destroy(),s.open()?e=s.onEnd(function(){return k(t,o.editMode),e()}):k(t,o.editMode),F()}}),o.$on("$destroy",function(){if(R)return T.length&&$(T[0]).off(),R.destroy()})},{templateUrl:"common/components/wysiwyg-toolbar.html",scope:{placeholder:"@",version:"<",storageKey:"<",content:"<",onCancel:"&",onSave:"&",onUploadFile:"&",onChange:"&"},link:y}},angular.module("taigaComponents").directive("tgWysiwyg",["$translate","$tgConfirm","$tgStorage","tgWysiwygService","animationFrame","tgLoader","tgWysiwygCodeHightlighterService","tgWysiwygMentionService","$tgAnalytics","$location",t])}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.wysiwygCodeHightlighterService=t,this.projectService=e,this.navurls=r,this.emojis=n}return t.$inject=["tgWysiwygCodeHightlighterService","tgProjectService","$tgNavUrls","$tgEmojis"],t.prototype.searchEmojiByName=function(t){return this.emojis.searchByName(t)},t.prototype.pipeLinks=function(t){return t.replace(/\[\[(.*?)\]\]/g,function(t,e,r,n){var i,o,s;return o=e.split("|"),i=o[0],s=o[1]||o[0],"["+s+"]("+i+")"})},t.prototype.replaceUrls=function(t){var e,r,n,i,o;for(e=document.createElement("html"),e.innerHTML=t,o=e.querySelectorAll("a"),r=0,n=o.length;r(.*?)
<\/li>/g,"
  • $1
  • ")},t.prototype.getMarkdown=function(t){var e,r,n;return e={filter:["html","body","span","div"],replacement:function(t){return t}},r={filter:function(t){return function(t){return"PRE"===t.nodeName&&t.firstChild&&"CODE"===t.firstChild.nodeName}}(this),replacement:function(t){return function(e,r){var n;return n=t.wysiwygCodeHightlighterService.getLanguageInClassList(r.firstChild.classList),n||(n=""),"\n\n```"+n+"\n"+_.trim(r.firstChild.textContent)+"\n```\n\n"}}(this)},t=t.replace(/ (<\/.*>)/g,"$1"),t=this.emojis.replaceImgsByEmojiName(t),t=this.replaceUrls(t),t=this.removeTrailingListBr(t),n=toMarkdown(t,{gfm:!0,converters:[e,r]})},t.prototype.parseMentionMatches=function(t){var e,r,n,i,o,s,a;for(s="twitter",a=this.tagBuilder,r=[],o=/@[^\s]{1,50}[^.\s]/g,e=o.exec(t);null!==e;)n=e.index,i=t.charAt(n-1),e.index===o.lastIndex&&o.lastIndex++,e.forEach(function(t,e){return r.push(new Autolinker.match.Mention({tagBuilder:a,matchedText:t,offset:n,serviceName:s,mention:t.slice(1)}))}),e=o.exec(t);return r},t.prototype.autoLinkHTML=function(t){var e,r;return r=String(Autolinker.matcher.Mention.prototype.matcherRegexes.twitter),r.indexOf(".")===-1&&(r="@[^s]{1,50}[^.s]"),e=new Autolinker({mention:"twitter",hashtag:"twitter",replaceFn:function(t){return function(e){var r,n;return"mention"===e.getType()?(r=t.navurls.resolve("user-profile",{project:t.projectService.project.get("slug"),username:e.getMention()}),'@'+e.getMention()+""):"hashtag"===e.getType()?(n=t.navurls.resolve("project-detail-ref",{project:t.projectService.project.get("slug"),ref:e.getHashtag()}),'#'+e.getHashtag()+""):void 0}}(this)}),Autolinker.matcher.Mention.prototype.parseMatches=this.parseMentionMatches.bind(e),e.link(t)},t.prototype.getHTML=function(t){var e,r,n;return t&&t.length?(r={breaks:!0},t=this.emojis.replaceEmojiNameByImgs(t),t=this.pipeLinks(t),e=window.markdownit({breaks:!0}),e.use(window.markdownitLazyHeaders),n=e.render(t),n=this.searchWikiLinks(n),n=this.autoLinkHTML(n)):""},t}(),angular.module("taigaComponents").service("tgWysiwygService",t)}.call(this),function(){var t;t=function(){function t(t){this.translate=t,this.is_open=!1,this.texts={week:this.translate.instant("DISCOVER.FILTERS.WEEK"),month:this.translate.instant("DISCOVER.FILTERS.MONTH"),year:this.translate.instant("DISCOVER.FILTERS.YEAR"),all:this.translate.instant("DISCOVER.FILTERS.ALL_TIME")}}return t.$inject=["$translate"],t.prototype.currentText=function(){return this.texts[this.currentOrderBy]},t.prototype.open=function(){return this.is_open=!0},t.prototype.close=function(){return this.is_open=!1},t.prototype.orderBy=function(t){return this.currentOrderBy=t,this.is_open=!1,this.onChange({orderBy:this.currentOrderBy})},t}(),angular.module("taigaDiscover").controller("DiscoverHomeOrderBy",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{controller:"DiscoverHomeOrderBy",controllerAs:"vm",bindToController:!0,templateUrl:"discover/components/discover-home-order-by/discover-home-order-by.html",scope:{currentOrderBy:"=orderBy",onChange:"&"},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverHomeOrderBy",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.discoverProjectsService.projectsCount}}(this)),this.discoverProjectsService.fetchStats()}return t.$inject=["tgDiscoverProjectsService"],t.prototype.selectFilter=function(t){return this.onChange({filter:t,q:this.q})},t.prototype.submitFilter=function(){return this.onChange({filter:this.filter,q:this.q})},t}(),angular.module("taigaDiscover").controller("DiscoverSearchBar",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{controller:"DiscoverSearchBar",controllerAs:"vm",templateUrl:"discover/components/discover-search-bar/discover-search-bar.html",bindToController:!0,scope:{q:"=",filter:"=",onChange:"&"},compile:function(t,e){if(!e.q)return e.q=""},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverSearchBar",t)}.call(this),function(){var t;t=function(){function t(){this.like_is_open=0===this.orderBy.indexOf("-total_fans"),this.activity_is_open=0===this.orderBy.indexOf("-total_activity")}return t.$inject=[],t.prototype.openLike=function(){return this.like_is_open=!0,this.activity_is_open=!1,this.setOrderBy("-total_fans_last_week")},t.prototype.openActivity=function(){return this.activity_is_open=!0,this.like_is_open=!1,this.setOrderBy("-total_activity_last_week")},t.prototype.setOrderBy=function(t){return null==t&&(t=""),t||(this.like_is_open=!1,this.activity_is_open=!1),this.onChange({orderBy:t})},t}(),angular.module("taigaDiscover").controller("DiscoverSearchListHeader",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{controller:"DiscoverSearchListHeader",controllerAs:"vm",bindToController:!0,templateUrl:"discover/components/discover-search-list-header/discover-search-list-header.html",scope:{onChange:"&",orderBy:"="},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverSearchListHeader",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"featured",function(t){return function(){return t.discoverProjectsService.featured}}(this)),this.discoverProjectsService.fetchFeatured()}return t.$inject=["tgDiscoverProjectsService"],t}(),angular.module("taigaDiscover").controller("FeaturedProjects",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{controller:"FeaturedProjects",controllerAs:"vm",templateUrl:"discover/components/featured-projects/featured-projects.html",scope:{},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgFeaturedProjects",t)}.call(this),function(){var t;t=function(){return{templateUrl:"discover/components/highlighted/highlighted.html",scope:{loading:"=",highlighted:"=",orderBy:"="}}},t.$inject=[],angular.module("taigaDiscover").directive("tgHighlighted",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"highlighted",function(t){return function(){return t.discoverProjectsService.mostActive}}(this)),this.currentOrderBy="week",this.order_by=this.getOrderBy()}return t.$inject=["tgDiscoverProjectsService"],t.prototype.fetch=function(){return this.loading=!0,this.order_by=this.getOrderBy(),this.discoverProjectsService.fetchMostActive({order_by:this.order_by}).then(function(t){return function(){return t.loading=!1}}(this))},t.prototype.orderBy=function(t){return this.currentOrderBy=t,this.fetch()},t.prototype.getOrderBy=function(t){return"all"===this.currentOrderBy?"-total_activity":"-total_activity_last_"+this.currentOrderBy},t}(),angular.module("taigaDiscover").controller("MostActive",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){return n.fetch()},{controller:"MostActive",controllerAs:"vm",templateUrl:"discover/components/most-active/most-active.html",scope:{},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgMostActive",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"highlighted",function(t){return function(){return t.discoverProjectsService.mostLiked}}(this)),this.currentOrderBy="week",this.order_by=this.getOrderBy()}return t.$inject=["tgDiscoverProjectsService"],t.prototype.fetch=function(){return this.loading=!0,this.order_by=this.getOrderBy(),this.discoverProjectsService.fetchMostLiked({order_by:this.order_by}).then(function(t){return function(){return t.loading=!1}}(this))},t.prototype.orderBy=function(t){return this.currentOrderBy=t,this.fetch()},t.prototype.getOrderBy=function(){return"all"===this.currentOrderBy?"-total_fans":"-total_fans_last_"+this.currentOrderBy},t}(),angular.module("taigaDiscover").controller("MostLiked",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){return n.fetch()},{controller:"MostLiked",controllerAs:"vm",templateUrl:"discover/components/most-liked/most-liked.html",scope:{},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgMostLiked",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n){var i,o;this.location=t,this.navUrls=e,this.appMetaService=r,this.translate=n,o=this.translate.instant("DISCOVER.PAGE_TITLE"),i=this.translate.instant("DISCOVER.PAGE_DESCRIPTION"),this.appMetaService.setAll(o,i)}return t.$inject=["$tgLocation","$tgNavUrls","tgAppMetaService","$translate"],t.prototype.onSubmit=function(t){var e;return e=this.navUrls.resolve("discover-search"),this.location.search("text",t).path(e)},t}(),angular.module("taigaDiscover").controller("DiscoverHome",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n,i,o,s){var a,c;this.routeParams=t,this.discoverProjectsService=e,this.route=r,this.location=n,this.analytics=i,this.appMetaService=o,this.translate=s,this.page=1,taiga.defineImmutableProperty(this,"searchResult",function(t){return function(){return t.discoverProjectsService.searchResult}}(this)),taiga.defineImmutableProperty(this,"nextSearchPage",function(t){return function(){return t.discoverProjectsService.nextSearchPage}}(this)),this.q=this.routeParams.text,this.filter=this.routeParams.filter||"all",this.orderBy=this.routeParams.order_by||"",this.loadingGlobal=!1,this.loadingList=!1,this.loadingPagination=!1,c=this.translate.instant("DISCOVER.SEARCH.PAGE_TITLE"),a=this.translate.instant("DISCOVER.SEARCH.PAGE_DESCRIPTION"),this.appMetaService.setAll(c,a),this.analytics.trackPage(this.location.url(),"Discover Search")}return t.$inject=["$routeParams","tgDiscoverProjectsService","$route","$tgLocation","$tgAnalytics","tgAppMetaService","$translate"],t.prototype.fetch=function(){return this.page=1,this.discoverProjectsService.resetSearchList(),this.search()},t.prototype.fetchByGlobalSearch=function(){if(!this.loadingGlobal)return this.loadingGlobal=!0,this.fetch().then(function(t){return function(){return t.loadingGlobal=!1}}(this))},t.prototype.fetchByOrderBy=function(){if(!this.loadingList)return this.loadingList=!0,this.fetch().then(function(t){return function(){return t.loadingList=!1}}(this))},t.prototype.showMore=function(){if(!this.loadingPagination)return this.loadingPagination=!0,this.page++,this.search().then(function(t){return function(){return t.loadingPagination=!1}}(this))},t.prototype.search=function(){var t,e;return t=this.getFilter(),e={page:this.page,q:this.q,order_by:this.orderBy},_.assign(e,t),this.discoverProjectsService.fetchSearch(e)},t.prototype.getFilter=function(){return"people"===this.filter?{is_looking_for_people:!0}:"scrum"===this.filter?{is_backlog_activated:!0}:"kanban"===this.filter?{is_kanban_activated:!0}:{}},t.prototype.onChangeFilter=function(t,e){return this.filter=t,this.q=e,this.route.updateParams({filter:this.filter,text:this.q}),this.analytics.trackPage(this.location.url(),"Discover Search"),this.fetchByGlobalSearch()},t.prototype.onChangeOrder=function(t){return this.orderBy=t,this.route.updateParams({order_by:t}),this.analytics.trackPage(this.location.url(),"Discover Search"),this.fetchByOrderBy()},t}(),angular.module("taigaDiscover").controller("DiscoverSearch",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){return n.fetch()},{controller:"DiscoverSearch",controllerAs:"vm",link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverSearch",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga,t=function(t){function n(t,r){this.rs=t,this.projectsService=r,this._mostLiked=Immutable.List(),this._mostActive=Immutable.List(),this._featured=Immutable.List(),this._searchResult=Immutable.List(),this._projectsCount=0,this.decorate=this.projectsService._decorate.bind(this.projectsService),e.defineImmutableProperty(this,"mostLiked",function(t){return function(){return t._mostLiked}}(this)),e.defineImmutableProperty(this,"mostActive",function(t){return function(){return t._mostActive}}(this)),e.defineImmutableProperty(this,"featured",function(t){return function(){return t._featured}}(this)),e.defineImmutableProperty(this,"searchResult",function(t){return function(){return t._searchResult}}(this)),e.defineImmutableProperty(this,"nextSearchPage",function(t){return function(){return t._nextSearchPage}}(this)),e.defineImmutableProperty(this,"projectsCount",function(t){return function(){return t._projectsCount}}(this))}var i;return r(n,t),n.$inject=["tgResources","tgProjectsService"],i={discover_mode:!0},n.prototype.fetchMostLiked=function(t){var e;return e=_.extend({},i,t),this.rs.projects.getProjects(e,!1).then(function(t){return function(e){var r,n;return r=e.data.slice(0,5),n=Immutable.fromJS(r),n=n.map(t.decorate),t._mostLiked=n}}(this))},n.prototype.fetchMostActive=function(t){var e;return e=_.extend({},i,t),this.rs.projects.getProjects(e,!1).then(function(t){return function(e){var r,n;return r=e.data.slice(0,5),n=Immutable.fromJS(r),n=n.map(t.decorate),t._mostActive=n}}(this))},n.prototype.fetchFeatured=function(){var t;return t=_.extend({},i),t.is_featured=!0,this.rs.projects.getProjects(t,!1).then(function(t){return function(e){var r,n;return r=e.data.slice(0,4),n=Immutable.fromJS(r),n=n.map(t.decorate),t._featured=n}}(this))},n.prototype.resetSearchList=function(){return this._searchResult=Immutable.List()},n.prototype.fetchStats=function(){return this.rs.stats.discover().then(function(t){return function(e){return t._projectsCount=e.getIn(["projects","total"])}}(this))},n.prototype.fetchSearch=function(t){var e;return e=_.extend({},i,t),this.rs.projects.getProjects(e).then(function(t){return function(e){var r;return t._nextSearchPage=!!e.headers("X-Pagination-Next"),r=Immutable.fromJS(e.data),r=r.map(t.decorate),t._searchResult=t._searchResult.concat(r)}}(this))},n}(e.Service),angular.module("taigaDiscover").service("tgDiscoverProjectsService",t)}.call(this),function(){var t,e,r,n;r=this.taiga,n=r.trim,e=r.getRandomDefaultColor,t=function(){function t(t,r,n,i){this.confirm=t,this.projectService=r, -this.epicsService=n,this.analytics=i,this.project=this.projectService.project.toJS(),this.newEpic={color:e(),status:this.project.default_epic_status,tags:[]},this.attachments=Immutable.List(),this.loading=!1}return t.$inject=["$tgConfirm","tgProjectService","tgEpicsService","$tgAnalytics"],t.prototype.createEpic=function(){if(this.validateForm())return this.loading=!0,this.epicsService.createEpic(this.newEpic,this.attachments).then(function(t){return function(e){return t.analytics.trackEvent("epic","create","create epic",1),t.onCreateEpic(),t.loading=!1}}(this))["catch"](function(t){return function(e){if(t.loading=!1,t.setFormErrors(e.data),e.data._error_message)return t.confirm.notify("error",e.data._error_message)}}(this))},t.prototype.selectColor=function(t){return this.newEpic.color=t},t.prototype.addTag=function(t,e){if(t=n(t.toLowerCase()),!_.find(this.newEpic.tags,function(e){return e[0]===t}))return this.newEpic.tags.push([t,e])},t.prototype.deleteTag=function(t){return _.remove(this.newEpic.tags,function(e){return e[0]===t[0]})},t.prototype.addAttachment=function(t){return this.attachments.push(t)},t}(),angular.module("taigaEpics").controller("CreateEpicCtrl",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){var i;return i=e.find("form").checksley(),n.validateForm=function(t){return function(){return i.validate()}}(this),n.setFormErrors=function(t){return function(t){return i.setErrors(t)}}(this)},{link:t,templateUrl:"epics/create-epic/create-epic.html",controller:"CreateEpicCtrl",controllerAs:"vm",bindToController:{onCreateEpic:"&"},scope:{}}},angular.module("taigaEpics").directive("tgCreateEpic",t)}.call(this),function(){var t;t=function(){function t(t,e,r){this.confirm=t,this.projectService=e,this.epicsService=r,this.displayUserStories=!1,this.displayAssignedTo=!1,this.displayStatusList=!1,this.loadingStatus=!1,this.project=this.projectService.project.toJS(),this._calculateProgressBar()}return t.$inject=["$tgConfirm","tgProjectService","tgEpicsService"],t.prototype._calculateProgressBar=function(){var t,e;return this.epic.getIn(["status_extra_info","is_closed"])===!0?this.percentage="100%":(t=this.epic.getIn(["user_stories_counts","progress"]),e=this.epic.getIn(["user_stories_counts","total"]),0===e?this.percentage="0%":this.percentage=100*t/e+"%")},t.prototype.canEditEpics=function(){return this.projectService.hasPermission("modify_epic")},t.prototype.toggleUserStoryList=function(){return this.displayUserStories?this.displayUserStories=!1:this.epicsService.listRelatedUserStories(this.epic).then(function(t){return function(e){return t.epicStories=e,t.displayUserStories=!0}}(this))["catch"](function(t){return function(){return t.confirm.notify("error")}}(this))},t.prototype.updateStatus=function(t){return this.displayStatusList=!1,this.loadingStatus=!0,this.epicsService.updateEpicStatus(this.epic,t)["catch"](function(t){return function(){return t.confirm.notify("error")}}(this))["finally"](function(t){return function(){return t.loadingStatus=!1}}(this))},t.prototype.updateAssignedTo=function(t){return this.assignLoader=!0,this.epicsService.updateEpicAssignedTo(this.epic,(null!=t?t.id:void 0)||null)["catch"](function(t){return function(){return t.confirm.notify("error")}}(this)).then(function(t){return function(){return t.assignLoader=!1}}(this))},t}(),angular.module("taigaEpics").controller("EpicRowCtrl",t)}.call(this),function(){var t;t=function(){return{templateUrl:"epics/dashboard/epic-row/epic-row.html",controller:"EpicRowCtrl",controllerAs:"vm",bindToController:!0,scope:{epic:"=",column:"="}}},angular.module("taigaEpics").directive("tgEpicRow",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,r,n,i,o,s,a,c,u){this.params=t,this.errorHandlingService=r,this.lightboxFactory=n,this.lightboxService=i,this.confirm=o,this.projectService=s,this.epicsService=a,this.appMetaService=c,this.translate=u,this.sectionName="EPICS.SECTION_NAME",e.defineImmutableProperty(this,"project",function(t){return function(){return t.projectService.project}}(this)),e.defineImmutableProperty(this,"epics",function(t){return function(){return t.epicsService.epics}}(this)),this.appMetaService.setfn(this._setMeta.bind(this))}return t.$inject=["$routeParams","tgErrorHandlingService","tgLightboxFactory","lightboxService","$tgConfirm","tgProjectService","tgEpicsService","tgAppMetaService","$translate"],t.prototype._setMeta=function(){var t;return this.project?(t={projectName:this.project.get("name"),projectDescription:this.project.get("description")},{title:this.translate.instant("EPICS.PAGE_TITLE",t),description:this.translate.instant("EPICS.PAGE_DESCRIPTION",t)}):null},t.prototype.loadInitialData=function(){return this.epicsService.clear(),this.projectService.setProjectBySlug(this.params.pslug).then(function(t){return function(){return t.projectService.isEpicsDashboardEnabled()?t.projectService.hasPermission("view_epics")?t.epicsService.fetchEpics():t.errorHandlingService.permissionDenied():t.errorHandlingService.notFound()}}(this))},t.prototype.canCreateEpics=function(){return this.projectService.hasPermission("add_epic")},t.prototype.onCreateEpic=function(){var t;return t=function(t){return function(){t.lightboxService.closeAll(),t.confirm.notify("success")}}(this),this.lightboxFactory.create("tg-create-epic",{"class":"lightbox lightbox-create-epic open","on-create-epic":"onCreateEpic()"},{onCreateEpic:t.bind(this)})},t}(),angular.module("taigaEpics").controller("EpicsDashboardCtrl",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i){var o,s,a;if(e.hasPermission("modify_epic"))return o=t(i.tgEpicsSortable),s=dragula([n[0]],{copySortSource:!1,copy:!1,mirrorContainer:n[0],moves:function(t){return $(t).is("div.epics-table-body-row")}}),s.on("dragend",function(t){var e,n,i;return n=$(t),e=n.scope().epic,i=n.index(),r.$apply(function(){return o(r,{epic:e,newIndex:i})})}),a=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&s.dragging}}),r.$on("$destroy",function(){return n.off(),s.destroy()})},{link:r}},t.$inject=["$parse","tgProjectService"],angular.module("taigaComponents").directive("tgEpicsSortable",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.generateHash,t=function(){function t(t,n,i,o,s){this.confirm=t,this.epicsService=n,this.timeout=i,this.storage=o,this.projectService=s,this.hash=e([this.projectService.project.get("id"),"epics"]),this.displayOptions=!1,this.displayVotes=!0,this.column=this.storage.get(this.hash,{votes:!0,name:!0,project:!0,sprint:!0,assigned:!0,status:!0,progress:!0}),r.defineImmutableProperty(this,"epics",function(t){return function(){return t.epicsService.epics}}(this)),r.defineImmutableProperty(this,"disabledEpicsPagination",function(t){return function(){return t.epicsService._disablePagination}}(this)),r.defineImmutableProperty(this,"loadingEpics",function(t){return function(){return t.epicsService._loadingEpics}}(this))}return t.$inject=["$tgConfirm","tgEpicsService","$timeout","$tgStorage","tgProjectService"],t.prototype.toggleEpicTableOptions=function(){return this.displayOptions=!this.displayOptions},t.prototype.reorderEpic=function(t,e){return t.get("epics_order")===e?null:this.epicsService.reorderEpic(t,e).then(null,function(t){return function(){return t.confirm.notify("error")}}(this))},t.prototype.nextPage=function(){return this.epicsService.nextPage()},t.prototype.hoverEpicTableOption=function(){if(this.timer)return this.timeout.cancel(this.timer)},t.prototype.hideEpicTableOption=function(){return this.timer=this.timeout(function(t){return function(){return t.displayOptions=!1}}(this),400)},t.prototype.updateViewOptions=function(){return this.storage.set(this.hash,this.column)},t}(),angular.module("taigaEpics").controller("EpicsTableCtrl",t)}.call(this),function(){var t;t=function(){return{templateUrl:"epics/dashboard/epics-table/epics-table.html",controller:"EpicsTableCtrl",controllerAs:"vm",scope:{}}},angular.module("taigaEpics").directive("tgEpicsTable",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(){this._calculateProgressBar()}return t.$inject=[],t.prototype._calculateProgressBar=function(){var t,e;return this.story.get("is_closed")===!0?this.percentage="100%":(t=this.story.get("tasks").size,e=this.story.get("tasks").filter(function(t){return t.get("is_closed")}).size,0===t?this.percentage="0%":this.percentage=100*e/t+"%")},t}(),e.controller("StoryRowCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){return{templateUrl:"epics/dashboard/story-row/story-row.html",controller:"StoryRowCtrl",controllerAs:"vm",bindToController:!0,scope:{story:"=",column:"="}}},e.directive("tgStoryRow",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,r,n,i){this.projectService=t,this.attachmentsService=r,this.resources=n,this.xhrError=i,this.clear(),e.defineImmutableProperty(this,"epics",function(t){return function(){return t._epics}}(this))}return t.$inject=["tgProjectService","tgAttachmentsService","tgResources","tgXhrErrorService"],t.prototype.clear=function(){return this._loadingEpics=!1,this._disablePagination=!1,this._page=1,this._epics=Immutable.List()},t.prototype.fetchEpics=function(t){return null==t&&(t=!1),this._loadingEpics=!0,this._disablePagination=!0,this.resources.epics.list(this.projectService.project.get("id"),this._page).then(function(e){return function(r){return t?(e.clear(),e._epics=r.list):e._epics=e._epics.concat(r.list),e._loadingEpics=!1,e._disablePagination=!r.headers("x-pagination-next")}}(this))["catch"](function(t){return function(e){return t.xhrError.response(e)}}(this))},t.prototype.nextPage=function(){return this._page++,this.fetchEpics()},t.prototype.listRelatedUserStories=function(t){return this.resources.userstories.listInEpic(t.get("id"))},t.prototype.createEpic=function(t,e,r){return r?t.project=r:t.project=this.projectService.project.get("id"),this.resources.epics.post(t).then(function(t){return function(r){var n;return e?(n=_.map(e.toJS(),function(e){return t.attachmentsService.upload(e.file,r.get("id"),r.get("project"),"epic")}),Promise.all(n).then(t.fetchEpics.bind(t,!0))):r}}(this))},t.prototype.reorderEpic=function(t,e){var r,n,i,o,s,a,c,u,l;return s={},this._epics.forEach(function(t){return s[t.get("id")]=t.get("epics_order")}),l=this.epics.filter(function(e){return function(e){return e.get("id")!==t.get("id")}}(this)),n=l.slice(0,e),r=l.slice(e),a=n.last(),o=a?a.get("epics_order")+1:0,s[t.get("id")]=o,c=n.filter(function(t){return function(t){return t.get("epics_order")===a.get("epics_order")}}(this)),u=_.fromPairs(c.map(function(t){return function(t){return[t.get("id"),t.get("epics_order")]}}(this)).toJS()),r.forEach(function(t){return s[t.get("id")]=t.get("epics_order")+1}),this._epics=this._epics.map(function(t){return t.set("epics_order",s[t.get("id")])}),this._epics=this._epics.sortBy(function(t){return t.get("epics_order")}),i={epics_order:o,version:t.get("version")},this.resources.epics.reorder(t.get("id"),i,u).then(function(t){return function(e){return t._epics=t._epics.map(function(t){return t.get("id")===e.get("id")?e:t})}}(this))},t.prototype.reorderRelatedUserstory=function(t,e,r,n){var i,o,s,a,c,u,l,p,d;return d=e.filter(function(t){return function(t){return t.get("id")!==r.get("id")}}(this)),i=d.slice(0,n),c=i.last(),a=c?c.get("epic_order")+1:0,u=i.filter(function(t){return function(t){return t.get("epic_order")===c.get("epic_order")}}(this)),l=_.fromPairs(u.map(function(t){return function(t){return[t.get("id"),t.get("epic_order")]}}(this)).toJS()),o={order:a},s=t.get("id"),p=r.get("id"),this.resources.epics.reorderRelatedUserstory(s,p,o,l).then(function(e){return function(){return e.listRelatedUserStories(t)}}(this))},t.prototype.replaceEpic=function(t){return this._epics=this._epics.map(function(e){return e.get("id")===t.get("id")?t:e})},t.prototype.updateEpicStatus=function(t,e){var r;return r={status:e,version:t.get("version")},this.resources.epics.patch(t.get("id"),r).then(this.replaceEpic.bind(this))},t.prototype.updateEpicAssignedTo=function(t,e){var r;return r={assigned_to:e,version:t.get("version")},this.resources.epics.patch(t.get("id"),r).then(this.replaceEpic.bind(this))},t}(),angular.module("taigaEpics").service("tgEpicsService",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(t,e){this.projectService=t,this.epicsService=e,this.sectionName="Epics",this.showCreateRelatedUserstoriesLightbox=!1}return t.$inject=["tgProjectService","tgEpicsService"],t.prototype.showRelatedUserStoriesSection=function(){var t;return this.projectService.hasPermission("view_epics")||(null!=(t=this.userstories)?t.length:void 0)>0},t.prototype.userCanSort=function(){return this.projectService.hasPermission("modify_epic")},t.prototype.loadRelatedUserstories=function(){return this.epicsService.listRelatedUserStories(this.epic).then(function(t){return function(e){return t.userstories=e}}(this))},t.prototype.reorderRelatedUserstory=function(t,e){return this.epicsService.reorderRelatedUserstory(this.epic,this.userstories,t,e).then(function(t){return function(e){return t.userstories=e}}(this))},t}(),e.controller("RelatedUserStoriesCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(t,e,r,n){this.currentUserService=t,this.rs=e,this.confirm=r,this.analytics=n,this.projects=null,this.projectUserstories=Immutable.List(),this.loading=!1}return t.$inject=["tgCurrentUserService","tgResources","$tgConfirm","$tgAnalytics"],t.prototype.loadProjects=function(){if(null===this.projects)return this.projects=this.currentUserService.projects.get("unblocked")},t.prototype.filterUss=function(t,e){var r;return r=this.rs.userstories.listInAllProjects({project:t,q:e},!0).then(function(t){return function(e){var r,n;return r=t.epicUserstories.map(function(t){return t.get("id")}),n=e.filter(function(t){return r.indexOf(t.get("id"))===-1}),t.projectUserstories=n}}(this))},t.prototype.saveRelatedUserStory=function(t,e){var r,n,i;if(this.validateExistingUserstoryForm())return this.loading=!0,n=function(t){return function(e){return t.loading=!1,t.confirm.notify("error"),t.setExistingUserstoryFormErrors(e)}}(this),i=function(t){return function(){return t.analytics.trackEvent("epic related user story","create","create related user story on epic",1),t.loading=!1,e&&e(),t.loadRelatedUserstories()}}(this),r=this.epic.get("id"),this.rs.epics.addRelatedUserstory(r,t).then(i,n)},t.prototype.bulkCreateRelatedUserStories=function(t,e,r){var n,i,o;if(this.validateNewUserstoryForm())return this.loading=!0,i=function(t){return function(e){return t.loading=!1,t.confirm.notify("error"),t.setNewUserstoryFormErrors(e)}}(this),o=function(t){return function(){return t.analytics.trackEvent("epic related user story","create","create related user story on epic",1),t.loading=!1,r&&r(),t.loadRelatedUserstories()}}(this),n=this.epic.get("id"),this.rs.epics.bulkCreateRelatedUserStories(n,t,e).then(o,i)},t}(),e.controller("RelatedUserstoriesCreateCtrl",t)}.call(this),function(){var t,e,r;r=angular.module("taigaEpics"),e=this.taiga.debounceLeading,t=function(t){var r;return this.lightboxService=t,r=function(t,r,n,i){var o,s;return s=r.find(".new-user-story-form").checksley(),o=r.find(".existing-user-story-form").checksley(),i.validateNewUserstoryForm=function(t){return function(){return s.validate()}}(this),i.setNewUserstoryFormErrors=function(t){return function(t){return s.setErrors(t)}}(this),i.validateExistingUserstoryForm=function(t){return function(){return o.validate()}}(this),i.setExistingUserstoryFormErrors=function(t){return function(t){return o.setErrors(t)}}(this),t.showLightbox=function(e){return i.loadProjects(),t.selectProject(e).then(function(t){return function(){return lightboxService.open(r.find(".lightbox-create-related-user-stories"))}}(this))},t.closeLightbox=function(){return t.selectedUserstory=null,t.searchUserstory="",t.relatedUserstoriesText="",lightboxService.close(r.find(".lightbox-create-related-user-stories"))},t.$watch("vm.project",function(e){if(null!=e)return t.selectedProject=e.get("id")}),t.selectProject=function(e){return t.selectedUserstory=null,t.searchUserstory="",i.filterUss(e,t.searchUserstory)},t.onUpdateSearchUserstory=e(300,function(){return t.selectedUserstory=null,i.filterUss(t.selectedProject,t.searchUserstory)})},{link:r,templateUrl:"epics/related-userstories/related-userstories-create/related-userstories-create.html",controller:"RelatedUserstoriesCreateCtrl",controllerAs:"vm",bindToController:!0,scope:{showCreateRelatedUserstoriesLightbox:"=",project:"=",epic:"=",epicUserstories:"=",loadRelatedUserstories:"&"}}},t.$inject=["lightboxService"],r.directive("tgRelatedUserstoriesCreate",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(t,e){var r;return r=function(r,n,i){var o,s,a;if(e.hasPermission("modify_epic"))return o=t(i.tgRelatedUserstoriesSortable),s=dragula([n[0]],{copySortSource:!1,copy:!1,mirrorContainer:n[0],moves:function(t){return $(t).is("tg-related-userstory-row")}}),s.on("dragend",function(t){var e,n,i;return e=$(t),i=e.scope().us,n=e.index(),r.$apply(function(){return o(r,{us:i,newIndex:n})})}),a=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&s.dragging}}),r.$on("$destroy",function(){return n.off(),s.destroy()})},{link:r}},t.$inject=["$parse","tgProjectService"],e.directive("tgRelatedUserstoriesSortable",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){return{templateUrl:"epics/related-userstories/related-userstories.html",controller:"RelatedUserStoriesCtrl",controllerAs:"vm",bindToController:!0,scope:{userstories:"=",project:"=",epic:"="}}},t.$inject=[],e.directive("tgRelatedUserstories",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(t,e,r,n){this.avatarService=t,this.translate=e,this.confirm=r,this.rs=n}return t.$inject=["tgAvatarService","$translate","$tgConfirm","tgResources"],t.prototype.setAvatarData=function(){var t;return t=this.userstory.get("assigned_to_extra_info"),this.avatar=this.avatarService.getAvatar(t)},t.prototype.getAssignedToFullNameDisplay=function(){return this.userstory.get("assigned_to")?this.userstory.getIn(["assigned_to_extra_info","full_name_display"]):this.translate.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED")},t.prototype.onDeleteRelatedUserstory=function(){var t,e;return e=this.translate.instant("LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.TITLE"),t=this.translate.instant("LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.MESSAGE",{epicSubject:this.epic.get("subject")}),this.confirm.ask(e,null,t).then(function(e){return function(r){var n,i,o,s;return i=function(){return t=e.translate.instant("EPIC.ERROR_UNLINK_RELATED_USERSTORY",{errorMessage:t}),e.confirm.notify("error",null,t),r.finish(!1)},o=function(){return e.loadRelatedUserstories(),r.finish()},n=e.epic.get("id"),s=e.userstory.get("id"),e.rs.epics.deleteRelatedUserstory(n,s).then(o,i)}}(this))},t}(),e.controller("RelatedUserstoryRowCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){var t;return t=function(t,e,r,n){return n.setAvatarData()},{link:t,templateUrl:"epics/related-userstories/related-userstory-row/related-userstory-row.html",controller:"RelatedUserstoryRowCtrl",controllerAs:"vm",bindToController:!0,scope:{userstory:"=",epic:"=",project:"=",loadRelatedUserstories:"&"}}},t.$inject=[],e.directive("tgRelatedUserstoryRow",t)}.call(this),function(){var t,e,r=function(t,e){return function(){return t.apply(e,arguments)}},n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;e=this.taiga,t=function(t){function i(t,n,i,o,s,a,c,u){var l,p;this.routeParams=t,this.externalAppsService=n,this.window=i,this.currentUserService=o,this.location=s,this.navUrls=a,this.xhrError=c,this.loader=u,this.createApplicationToken=r(this.createApplicationToken,this),this._getApplicationToken=r(this._getApplicationToken,this),this._redirect=r(this._redirect,this),this.loader.start(!1),this._applicationId=this.routeParams.application,this._state=this.routeParams.state,this._getApplicationToken(),this._user=this.currentUserService.getUser(),this._application=null,p=encodeURIComponent(this.location.url()),l=this.navUrls.resolve("login"),this.loginWithAnotherUserUrl=l+"?next="+p,e.defineImmutableProperty(this,"user",function(t){return function(){return t._user}}(this)),e.defineImmutableProperty(this,"application",function(t){return function(){return t._application}}(this))}return n(i,t),i.$inject=["$routeParams","tgExternalAppsService","$window","tgCurrentUserService","$location","$tgNavUrls","tgXhrErrorService","tgLoader"],i.prototype._redirect=function(t){var e;return e=t.get("next_url"),this.window.open(e,"_self")},i.prototype._getApplicationToken=function(){return this.externalAppsService.getApplicationToken(this._applicationId,this._state).then(function(t){return function(e){return t._application=e.get("application"),e.get("auth_code")?t._redirect(e):t.loader.pageLoaded()}}(this))["catch"](function(t){return function(e){return t.loader.pageLoaded(),t.xhrError.response(e)}}(this))},i.prototype.cancel=function(){return this.window.history.back()},i.prototype.createApplicationToken=function(){return this.externalAppsService.authorizeApplicationToken(this._applicationId,this._state).then(function(t){return function(e){return t._redirect(e)}}(this))["catch"](function(t){return function(e){return t.xhrError.response(e)}}(this))},i}(e.Controller),angular.module("taigaExternalApps").controller("ExternalApp",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t){this.rs=t}return e(r,t),r.$inject=["tgResources"],r.prototype.getApplicationToken=function(t,e){return this.rs.externalapps.getApplicationToken(t,e)},r.prototype.authorizeApplicationToken=function(t,e){return this.rs.externalapps.authorizeApplicationToken(t,e)},r}(taiga.Service),angular.module("taigaExternalApps").service("tgExternalAppsService",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t){this.lightboxFactory=t}return e(r,t),r.$inject=["tgLightboxFactory"],r.prototype.sendFeedback=function(){return this.lightboxFactory.create("tg-lb-feedback",{"class":"lightbox lightbox-feedback lightbox-generic-form"})},r}(taiga.Service),angular.module("taigaFeedback").service("tgFeedbackService",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(t,e,r){this.currentUserService=t,this.permissionService=e,this.lightboxFactory=r,this.hiddenDeletedComment=!0}return t.$inject=["tgCurrentUserService","tgCheckPermissionsService","tgLightboxFactory"],t.prototype.showDeletedComment=function(){return this.hiddenDeletedComment=!1},t.prototype.hideDeletedComment=function(){return this.hiddenDeletedComment=!0},t.prototype.checkCancelComment=function(t){if(27===t.keyCode)return this.onEditMode({commentId:this.comment.id})},t.prototype.canEditDeleteComment=function(){if(this.currentUserService.getUser())return this.user=this.currentUserService.getUser(),this.user.get("id")===this.comment.user.pk||this.permissionService.check("modify_project")},t.prototype.saveComment=function(t,e){return this.onEditComment({commentId:this.comment.id,commentData:t,callback:e})},t.prototype.displayCommentHistory=function(){return this.lightboxFactory.create("tg-lb-display-historic",{"class":"lightbox lightbox-display-historic",comment:"comment",name:"name",object:"object"},{comment:this.comment,name:this.name,object:this.object})},t}(),e.controller("CommentCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){return{scope:{name:"@",object:"@",comment:"<",type:"<",loading:"<",editing:"<",deleting:"<",objectId:"<",editMode:"<",onEditMode:"&",onDeleteComment:"&",onRestoreDeletedComment:"&",onEditComment:"&"},templateUrl:"history/comments/comment.html",bindToController:!0,controller:"CommentCtrl",controllerAs:"vm"}},e.directive("tgComment",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(){}return t.$inject=[],t.prototype.initializePermissions=function(){return this.canAddCommentPermission="comment_"+this.name},t}(),e.controller("CommentsCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r,n){return n.initializePermissions()},{scope:{type:"<",name:"@",object:"@",comments:"<",onEditMode:"&",onDeleteComment:"&",onRestoreDeletedComment:"&",onAddComment:"&",onEditComment:"&",editMode:"<",loading:"<",deleting:"<",editing:"<",projectId:"="},templateUrl:"history/comments/comments.html",bindToController:!0,controller:"CommentsCtrl",controllerAs:"vm",link:t}},e.directive("tgComments",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(t){this.rs=t}return t.$inject=["$tgResources"],t.prototype._loadHistoric=function(){var t,e,r;return r=this.name,e=this.object,t=this.comment.id,this.rs.history.getCommentHistory(r,e,t).then(function(t){return function(e){return t.commentHistoryEntries=e}}(this))},t}(),e.controller("LightboxDisplayHistoricCtrl",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){return i._loadHistoric(),t.open(r)},{scope:{},bindToController:{name:"=",object:"=",comment:"="},templateUrl:"history/history-lightbox/comment-history-lightbox.html",controller:"LightboxDisplayHistoricCtrl",controllerAs:"vm",link:e}},t.$inject=["lightboxService"],angular.module("taigaHistory").directive("tgLbDisplayHistoric",t)}.call(this),function(){var t;t=function(){return{scope:{entry:"<"},templateUrl:"history/history-lightbox/history-entry.html"}},angular.module("taigaHistory").directive("tgHistoryEntry",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){return{templateUrl:"history/history-tabs/history-tabs.html",scope:{showCommentTab:"&",showActivityTab:"&",onActiveComments:"&",onActiveActivities:"&",onOrderComments:"&",activeTab:"<",commentsNum:"<",activitiesNum:"<",onReverse:"<"}}},e.directive("tgHistoryTabs",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(t,e,r,n){this.rs=t,this.repo=e,this.storage=r,this.projectService=n,this.editing=null,this.deleting=null,this.editMode={},this.viewComments=!0,this.reverse=this.storage.get("orderComments"),this._loadHistory()}return t.$inject=["$tgResources","$tgRepo","$tgStorage","tgProjectService"],t.prototype._loadHistory=function(){return this.rs.history.get(this.name,this.id).then(function(t){return function(e){return t._getComments(e),t._getActivities(e)}}(this))},t.prototype._getComments=function(t){return this.comments=_.filter(t,function(t){return""!==t.comment}),this.reverse&&this.comments-_.reverse(this.comments),this.commentsNum=this.comments.length},t.prototype._getActivities=function(t){return this.activities=_.filter(t,function(t){return Object.keys(t.values_diff).length>0}),this.activitiesNum=this.activities.length},t.prototype.showHistorySection=function(){return this.showCommentTab()||this.showActivityTab()},t.prototype.showCommentTab=function(){return this.commentsNum>0||this.projectService.hasPermission("comment_"+this.name)},t.prototype.showActivityTab=function(){return this.activitiesNum>0},t.prototype.toggleEditMode=function(t){return this.editMode[t]=!this.editMode[t]},t.prototype.onActiveHistoryTab=function(t){return this.viewComments=t},t.prototype.deleteComment=function(t){var e,r,n;return n=this.name,r=this.id,e=t,this.deleting=t,this.rs.history.deleteComment(n,r,e).then(function(t){return function(){return t._loadHistory(),t.deleting=null}}(this))},t.prototype.editComment=function(t,e){var r,n,i;return i=this.name,n=this.id,r=t,this.editing=t,this.rs.history.editComment(i,n,r,e).then(function(e){return function(){return e._loadHistory(),e.toggleEditMode(t),e.editing=null}}(this))},t.prototype.restoreDeletedComment=function(t){var e,r,n;return n=this.name,r=this.id,e=t,this.editing=t,this.rs.history.undeleteComment(n,r,e).then(function(t){return function(){return t._loadHistory(),t.editing=null}}(this))},t.prototype.addComment=function(t){return this.repo.save(this.type).then(function(e){return function(){return e._loadHistory(),t()}}(this))},t.prototype.onOrderComments=function(){return this.reverse=!this.reverse,this.storage.set("orderComments",this.reverse),this._loadHistory()},t}(),e.controller("HistorySection",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r,n){return t.$on("object:updated",function(){return n._loadHistory(t.type,t.id)})},{link:t,templateUrl:"history/history.html",controller:"HistorySection",controllerAs:"vm",bindToController:!0,scope:{type:"=",name:"@",id:"=",projectId:"="}}},t.$inject=[],e.directive("tgHistorySection",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(){}return t.$inject=[],t.prototype.diffTags=function(){if("tags"===this.type)return this.diffRemoveTags=_.difference(this.diff[0],this.diff[1]).toString(),this.diffAddTags=_.difference(this.diff[1],this.diff[0]).toString()},t}(),e.controller("ActivitiesDiffCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r,n){return n.diffTags()},{scope:{type:"<",diff:"<"},templateUrl:"history/history/history-diff.html",controller:"ActivitiesDiffCtrl",controllerAs:"vm",bindToController:!0,link:t}},e.directive("tgHistoryDiff",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r){},{scope:{activities:"<"},templateUrl:"history/history/history.html",link:t}},e.directive("tgHistory",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(t,r,n,i){return t.vm={},t.vm.duty=t.duty,t.vm.type=t.type,t.vm.getDutyType=function(){if(t.vm.duty){if("epics"===t.vm.duty.get("_name"))return e.instant("COMMON.EPIC");if("userstories"===t.vm.duty.get("_name"))return e.instant("COMMON.USER_STORY");if("tasks"===t.vm.duty.get("_name"))return e.instant("COMMON.TASK");if("issues"===t.vm.duty.get("_name"))return e.instant("COMMON.ISSUE")}}},{templateUrl:"home/duties/duty.html",scope:{duty:"=tgDuty",type:"@"},link:r}},t.$inject=["$tgNavUrls","$translate"],angular.module("taigaHome").directive("tgDuty",t)}.call(this),function(){var t;t=function(){function t(t,e,r){this.currentUserService=t,this.location=e,this.navUrls=r,this.currentUserService.getUser()||this.location.path(this.navUrls.resolve("discover"))}return t.$inject=["tgCurrentUserService","$location","$tgNavUrls"],t}(),angular.module("taigaHome").controller("Home",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga.groupBy,t=function(t){function n(t,e,r){this.navurls=t,this.rs=e,this.projectsService=r}return r(n,t),n.$inject=["$tgNavUrls","tgResources","tgProjectsService"],n.prototype._attachProjectInfoToWorkInProgress=function(t,e){var r,n,i,o,s;return r=function(t){return function(r,n){var i,o,s;return o=e.get(String(r.get("project"))),i={project:o.get("slug"),ref:r.get("ref")},s=t.navurls.resolve("project-"+n+"-detail",i),r=r.set("url",s),r=r.set("project",o),r=r.set("_name",n)}}(this),i=function(t,n){return t=t.filter(function(t){ -return e.get(String(t.get("project")))}),t=t.map(function(t){return r(t,n)})},o=t.get("assignedTo"),o.get("epics")&&(n=i(o.get("epics"),"epics"),o=o.set("epics",n)),o.get("userStories")&&(n=i(o.get("userStories"),"userstories"),o=o.set("userStories",n)),o.get("tasks")&&(n=i(o.get("tasks"),"tasks"),o=o.set("tasks",n)),o.get("issues")&&(n=i(o.get("issues"),"issues"),o=o.set("issues",n)),s=t.get("watching"),s.get("epics")&&(n=i(s.get("epics"),"epics"),s=s.set("epics",n)),s.get("userStories")&&(n=i(s.get("userStories"),"userstories"),s=s.set("userStories",n)),s.get("tasks")&&(n=i(s.get("tasks"),"tasks"),s=s.set("tasks",n)),s.get("issues")&&(n=i(s.get("issues"),"issues"),s=s.set("issues",n)),t=t.set("assignedTo",o),t=t.set("watching",s)},n.prototype.getWorkInProgress=function(t){var r,n,i,o,s,a,c,u,l,p,d,f,h,g,m,v,y;return p=Immutable.Map(),d=this.projectsService.getProjectsByUserId(t).then(function(t){return p=Immutable.fromJS(e(t.toJS(),function(t){return t.id}))}),o=Immutable.Map(),a={status__is_closed:!1,assigned_to:t},l={is_closed:!1,assigned_users:t},u={status__is_closed:!1,assigned_to:t},c={status__is_closed:!1,assigned_to:t},r=this.rs.epics.listInAllProjects(a).then(function(t){return o=o.set("epics",t)}),s=this.rs.userstories.listInAllProjects(l).then(function(t){return o=o.set("userStories",t)}),i=this.rs.tasks.listInAllProjects(u).then(function(t){return o=o.set("tasks",t)}),n=this.rs.issues.listInAllProjects(c).then(function(t){return o=o.set("issues",t)}),a={status__is_closed:!1,watchers:t},l={is_closed:!1,watchers:t},u={status__is_closed:!1,watchers:t},c={status__is_closed:!1,watchers:t},f=Immutable.Map(),h=this.rs.epics.listInAllProjects(a).then(function(t){return f=f.set("epics",t)}),v=this.rs.userstories.listInAllProjects(l).then(function(t){return f=f.set("userStories",t)}),m=this.rs.tasks.listInAllProjects(u).then(function(t){return f=f.set("tasks",t)}),g=this.rs.issues.listInAllProjects(c).then(function(t){return f=f.set("issues",t)}),y=Immutable.Map(),Promise.all([d,r,h,s,v,i,m,n,g]).then(function(t){return function(){return y=y.set("assignedTo",o),y=y.set("watching",f),y=t._attachProjectInfoToWorkInProgress(y,p)}}(this))},n}(taiga.Service),angular.module("taigaHome").service("tgHomeService",t)}.call(this),function(){var t;t=function(t){var e,r;return r=function(e,r,n,i){return e.vm={},taiga.defineImmutableProperty(e.vm,"projects",function(){return t.projects.get("recents")})},e={templateUrl:"home/projects/home-project-list.html",scope:{},link:r}},t.$inject=["tgCurrentUserService"],angular.module("taigaHome").directive("tgHomeProjectList",t)}.call(this),function(){var t;t=function(){function t(t){this.homeService=t,this.assignedTo=Immutable.Map(),this.watching=Immutable.Map()}return t.$inject=["tgHomeService"],t.prototype._setAssignedTo=function(t){var e,r,n,i;if(e=t.get("assignedTo").get("epics"),i=t.get("assignedTo").get("userStories"),n=t.get("assignedTo").get("tasks"),r=t.get("assignedTo").get("issues"),this.assignedTo=i.concat(n).concat(r).concat(e),this.assignedTo.size>0)return this.assignedTo=this.assignedTo.sortBy(function(t){return t.get("modified_date")}).reverse()},t.prototype._setWatching=function(t){var e,r,n,i;if(e=t.get("watching").get("epics"),i=t.get("watching").get("userStories"),n=t.get("watching").get("tasks"),r=t.get("watching").get("issues"),this.watching=i.concat(n).concat(r).concat(e),this.watching.size>0)return this.watching=this.watching.sortBy(function(t){return t.get("modified_date")}).reverse()},t.prototype.getWorkInProgress=function(t){return this.homeService.getWorkInProgress(t).then(function(t){return function(e){return t._setAssignedTo(e),t._setWatching(e)}}(this))},t}(),angular.module("taigaHome").controller("WorkingOn",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(t,r,n,i){var o,s;if(o=e.getUser())return s=o.get("id"),i.getWorkInProgress(s)},{controller:"WorkingOn",controllerAs:"vm",templateUrl:"home/working-on/working-on.html",scope:{},link:r}},t.$inject=["tgHomeService","tgCurrentUserService"],angular.module("taigaHome").directive("tgWorkingOn",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,e,r,n,i){this.projectService=t,this.rs=e,this.lightboxService=r,this.confirm=n,this.rootScope=i,this.project=this.projectService.project,this.roles=this.projectService.project.get("roles"),this.rolesValues={},this.loading=!1,this.defaultMaxInvites=4}return t.$inject=["tgProjectService","$tgResources","lightboxService","$tgConfirm","$rootScope"],t.prototype._areRolesValidated=function(){return Object.defineProperty(this,"areRolesValidated",{get:function(t){return function(){var e;return e=_.filter(Object.values(t.rolesValues),function(t){return t}),e.length===t.contactsToInvite.size+t.emailsToInvite.size}}(this)})},t.prototype._checkLimitMemberships=function(){var t;return null===this.project.get("max_memberships")?this.membersLimit=this.defaultMaxInvites:(t=Math.max(this.project.get("max_memberships")-this.project.get("total_memberships"),0),this.membersLimit=Math.min(t,this.defaultMaxInvites)),this.showWarningMessage=this.membersLimit=s.get("max_memberships_private_projects"),i&&n?(e="private-space-members",r=s.get("max_memberships_private_projects")):i?e="private-space":n&&(e="private-members",r=s.get("max_memberships_private_projects"))):(o=!this.currentUserService.canCreatePublicProjects().valid,n=null!==s.get("max_memberships_public_projects")&&t.headers.memberships>=s.get("max_memberships_public_projects"),o&&n?(e="public-space-members",r=s.get("max_memberships_public_projects")):o?e="public-space":n&&(e="public-members",r=s.get("max_memberships_public_projects"))),!!e&&{key:e,values:{max_memberships:r,members:t.headers.memberships}})},r}(taiga.Service),angular.module("taigaProjects").service("tgImportProjectService",t)}.call(this),function(){var t;t=function(){function t(){}return t.$inject=[],t.prototype.isDisabled=function(t){return this.invitedMembers.indexOf(t)===-1},t}(),angular.module("taigaProjects").controller("InviteMembersCtrl",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{link:t,templateUrl:"projects/create/invite-members/invite-members.html",controller:"InviteMembersCtrl",controllerAs:"vm",bindToController:!0,scope:{invitedMembers:"<",members:"<",onToggleInvitedMember:"&"}}},t.$inject=[],angular.module("taigaProjects").directive("tgInviteMembers",t)}.call(this),function(){var t;t=function(){return{templateUrl:"projects/create/invite-members/single-member/single-member.html",scope:{disabled:"<",avatar:"="}}},t.$inject=[],angular.module("taigaProjects").directive("tgSingleMember",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,this.canCreatePublicProjects=this.currentUserService.canCreatePublicProjects(),this.canCreatePrivateProjects=this.currentUserService.canCreatePrivateProjects(),this.projectForm=this.project.toJS(),this.projectForm.is_private=!1,this.projectForm.keepExternalReference=!1,"agile"===this.projectForm.importer_type?this.projectForm.project_type=null:this.projectForm.project_type="scrum",this.projectForm.create_subissues=!0,!this.canCreatePublicProjects.valid&&this.canCreatePrivateProjects.valid&&(this.projectForm.is_private=!0)}return t.$inject=["tgCurrentUserService"],t.prototype.checkUsersLimit=function(){return this.limitMembersPrivateProject=this.currentUserService.canAddMembersPrivateProject(this.members.size),this.limitMembersPublicProject=this.currentUserService.canAddMembersPublicProject(this.members.size)},t.prototype.saveForm=function(){return this.onSaveProjectDetails({project:Immutable.fromJS(this.projectForm)})},t.prototype.canCreateProject=function(){return this.projectForm.is_private?this.canCreatePrivateProjects.valid:this.canCreatePublicProjects.valid},t.prototype.isDisabled=function(){return!this.canCreateProject()},t}(),angular.module("taigaProjects").controller("JiraImportProjectFormCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return t.$watch("vm.members",n.checkUsersLimit.bind(n))},templateUrl:"projects/create/jira-import/jira-import-project-form/jira-import-project-form.html",controller:"JiraImportProjectFormCtrl",controllerAs:"vm",bindToController:!0,scope:{members:"<",project:"<",onSaveProjectDetails:"&",onCancelForm:"&",fetchingUsers:"<"}}},t.$inject=[],angular.module("taigaProjects").directive("tgJiraImportProjectForm",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.jiraImportService=t,this.confirm=e,this.translate=r,this.importProjectService=n,this.step="autorization-jira",this.project=null,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.jiraImportService.projects}}(this)),taiga.defineImmutableProperty(this,"members",function(t){return function(){return t.jiraImportService.projectUsers}}(this))}return t.$inject=["tgJiraImportService","$tgConfirm","$translate","tgImportProjectService"],t.prototype.startProjectSelector=function(){return this.step="project-select-jira",this.jiraImportService.fetchProjects()},t.prototype.onSelectProject=function(t){return this.step="project-form-jira",this.project=t,this.fetchingUsers=!0,this.jiraImportService.fetchUsers(this.project.get("id")).then(function(t){return function(){return t.fetchingUsers=!1}}(this))},t.prototype.onSaveProjectDetails=function(t){return this.project=t,this.step="project-members-jira"},t.prototype.onCancelMemberSelection=function(){return this.step="project-form-jira"},t.prototype.startImport=function(t){var e,r,n;return e=this.confirm.loader(this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.TITLE"),this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION"),!0),e.start(),r=this.project.get("project_type"),"issues"===r&&this.project.get("create_subissues")&&(r="issues-with-subissues"),n=this.jiraImportService.importProject(this.project.get("name"),this.project.get("description"),this.project.get("id"),t,this.project.get("keepExternalReference"),this.project.get("is_private"),r,this.project.get("importer_type")),this.importProjectService.importPromise(n).then(function(t){return function(){return e.stop()}}(this))},t.prototype.submitUserSelection=function(t){return this.startImport(t),null},t}(),angular.module("taigaProjects").controller("JiraImportCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return n.startProjectSelector()},templateUrl:"projects/create/jira-import/jira-import.html",controller:"JiraImportCtrl",controllerAs:"vm",bindToController:!0,scope:{onCancel:"&"}}},t.$inject=[],angular.module("taigaProjects").directive("tgJiraImport",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype, -t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.resources=t,this.location=e,this.projects=Immutable.List(),this.projectUsers=Immutable.List()}return e(r,t),r.$inject=["tgResources","$location"],r.prototype.setToken=function(t,e){return this.token=t,this.url=e},r.prototype.fetchProjects=function(){return this.resources.jiraImporter.listProjects(this.url,this.token).then(function(t){return function(e){return t.projects=e}}(this))},r.prototype.fetchUsers=function(t){return this.resources.jiraImporter.listUsers(this.url,this.token,t).then(function(t){return function(e){return t.projectUsers=e}}(this))},r.prototype.importProject=function(t,e,r,n,i,o,s,a){return this.resources.jiraImporter.importProject(this.url,this.token,t,e,r,n,i,o,s,a)},r.prototype.getAuthUrl=function(t){return new Promise(function(e){return function(r,n){return e.resources.jiraImporter.getAuthUrl(t).then(function(t){return e.authUrl=t.data.url,r(e.authUrl)},function(t){return n(t.data._error_message)})}}(this))},r.prototype.authorize=function(t){return new Promise(function(e){return function(r,n){return e.resources.jiraImporter.authorize(t).then(function(t){return e.token=t.data.token,e.url=t.data.url,r(t.data)},function(t){return n(new Error(t.status))})}}(this))},r}(taiga.Service),angular.module("taigaProjects").service("tgJiraImportService",t)}.call(this),function(){var t;t=function(){function t(){}return t.$inject=[],t.prototype.start=function(){return this.mode="search",this.invalid=!1},t.prototype.assignUser=function(){return this.onSelectUser({user:this.user,taigaUser:this.userEmail})},t.prototype.selectUser=function(t){return this.onSelectUser({user:this.user,taigaUser:Immutable.fromJS(t)})},t}(),angular.module("taigaProjects").controller("SelectImportUserLightboxCtrl",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i,o){return r.$watch("vm.visible",function(i){return i&&!n.hasClass("open")?(o.start(),t.open(n,null,r.vm.onClose).then(function(){return n.find("input").focus(),e.init(n)})):!i&&n.hasClass("open")?t.close(n).then(function(){return o.userEmail="",o.usersSearch=""}):void 0})},{controller:"SelectImportUserLightboxCtrl",controllerAs:"vm",bindToController:!0,scope:{user:"<",visible:"<",onClose:"&",onSelectUser:"&",selectableUsers:"<",isPrivate:"<",limitMembersPrivateProject:"<",limitMembersPublicProject:"<",displayEmailSelector:"<"},templateUrl:"projects/create/select-import-user-lightbox/select-import-user-lightbox.html",link:r}},t.$inject=["lightboxService","lightboxKeyboardNavigationService"],angular.module("taigaProjects").directive("tgSelectImportUserLightbox",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,this.canCreatePublicProjects=this.currentUserService.canCreatePublicProjects(),this.canCreatePrivateProjects=this.currentUserService.canCreatePrivateProjects(),this.projectForm=this.project.toJS(),this.platformName="Trello",this.projectForm.is_private=!1,this.projectForm.keepExternalReference=!1,!this.canCreatePublicProjects.valid&&this.canCreatePrivateProjects.valid&&(this.projectForm.is_private=!0)}return t.$inject=["tgCurrentUserService"],t.prototype.checkUsersLimit=function(){return this.limitMembersPrivateProject=this.currentUserService.canAddMembersPrivateProject(this.members.size),this.limitMembersPublicProject=this.currentUserService.canAddMembersPublicProject(this.members.size)},t.prototype.saveForm=function(){return this.onSaveProjectDetails({project:Immutable.fromJS(this.projectForm)})},t.prototype.canCreateProject=function(){return this.projectForm.is_private?this.canCreatePrivateProjects.valid:this.canCreatePublicProjects.valid},t.prototype.isDisabled=function(){return!this.canCreateProject()},t}(),angular.module("taigaProjects").controller("TrelloImportProjectFormCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return t.$watch("vm.members",n.checkUsersLimit.bind(n))},templateUrl:"projects/create/trello-import/trello-import-project-form/trello-import-project-form.html",controller:"TrelloImportProjectFormCtrl",controllerAs:"vm",bindToController:!0,scope:{members:"<",project:"<",onSaveProjectDetails:"&",onCancelForm:"&",fetchingUsers:"<"}}},t.$inject=[],angular.module("taigaProjects").directive("tgTrelloImportProjectForm",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.trelloImportService=t,this.confirm=e,this.translate=r,this.importProjectService=n,this.project=null,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.trelloImportService.projects}}(this)),taiga.defineImmutableProperty(this,"members",function(t){return function(){return t.trelloImportService.projectUsers}}(this))}return t.$inject=["tgTrelloImportService","$tgConfirm","$translate","tgImportProjectService"],t.prototype.startProjectSelector=function(){return this.trelloImportService.fetchProjects().then(function(t){return function(){return t.step="project-select-trello"}}(this))},t.prototype.onSelectProject=function(t){return this.step="project-form-trello",this.project=t,this.fetchingUsers=!0,this.trelloImportService.fetchUsers(this.project.get("id")).then(function(t){return function(){return t.fetchingUsers=!1}}(this))},t.prototype.onSaveProjectDetails=function(t){return this.project=t,this.step="project-members-trello"},t.prototype.onCancelMemberSelection=function(){return this.step="project-form-trello"},t.prototype.startImport=function(t){var e,r;return e=this.confirm.loader(this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.TITLE"),this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION"),!0),e.start(),r=this.trelloImportService.importProject(this.project.get("name"),this.project.get("description"),this.project.get("id"),t,this.project.get("keepExternalReference"),this.project.get("is_private")),this.importProjectService.importPromise(r).then(function(t){return function(){return e.stop()}}(this))},t.prototype.submitUserSelection=function(t){return this.startImport(t),null},t}(),angular.module("taigaProjects").controller("TrelloImportCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return n.startProjectSelector()},templateUrl:"projects/create/trello-import/trello-import.html",controller:"TrelloImportCtrl",controllerAs:"vm",bindToController:!0,scope:{onCancel:"&"}}},t.$inject=[],angular.module("taigaProjects").directive("tgTrelloImport",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t){this.resources=t,this.projects=Immutable.List(),this.projectUsers=Immutable.List(),this.token=null}return e(r,t),r.$inject=["tgResources"],r.prototype.setToken=function(t){return this.token=t},r.prototype.fetchProjects=function(){return this.resources.trelloImporter.listProjects(this.token).then(function(t){return function(e){return t.projects=e}}(this))},r.prototype.fetchUsers=function(t){return this.resources.trelloImporter.listUsers(this.token,t).then(function(t){return function(e){return t.projectUsers=e}}(this))},r.prototype.importProject=function(t,e,r,n,i,o){return this.resources.trelloImporter.importProject(this.token,t,e,r,n,i,o)},r.prototype.getAuthUrl=function(){return new Promise(function(t){return function(e){return t.resources.trelloImporter.getAuthUrl().then(function(r){return t.authUrl=r.data.url,e(t.authUrl)})}}(this))},r.prototype.authorize=function(t){return new Promise(function(e){return function(r,n){return e.resources.trelloImporter.authorize(t).then(function(t){return e.token=t.data.token,r(e.token)},function(t){return n(new Error(t.status))})}}(this))},r}(taiga.Service),angular.module("taigaProjects").service("tgTrelloImportService",t)}.call(this),function(){var t;t=function(t,e){return{link:function(r,n,i){return r.$watch("visible",function(i){return i&&!n.hasClass("open")?t.open(n,r.onClose).then(function(){return n.find("input").focus(),e.init(n)}):!i&&n.hasClass("open")?t.close(n):void 0})},templateUrl:"projects/create/warning-user-import-lightbox/warning-user-import-lightbox.html",scope:{visible:"<",onClose:"&",onConfirm:"&"}}},t.$inject=["lightboxService","lightboxKeyboardNavigationService"],angular.module("taigaProjects").directive("tgWarningUserImportLightbox",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.currentUserService.projects.get("all")}}(this))}return t.$inject=["tgCurrentUserService"],t}(),angular.module("taigaProjects").controller("ProjectsListing",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n,i){this.routeParams=t,this.appMetaService=e,this.auth=r,this.translate=n,this.projectService=i,this.user=this.auth.userData,taiga.defineImmutableProperty(this,"project",function(t){return function(){return t.projectService.project}}(this)),taiga.defineImmutableProperty(this,"members",function(t){return function(){return t.projectService.activeMembers}}(this)),this.appMetaService.setfn(this._setMeta.bind(this))}return t.$inject=["$routeParams","tgAppMetaService","$tgAuth","$translate","tgProjectService"],t.prototype._setMeta=function(){var t;return this.project?(t={projectName:this.project.get("name")},{title:this.translate.instant("PROJECT.PAGE_TITLE",t),description:this.project.get("description")}):null},t}(),angular.module("taigaProjects").controller("Project",t)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,e=this.taiga.groupBy,t=function(t){function e(t,e){this.rs=t,this.projectUrl=e}return n(e,t),e.$inject=["tgResources","$projectUrl"],e.prototype.create=function(t){return this.rs.projects.create(t)},e.prototype.duplicate=function(t,e){return this.rs.projects.duplicate(t,e)},e.prototype.getProjectBySlug=function(t){return this.rs.projects.getProjectBySlug(t).then(function(t){return function(e){return t._decorate(e)}}(this))},e.prototype.getProjectStats=function(t){return this.rs.projects.getProjectStats(t)},e.prototype.getProjectsByUserId=function(t,e){return this.rs.projects.getProjectsByUserId(t,e).then(function(t){return function(e){return e.map(t._decorate.bind(t))}}(this))},e.prototype._decorate=function(t){var e;return e=this.projectUrl.get(t.toJS()),t=t.set("url",e)},e.prototype.bulkUpdateProjectsOrder=function(t){return this.rs.projects.bulkUpdateOrder(t)},e.prototype.transferValidateToken=function(t,e){return this.rs.projects.transferValidateToken(t,e)},e.prototype.transferAccept=function(t,e,r){return this.rs.projects.transferAccept(t,e,r)},e.prototype.transferReject=function(t,e,r){return this.rs.projects.transferReject(t,e,r)},e}(r.Service),angular.module("taigaProjects").service("tgProjectsService",t)}.call(this),function(){var t;t=function(){return{templateUrl:"projects/transfer/cant-own-project-explanation.html"}},angular.module("taigaProjects").directive("tgCantOwnProjectExplanation",t)}.call(this),function(){var t,e;e=angular.module("taigaProjects"),t=function(){function t(t,e,r,n,i,o,s,a,c){this.routeParams=t,this.projectService=e,this.location=r,this.authService=n,this.currentUserService=i,this.navUrls=o,this.translate=s,this.confirmService=a,this.errorHandlingService=c}return t.$inject=["$routeParams","tgProjectsService","$location","$tgAuth","tgCurrentUserService","$tgNavUrls","$translate","$tgConfirm","tgErrorHandlingService"],t.prototype.initialize=function(){return this.projectId=this.project.get("id"),this.token=this.routeParams.token,this.showAddComment=!1,this._refreshUserData()},t.prototype._validateToken=function(){return this.projectService.transferValidateToken(this.projectId,this.token).then(null,function(t){return function(e,r){return t.errorHandlingService.notfound()}}(this))},t.prototype._refreshUserData=function(){return this.authService.refresh().then(function(t){return function(){return t._validateToken(),t._setProjectData(),t._checkOwnerData()}}(this))},t.prototype._setProjectData=function(){return this.canBeOwnedByUser=this.currentUserService.canOwnProject(this.project)},t.prototype._checkOwnerData=function(){var t,e;return t=this.currentUserService.getUser(),this.project.get("is_private")?(this.ownerMessage="ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PRIVATE",this.maxProjects=t.get("max_private_projects"),null===this.maxProjects&&(this.maxProjects=this.translate.instant("ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS")),this.currentProjects=t.get("total_private_projects"),e=t.get("max_memberships_private_projects")):(this.ownerMessage="ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PUBLIC",this.maxProjects=t.get("max_public_projects"),null===this.maxProjects&&(this.maxProjects=this.translate.instant("ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS")),this.currentProjects=t.get("total_public_projects"),e=t.get("max_memberships_public_projects")),this.validNumberOfMemberships=null===e||this.project.get("total_memberships")<=e},t.prototype.transferAccept=function(t,e){return this.loadingAccept=!0,this.projectService.transferAccept(this.project.get("id"),t,e).then(function(t){return function(){var e;e=t.navUrls.resolve("project-admin-project-profile-details",{project:t.project.get("slug")}),t.loadingAccept=!1,t.location.path(e),t.confirmService.notify("success",t.translate.instant("ADMIN.PROJECT_TRANSFER.ACCEPTED_PROJECT_OWNERNSHIP"),"",5e3)}}(this))},t.prototype.transferReject=function(t,e){return this.loadingReject=!0,this.projectService.transferReject(this.project.get("id"),t,e).then(function(t){return function(){var e;e=t.navUrls.resolve("home",{project:t.project.get("slug")}),t.loadingReject=!1,t.location.path(e),t.confirmService.notify("success",t.translate.instant("ADMIN.PROJECT_TRANSFER.REJECTED_PROJECT_OWNERNSHIP"),"",5e3)}}(this))},t.prototype.addComment=function(){return this.showAddComment=!0},t.prototype.hideComment=function(){return this.showAddComment=!1,this.reason=""},t}(),e.controller("TransferProjectController",t)}.call(this),function(){var t,e;e=angular.module("taigaProjects"),t=function(){var t;return t=function(t,e,r,n){return n.initialize()},{link:t,scope:{},bindToController:{project:"="},templateUrl:"projects/transfer/transfer-project.html",controller:"TransferProjectController",controllerAs:"vm"}},e.directive("tgTransferProject",t)}.call(this),function(){var t,e,r,n;n=this.taiga,r=this.taiga.sizeFormat,t=function(t,e,n,i,o,s){var a;return a={},a.list=function(r,n,i){var o,s,a,c;return c="attachments/"+r,s={object_id:n,project:i},o={headers:{"x-disable-pagination":"1"}},a=t.resolve(c),e.get(a,s,o).then(function(t){return Immutable.fromJS(t.data)})},a["delete"]=function(r,n){var i,o;return o="attachments/"+r,i=t.resolve(o)+("/"+n),e["delete"](i)},a.patch=function(r,n,i){var o,s;return s="attachments/"+r,o=t.resolve(s)+("/"+n),e.patch(o,i)},a.create=function(e,a,c,u,l){var p,d,f,h,g,m,v,y,_,b,S;return b="attachments/"+e,_=t.resolve(b),d=o.defer(),void 0===u?(d.reject(null),d.promise):(f=n.get("maxUploadFileSize",null),f&&u.size>f?(h={status:413,data:{_error_message:"'"+u.name+"' ("+r(u.size)+") is too heavy for our oompa loompas, try it with a smaller than ("+r(f)+")"}},d.reject(h),d.promise):(y=function(t){return function(t){return i.$apply(function(){return u.status="in-progress",u.size=r(t.total),u.progressMessage="upload "+r(t.loaded)+" of "+r(t.total),u.progressPercent=Math.round(t.loaded/t.total*100)+"%"})}}(this),m=function(t){return function(t){return i.$apply(function(){var e,r,n;u.status="done",n=t.target.status;try{e=JSON.parse(t.target.responseText)}catch(i){e={}}return n>=200&&n<400?(e=Immutable.fromJS(e),d.resolve(e)):(h={status:n,data:{_error_message:null!=(r=p.attached_file)?r[0]:void 0}},d.reject(h))})}}(this),v=function(t){return function(t){return i.$apply(function(){return u.status="error",d.reject("fail")})}}(this),p=new FormData,p.append("project",a),p.append("object_id",c),p.append("attached_file",u),p.append("from_comment",l),S=new XMLHttpRequest,S.upload.addEventListener("progress",y,!1),S.addEventListener("load",m,!1),S.addEventListener("error",v,!1),g=s.get("token"),S.open("POST",_),S.setRequestHeader("Authorization","Bearer "+g),S.setRequestHeader("Accept","application/json"),S.send(p),d.promise))},function(){return{attachments:a}}},t.$inject=["$tgUrls","$tgHttp","$tgConfig","$rootScope","$q","$tgStorage"],e=angular.module("taigaResources2"),e.factory("tgAttachmentsResource",t)}.call(this),function(){var t,e;t=function(t,e){var r;return r={},r.listInAllProjects=function(r){var n,i;return i=t.resolve("epics"),n={headers:{"x-disable-pagination":"1"}},e.get(i,r,n).then(function(t){return Immutable.fromJS(t.data)})},r.list=function(r,n){var i,o;return null==n&&(n=0),o=t.resolve("epics"),i={project:r,page:n},e.get(o,i).then(function(t){return{list:Immutable.fromJS(t.data),headers:t.headers}})},r.patch=function(r,n){var i;return i=t.resolve("epics")+("/"+r),e.patch(i,n).then(function(t){return Immutable.fromJS(t.data)})},r.post=function(r){var n;return n=t.resolve("epics"),e.post(n,r).then(function(t){return Immutable.fromJS(t.data)})},r.reorder=function(r,n,i){var o,s;return s=t.resolve("epics")+("/"+r),o={headers:{"set-orders":JSON.stringify(i)}},e.patch(s,n,null,o).then(function(t){return Immutable.fromJS(t.data)})},r.addRelatedUserstory=function(r,n){var i,o;return o=t.resolve("epic-related-userstories",r),i={user_story:n,epic:r},e.post(o,i)},r.reorderRelatedUserstory=function(r,n,i,o){var s,a;return a=t.resolve("epic-related-userstories",r)+("/"+n),s={headers:{"set-orders":JSON.stringify(o)}},e.patch(a,i,null,s)},r.bulkCreateRelatedUserStories=function(r,n,i){var o,s;return s=t.resolve("epic-related-userstories-bulk-create",r),o={bulk_userstories:i,project_id:n},e.post(s,o)},r.deleteRelatedUserstory=function(r,n){var i;return i=t.resolve("epic-related-userstories",r)+("/"+n),e["delete"](i)},function(){return{epics:r}}},t.$inject=["$tgUrls","$tgHttp"],e=angular.module("taigaResources2"),e.factory("tgEpicsResource",t)}.call(this),function(){var t,e;t=function(t,e){var r;return r={},r.getApplicationToken=function(r,n){var i;return i=t.resolve("applications"),i=i+"/"+r+"/token?state="+n,e.get(i).then(function(t){return Immutable.fromJS(t.data)})},r.authorizeApplicationToken=function(r,n){var i,o;return o=t.resolve("application-tokens"),o+="/authorize",i={state:n,application:r},e.post(o,i).then(function(t){return Immutable.fromJS(t.data)})},function(){return{externalapps:r}}},t.$inject=["$tgUrls","$tgHttp"],e=angular.module("taigaResources2"),e.factory("tgExternalAppsResource",t)}.call(this),function(){var t,e,r,n,i,o;o=this.taiga,n=function(t,e){var r;return r={},r.getAuthUrl=function(r){return r=t.resolve("importers-trello-auth-url"),e.get(r)},r.authorize=function(r){var n;return n=t.resolve("importers-trello-authorize"),e.post(n,{code:r})},r.listProjects=function(r){var n;return n=t.resolve("importers-trello-list-projects"),e.post(n,{token:r}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n){var i;return i=t.resolve("importers-trello-list-users"),e.post(i,{token:r,project:n}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c){var u,l;return l=t.resolve("importers-trello-import-project"),u={token:r,name:n,description:i,project:o,users_bindings:s.toJS(),keep_external_reference:a,is_private:c,template:"kanban"},e.post(l,u)},function(){return{trelloImporter:r}}},n.$inject=["$tgUrls","$tgHttp"],r=function(t,e){var r;return r={},r.getAuthUrl=function(r){var n;return n=t.resolve("importers-jira-auth-url")+"?url="+r,e.get(n)},r.authorize=function(r){var n;return n=t.resolve("importers-jira-authorize"),e.post(n,{oauth_verifier:r})},r.listProjects=function(r,n){var i;return i=t.resolve("importers-jira-list-projects"),e.post(i,{url:r,token:n}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n,i){var o;return o=t.resolve("importers-jira-list-users"),e.post(o,{url:r,token:n,project:i}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c,u,l,p){var d,f,h;return h=t.resolve("importers-jira-import-project"),f="kanban","kanban"!==l&&(f="scrum"),d={url:r,token:n,name:i,description:o,project:s,users_bindings:a.toJS(),keep_external_reference:c,is_private:u,project_type:l,importer_type:p,template:f},e.post(h,d)},function(){return{jiraImporter:r}}},r.$inject=["$tgUrls","$tgHttp"],e=function(t,e){var r;return r={},r.getAuthUrl=function(r){var n;return n=t.resolve("importers-github-auth-url")+"?uri="+r,e.get(n)},r.authorize=function(r){var n;return n=t.resolve("importers-github-authorize"),e.post(n,{code:r})},r.listProjects=function(r){var n;return n=t.resolve("importers-github-list-projects"),e.post(n,{token:r}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n){var i;return i=t.resolve("importers-github-list-users"),e.post(i,{token:r,project:n}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c,u){var l,p;return p=t.resolve("importers-github-import-project"),l={token:r,name:n,description:i,project:o,users_bindings:s.toJS(),keep_external_reference:a,is_private:c,template:u},e.post(p,l)},function(){return{githubImporter:r}}},e.$inject=["$tgUrls","$tgHttp"],t=function(t,e){var r;return r={},r.getAuthUrl=function(){var r;return r=t.resolve("importers-asana-auth-url"),e.get(r)},r.authorize=function(r){var n;return n=t.resolve("importers-asana-authorize"),e.post(n,{code:r})},r.listProjects=function(r){var n;return n=t.resolve("importers-asana-list-projects"),e.post(n,{token:r}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n){var i;return i=t.resolve("importers-asana-list-users"),e.post(i,{token:r,project:n}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c,u){var l,p;return p=t.resolve("importers-asana-import-project"),l={token:r,name:n,description:i,project:o,users_bindings:s.toJS(),keep_external_reference:a,is_private:c,template:u},e.post(p,l)},function(){return{asanaImporter:r}}},t.$inject=["$tgUrls","$tgHttp"],i=angular.module("taigaResources2"),i.factory("tgTrelloImportResource",n),i.factory("tgJiraImportResource",r),i.factory("tgGithubImportResource",e),i.factory("tgAsanaImportResource",t)}.call(this),function(){var t,e;t=function(t,e){var r;return r={},r.listInAllProjects=function(r){var n,i;return i=t.resolve("issues"),n={headers:{"x-disable-pagination":"1"}},e.get(i,r,n).then(function(t){return Immutable.fromJS(t.data)})},function(){return{issues:r}}},t.$inject=["$tgUrls","$tgHttp"],e=angular.module("taigaResources2"),e.factory("tgIssuesResource",t)}.call(this),function(){var t,e,r;r=function(){},t=function(t,e,r){var n;return n={},n.create=function(r){var n;return n=t.resolve("projects"),e.post(n,JSON.stringify(r)).then(function(t){return function(t){return Immutable.fromJS(t.data)}}(this))},n.duplicate=function(r,n){var i,o,s;return s=t.resolve("projects"),s=s+"/"+r+"/duplicate",i=n.users.map(function(t){return function(t){return{id:t}}}(this)),o={name:n.name,description:n.description,is_private:n.is_private,users:i},e.post(s,o)},n.getProjects=function(r,n){var i,o;return null==r&&(r={}),null==n&&(n=!0),o=t.resolve("projects"),i={},n||(i={headers:{"x-lazy-pagination":!0}}),e.get(o,r,i)},n.getProjectBySlug=function(r){var n;return n=t.resolve("projects"),n=n+"/by_slug?slug="+r,e.get(n).then(function(t){return Immutable.fromJS(t.data)})},n.getProjectsByUserId=function(r,n){var i,o,s;return null==n&&(n=!1),s=t.resolve("projects"),i={},n||(i.headers={"x-disable-pagination":"1"}),o={member:r,order_by:"user_order"},e.get(s,o,i).then(function(t){return Immutable.fromJS(t.data)})},n.getProjectStats=function(r){var n;return n=t.resolve("projects"),n=n+"/"+r,e.get(n).then(function(t){return Immutable.fromJS(t.data)})},n.bulkUpdateOrder=function(r){var n;return n=t.resolve("bulk-update-projects-order"),e.post(n,r)},n.getTimeline=function(n,i){var o,s;return o={page:i,only_relevant:!0},s=t.resolve("timeline-project"),s=s+"/"+n,e.get(s,o,{headers:{"x-lazy-pagination":!0}}).then(function(t){return t=Immutable.fromJS(t),r(t)})},n.likeProject=function(r){var n;return n=t.resolve("project-like",r),e.post(n)},n.unlikeProject=function(r){var n;return n=t.resolve("project-unlike",r),e.post(n)},n.watchProject=function(r,n){var i,o;return i={notify_level:n,live_notify_level:n},o=t.resolve("project-watch",r),e.post(o,i)},n.unwatchProject=function(r){var n;return n=t.resolve("project-unwatch",r),e.post(n)},n.contactProject=function(r,n){var i,o;return i={project:r,comment:n},o=t.resolve("project-contact"),e.post(o,i)},n.transferValidateToken=function(r,n){var i,o;return i={token:n},o=t.resolve("project-transfer-validate-token",r),e.post(o,i)},n.transferAccept=function(r,n,i){var o,s;return o={token:n,reason:i},s=t.resolve("project-transfer-accept",r),e.post(s,o)},n.transferReject=function(r,n,i){var o,s;return o={token:n,reason:i},s=t.resolve("project-transfer-reject",r),e.post(s,o)},n.transferRequest=function(r){var n;return n=t.resolve("project-transfer-request",r),e.post(n)},n.transferStart=function(r,n,i){var o,s;return o={user:n,reason:i},s=t.resolve("project-transfer-start",r),e.post(s,o)},function(){return{projects:n}}},t.$inject=["$tgUrls","$tgHttp","tgPaginateResponseService"],e=angular.module("taigaResources2"),e.factory("tgProjectsResources",t)}.call(this),function(){var t,e;e=["tgProjectsResources","tgUserResources","tgUsersResources","tgUserstoriesResource","tgTasksResource","tgIssuesResource","tgExternalAppsResource","tgAttachmentsResource","tgStatsResource","tgWikiHistory","tgEpicsResource","tgTrelloImportResource","tgJiraImportResource","tgGithubImportResource","tgAsanaImportResource"],t=function(t){var r,n,i,o,s,a,c,u,l;for(r=0,i=e.length;r"),$("head").append(r)),r.text(e||"")):0===t.indexOf("og:")?(r=$("head meta[property='"+t+"']"),0===r.length&&(r=$(""),$("head").append(r)),r.attr("content",e||"")):(r=$("head meta[name='"+t+"']"),0===r.length&&(r=$(""),$("head").append(r)),r.attr("content",e||""))},t.prototype.setTitle=function(t){return this._set("title",t)},t.prototype.setDescription=function(t){return this._set("description",r(t,250))},t.prototype.setTwitterMetas=function(t,e){return this._set("twitter:card","summary"),this._set("twitter:site","@taigaio"),this._set("twitter:title",t),this._set("twitter:description",r(e,300)),this._set("twitter:image",window.location.origin+"/"+window._version+"/images/logo-color.png")},t.prototype.setOpenGraphMetas=function(t,e){return this._set("og:type","object"),this._set("og:site_name","Taiga - Love your projects"),this._set("og:title",t),this._set("og:description",r(e,300)),this._set("og:image",window.location.origin+"/"+window._version+"/images/logo-color.png"),this._set("og:url",window.location.href); -},t.prototype.setAll=function(t,e){return this.setTitle(t),this.setDescription(e),this.setTwitterMetas(t,e),this.setOpenGraphMetas(t,e)},t.prototype.addMobileViewport=function(){return $("head").append('')},t.prototype.removeMobileViewport=function(){return $('head meta[name="viewport"]').remove()},t.prototype.setfn=function(t){return this.listener&&this._listener(),this._listener=this.rootScope.$watchCollection(t,function(t){return function(e){if(e)return t.setAll(e.title,e.description),t._listener()}}(this))},t}(),angular.module("taigaCommon").service("tgAppMetaService",t)}.call(this),function(){var t,e;e=this.taiga.sizeFormat,t=function(){function t(t,r,n,i){this.confirm=t,this.config=r,this.translate=n,this.rs=i,this.maxFileSize=this.getMaxFileSize(),this.maxFileSize&&(this.maxFileSizeFormated=e(this.maxFileSize))}return t.$inject=["$tgConfirm","$tgConfig","$translate","tgResources"],t.prototype.sizeError=function(t){var r;return r=this.translate.instant("ATTACHMENT.ERROR_MAX_SIZE_EXCEEDED",{fileName:t.name,fileSize:e(t.size),maxFileSize:this.maxFileSizeFormated}),this.confirm.notify("error",r)},t.prototype.validate=function(t){return!(this.maxFileSize&&t.size>this.maxFileSize)||(this.sizeError(t),!1)},t.prototype.getMaxFileSize=function(){return this.config.get("maxUploadFileSize",null)},t.prototype.list=function(t,e,r){return this.rs.attachments.list(t,e,r).then(function(t){return function(t){return t.sortBy(function(t){return t.get("order")})}}(this))},t.prototype["delete"]=function(t,e){return this.rs.attachments["delete"](t,e)},t.prototype.saveError=function(t,e){var r;return r="",t&&(r=this.translate.instant("ATTACHMENT.ERROR_UPLOAD_ATTACHMENT",{fileName:t.name,errorMessage:e.data._error_message})),this.confirm.notify("error",r)},t.prototype.upload=function(t,e,r,n,i){var o;return null==i&&(i=!1),o=this.rs.attachments.create(n,r,e,t,i),o.then(null,this.saveError.bind(this,t)),o},t.prototype.patch=function(t,e,r){var n;return n=this.rs.attachments.patch(e,t,r),n.then(null,this.saveError.bind(this,null)),n},t}(),angular.module("taigaCommon").service("tgAttachmentsService",t)}.call(this),function(){var t,e=function(t,e){return(+t%(e=+e)+e)%e};t=function(){function t(t){var e,r;this.config=t,r=["/"+window._version+"/images/user-avatars/user-avatar-01.png","/"+window._version+"/images/user-avatars/user-avatar-02.png","/"+window._version+"/images/user-avatars/user-avatar-03.png","/"+window._version+"/images/user-avatars/user-avatar-04.png","/"+window._version+"/images/user-avatars/user-avatar-05.png"],e=["rgba( 178, 176, 204, 1 )","rgba( 183, 203, 131, 1 )","rgba( 210, 198, 139, 1 )","rgba( 214, 161, 212, 1 )","rgba( 247, 154, 154, 1 )"],this.logos=_.cartesianProduct(r,e)}return t.prototype.getDefault=function(t){var r,n;return r=e(murmurhash3_32_gc(t,42),this.logos.length),n=this.logos[r],{src:n[0],color:n[1]}},t.prototype.getUnnamed=function(){return{url:"/"+window._version+"/images/unnamed.png",username:""}},t.prototype.getAvatar=function(t,e){var r,n,i,o,s,a,c;return t?(r="photo","avatarBig"===e&&(r="big_photo"),s=null,t instanceof Immutable.Map?(n=t.get("gravatar_id"),s=t.get(r),c="@"+t.get("username")):(n=t.gravatar_id,s=t[r],c="@"+t.username),n?s?{url:s,username:c}:location.host.indexOf("localhost")===-1&&this.config.get("gravatar",!0)?(a=location.protocol+"//"+location.host,i=this.getDefault(n),o=encodeURIComponent(a+i.src),{url:"https://www.gravatar.com/avatar/"+n+"?s=200&d="+o,bg:i.color,username:c}):(a=location.protocol+"//"+location.host,i=this.getDefault(n),{url:a+i.src,bg:i.color,username:c}):this.getUnnamed()):this.getUnnamed()},t}(),angular.module("taigaCommon").service("tgAvatarService",["$tgConfig",t])}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t){this.projectService=t}return t.$inject=["tgProjectService"],t.prototype.check=function(t){return!!this.projectService.project&&this.projectService.project.get("my_permissions").indexOf(t)!==-1},t}(),angular.module("taigaCommon").service("tgCheckPermissionsService",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.groupBy,t=function(){function t(t,e,n){this.projectsService=t,this.storageService=e,this.rs=n,this._user=null,this._projects=Immutable.Map(),this._projectsById=Immutable.Map(),this._joyride=null,r.defineImmutableProperty(this,"projects",function(t){return function(){return t._projects}}(this)),r.defineImmutableProperty(this,"projectsById",function(t){return function(){return t._projectsById}}(this))}return t.$inject=["tgProjectsService","$tgStorage","tgResources"],t.prototype.isAuthenticated=function(){return null!==this.getUser()},t.prototype.getUser=function(){var t;return this._user||(t=this.storageService.get("userInfo"),t&&(t=Immutable.fromJS(t),this.setUser(t))),this._user},t.prototype.removeUser=function(){return this._user=null,this._projects=Immutable.Map(),this._projectsById=Immutable.Map(),this._joyride=null},t.prototype.setUser=function(t){return this._user=t,this._loadUserInfo()},t.prototype.bulkUpdateProjectsOrder=function(t){return this.projectsService.bulkUpdateProjectsOrder(t).then(function(t){return function(){return t.loadProjects()}}(this))},t.prototype.loadProjects=function(){return this.projectsService.getProjectsByUserId(this._user.get("id")).then(function(t){return function(e){return t.setProjects(e)}}(this))},t.prototype.disableJoyRide=function(t){if(this.isAuthenticated())return t?this._joyride[t]=!1:this._joyride={backlog:!1,kanban:!1,dashboard:!1},this.rs.user.setUserStorage("joyride",this._joyride)},t.prototype.loadJoyRideConfig=function(){return new Promise(function(t){return function(e){return null!==t._joyride?void e(t._joyride):t.rs.user.getUserStorage("joyride").then(function(r){return t._joyride=r,e(t._joyride)})["catch"](function(){return t._joyride={backlog:!0,kanban:!0,dashboard:!0},t.rs.user.createUserStorage("joyride",t._joyride),e(t._joyride)})}}(this))},t.prototype._loadUserInfo=function(){return Promise.all([this.loadProjects()])},t.prototype.setProjects=function(t){return this._projects=this._projects.set("all",t),this._projects=this._projects.set("recents",t.slice(0,10)),this._projects=this._projects.set("unblocked",t.filter(function(t){return null===t.toJS().blocked_code})),this._projectsById=Immutable.fromJS(e(t.toJS(),function(t){return t.id})),this.projects},t.prototype.canCreatePrivateProjects=function(){var t;return t=this.getUser(),null!==t.get("max_private_projects")&&t.get("total_private_projects")>=t.get("max_private_projects")?{valid:!1,reason:"max_private_projects",type:"private_project",current:t.get("total_private_projects"),max:t.get("max_private_projects")}:{valid:!0}},t.prototype.canCreatePublicProjects=function(){var t;return t=this.getUser(),null!==t.get("max_public_projects")&&t.get("total_public_projects")>=t.get("max_public_projects")?{valid:!1,reason:"max_public_projects",type:"public_project",current:t.get("total_public_projects"),max:t.get("max_public_projects")}:{valid:!0}},t.prototype.canAddMembersPublicProject=function(t){var e;return e=this.getUser(),null!==e.get("max_memberships_public_projects")&&t>e.get("max_memberships_public_projects")?{valid:!1,reason:"max_members_public_projects",type:"public_project",current:t,max:e.get("max_memberships_public_projects")}:{valid:!0}},t.prototype.canAddMembersPrivateProject=function(t){var e;return e=this.getUser(),null!==e.get("max_memberships_private_projects")&&t>e.get("max_memberships_private_projects")?{valid:!1,reason:"max_members_private_projects",type:"private_project",current:t,max:e.get("max_memberships_private_projects")}:{valid:!0}},t.prototype.canOwnProject=function(t){var e,r,n;if(n=this.getUser(),t.get("is_private")){if(r=this.canCreatePrivateProjects(),!r.valid)return r;if(e=this.canAddMembersPrivateProject(t.get("total_memberships")),!e.valid)return e}else{if(r=this.canCreatePublicProjects(),!r.valid)return r;if(e=this.canAddMembersPublicProject(t.get("total_memberships")),!e.valid)return e}return{valid:!0}},t}(),angular.module("taigaCommon").service("tgCurrentUserService",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t){this.rootScope=t}return t.$inject=["$rootScope"],t.prototype.init=function(){return this.rootScope.errorHandling={}},t.prototype.notfound=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.notfound=!0},t.prototype.error=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.error=!0},t.prototype.permissionDenied=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.permissionDenied=!0},t.prototype.block=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.blocked=!0},t}(),angular.module("taigaCommon").service("tgErrorHandlingService",t)}.call(this),function(){var t;t=function(){function t(t,e){this.rootScope=t,this.compile=e}return t.$inject=["$rootScope","$compile"],t.prototype.create=function(t,e,r){var n,i,o;o=this.rootScope.$new(),o=_.merge(o,r),n=$("
    ").attr(t,!0).attr("tg-bind-scope",!0),e&&n.attr(e),n.addClass("remove-on-close"),i=this.compile(n)(o),$(document.body).append(i)},t}(),angular.module("taigaCommon").service("tgLightboxFactory",t)}.call(this),function(){var t;t=function(){return function(t){var e;return e=Immutable.Map({data:t.get("data"),next:!!t.get("headers")("x-pagination-next"),prev:!!t.get("headers")("x-pagination-prev"),current:t.get("headers")("x-pagination-current"),count:t.get("headers")("x-pagination-count")})}},angular.module("taigaCommon").factory("tgPaginateResponseService",t)}.call(this),function(){var t,e=function(t,e){return(+t%(e=+e)+e)%e};t=function(){function t(){var t,e;e=["/"+window._version+"/images/project-logos/project-logo-01.png","/"+window._version+"/images/project-logos/project-logo-02.png","/"+window._version+"/images/project-logos/project-logo-03.png","/"+window._version+"/images/project-logos/project-logo-04.png","/"+window._version+"/images/project-logos/project-logo-05.png"],t=["rgba( 153, 214, 220, 1 )","rgba( 213, 156, 156, 1 )","rgba( 214, 161, 212, 1 )","rgba( 164, 162, 219, 1 )","rgba( 152, 224, 168, 1 )"],this.logos=_.cartesianProduct(e,t)}return t.prototype.getDefaultProjectLogo=function(t,r){var n,i,o;return i=t+"-"+r,n=e(murmurhash3_32_gc(i,42),this.logos.length),o=this.logos[n],{src:o[0],color:o[1]}},t}(),angular.module("taigaCommon").service("tgProjectLogoService",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,r,n,i){this.projectsService=t,this.xhrError=r,this.userActivityService=n,this.interval=i,this._project=null,this._section=null,this._sectionsBreadcrumb=Immutable.List(),this._activeMembers=Immutable.List(),e.defineImmutableProperty(this,"project",function(t){return function(){return t._project}}(this)),e.defineImmutableProperty(this,"section",function(t){return function(){return t._section}}(this)),e.defineImmutableProperty(this,"sectionsBreadcrumb",function(t){return function(){return t._sectionsBreadcrumb}}(this)),e.defineImmutableProperty(this,"activeMembers",function(t){return function(){return t._activeMembers}}(this)),window.localStorage.e2e||this.autoRefresh()}return t.$inject=["tgProjectsService","tgXhrErrorService","tgUserActivityService","$interval"],t.prototype.cleanProject=function(){return this._project=null,this._activeMembers=Immutable.List(),this._section=null,this._sectionsBreadcrumb=Immutable.List()},t.prototype.autoRefresh=function(){var t;return t=this.interval(function(t){return function(){return t.fetchProject()}}(this),6e5),this.userActivityService.onInactive(function(e){return function(){return e.interval.cancel(t)}}(this)),this.userActivityService.onActive(function(t){return function(){return t.fetchProject(),t.autoRefresh()}}(this))},t.prototype.setSection=function(t){return this._section=t,t?this._sectionsBreadcrumb=this._sectionsBreadcrumb.push(this._section):this._sectionsBreadcrumb=Immutable.List()},t.prototype.setProject=function(t){return this._project=t,this._activeMembers=this._project.get("members").filter(function(t){return t.get("is_active")})},t.prototype.setProjectBySlug=function(t){return new Promise(function(e){return function(r,n){return e.project&&e.project.get("slug")===t?r():e.projectsService.getProjectBySlug(t).then(function(t){return e.setProject(t),r()})["catch"](function(t){return e.xhrError.response(t)})}}(this))},t.prototype.fetchProject=function(){var t;if(this.project)return t=this.project.get("slug"),this.projectsService.getProjectBySlug(t).then(function(t){return function(e){return t.setProject(e)}}(this))},t.prototype.hasPermission=function(t){return this._project.get("my_permissions").indexOf(t)!==-1},t.prototype.isEpicsDashboardEnabled=function(){return this._project.get("is_epics_activated")},t}(),angular.module("taigaCommon").service("tgProjectService",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga,t=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e}(e.Service=function(){return{use:function(t){var e;return e=$("link[rel='stylesheet']:first"),0===e.length&&(e=$(""),$("head").append(e)),e.attr("href","/"+window._version+"/styles/theme-"+t+".css")}}}),angular.module("taigaCommon").service("tgThemeService",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.groupBy,t=function(){function t(t){return this.timeout=t,window.localStorage.e2e?null:(window.addEventListener("mousemove",this.resetTimer.bind(this),!1),window.addEventListener("mousedown",this.resetTimer.bind(this),!1),window.addEventListener("keypress",this.resetTimer.bind(this),!1),window.addEventListener("mousewheel",this.resetTimer.bind(this),!1),window.addEventListener("touchmove",this.resetTimer.bind(this),!1),this.subscriptionsActive=[],this.subscriptionsInactive=[],this.isActive=!0,void this.startTimer())}return t.$inject=["$timeout"],t.prototype.idleTimeout=3e5,t.prototype.startTimer=function(){return this.timerId=this.timeout(this._fireInactive.bind(this),this.idleTimeout)},t.prototype.resetTimer=function(){return this.isActive||this._fireActive(),this.timeout.cancel(this.timerId),this.startTimer(),this.isActive=!0},t.prototype.onActive=function(t){return this.subscriptionsActive.push(t),this._unSubscriptionsActive.bind(this,t)},t.prototype.onInactive=function(t){return this.subscriptionsInactive.push(t),this._unSubscriptionsInactive.bind(this,t)},t.prototype._fireActive=function(){return this.subscriptionsActive.forEach(function(t){return t()})},t.prototype._fireInactive=function(){return this.isActive=!1,this.subscriptionsInactive.forEach(function(t){return t()})},t.prototype._unSubscriptionsActive=function(t){return this.subscriptionsActive=this.subscriptionsActive.filter(function(e){return e!==t})},t.prototype._unSubscriptionsInactive=function(t){return this.subscriptionsInactive=this.subscriptionsInactive.filter(function(e){return e!==t})},t}(),angular.module("taigaCommon").service("tgUserActivityService",t)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,e=r.bindMethods,t=function(t){function r(t){this.rs=t,e(this)}return n(r,t),r.$inject=["tgResources"],r.prototype.getUserByUserName=function(t){return this.rs.users.getUserByUsername(t)},r.prototype.getContacts=function(t,e){return this.rs.users.getContacts(t,e)},r.prototype.getLiked=function(t,e,r,n){return this.rs.users.getLiked(t,e,r,n)},r.prototype.getVoted=function(t,e,r,n){return this.rs.users.getVoted(t,e,r,n)},r.prototype.getWatched=function(t,e,r,n){return this.rs.users.getWatched(t,e,r,n)},r.prototype.getStats=function(t){return this.rs.users.getStats(t)},r.prototype.attachUserContactsToProjects=function(t,e){return this.getContacts(t).then(function(t){return e=e.map(function(e){var r;return r=t.filter(function(t){var r;return r=t.get("id"),e.get("members").indexOf(r)!==-1}),e=e.set("contacts",r)})})},r}(r.Service),angular.module("taigaCommon").service("tgUserService",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.q=t,this.errorHandlingService=e}return e(r,t),r.$inject=["$q","tgErrorHandlingService"],r.prototype.notFound=function(){return this.errorHandlingService.notfound()},r.prototype.permissionDenied=function(){return this.errorHandlingService.permissionDenied()},r.prototype.response=function(t){return t&&(404===t.status?this.notFound():403===t.status&&this.permissionDenied()),this.q.reject(t)},r}(taiga.Service),angular.module("taigaCommon").service("tgXhrErrorService",t)}.call(this),function(){var t;t=function(t,e){var r,n,i;return i=[".jpg",".jpeg",".bmp",".gif",".png"],r=function(t){return t=t.toLowerCase(),_.some(i,function(e){return t.indexOf(e,t-e.length)!==-1})},n=function(n,i){var o,s;return o=r(n.attachment.get("url")),s=o?t.get("user-timeline/user-timeline-attachment/user-timeline-attachment-image.html"):t.get("user-timeline/user-timeline-attachment/user-timeline-attachment.html"),i.html(s),e(i.contents())(n),i.find("img").error(function(){return this.remove()})},{link:n,scope:{attachment:"=tgUserTimelineAttachment"}}},t.$inject=["$tgTemplate","$compile"],angular.module("taigaUserTimeline").directive("tgUserTimelineAttachment",t)}.call(this),function(){var t,e;e=this.taiga.unslugify,t=function(){function t(t,e){this.translate=t,this.sce=e}return t.$inject=["$translate","$sce"],t.prototype._fieldTranslationKey={status:"COMMON.FIELDS.STATUS",subject:"COMMON.FIELDS.SUBJECT",description_diff:"COMMON.FIELDS.DESCRIPTION",points:"COMMON.FIELDS.POINTS",assigned_to:"COMMON.FIELDS.ASSIGNED_TO",assigned_users:"COMMON.FIELDS.ASSIGNED_USERS",severity:"ISSUES.FIELDS.SEVERITY",priority:"ISSUES.FIELDS.PRIORITY",type:"ISSUES.FIELDS.TYPE",is_iocaine:"TASK.FIELDS.IS_IOCAINE",is_blocked:"COMMON.FIELDS.IS_BLOCKED",color:"COMMON.FIELDS.COLOR",due_date:"COMMON.FIELDS.DUE_DATE",due_date_reason:"COMMON.FIELDS.DUE_DATE_REASON",milestone:"COMMON.FIELDS.SPRINT"},t.prototype._params={username:function(t,e){var r,n,i;return i=t.getIn(["data","user"]),i.get("is_profile_visible")?(r=this.translate.instant("COMMON.SEE_USER_PROFILE",{username:i.get("username")}),n="user-profile:username=timeline.getIn(['data', 'user', 'username'])",this._getLink(n,i.get("name"),r)):this._getUsernameSpan(i.get("name"))},field_name:function(t,e){var r;return r=t.getIn(["data","value_diff","key"]),this.translate.instant(this._fieldTranslationKey[r])},project_name:function(t,e){var r;return r="project:project=timeline.getIn(['data', 'project', 'slug'])",this._getLink(r,t.getIn(["data","project","name"]))},new_value:function(t,e){var r,n,i;return _.isArray(t.getIn(["data","value_diff","value"]).toJS())?(i=t.getIn(["data","value_diff","value"]).get(1),null===i&&"assigned_to"===t.getIn(["data","value_diff","key"])&&(i=this.translate.instant("ACTIVITY.VALUES.UNASSIGNED")),null===i&&"assigned_users"===t.getIn(["data","value_diff","key"])?i=this.translate.instant("ACTIVITY.VALUES.UNASSIGNED"):"due_date"===t.getIn(["data","value_diff","key"])&&(i?(n=this.translate.instant("COMMON.PICKERDATE.FORMAT"),i=moment(i,"YYYY-MM-DD").format(n)):i=this.translate.instant("ACTIVITY.VALUES.NOT_SET")),r=i):r=t.getIn(["data","value_diff","value"]).first().get(1),_.escape(r)},sprint_name:function(t,e){var r;return r="project-taskboard:project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['data', 'milestone', 'slug'])",this._getLink(r,t.getIn(["data","milestone","name"]))},us_name:function(t,e){var r,n,i,o;return n=this._getTimelineObj(t,e).get("userstory"),r={obj:"parent_userstory"},o=this._getDetailObjUrl(r),i="#"+n.get("ref")+" "+n.get("subject"),this._getLink(o,i)},related_us_name:function(t,e){var r,n,i;return r=t.getIn(["data","userstory"]),i="project-userstories-detail:project=timeline.getIn(['data', 'userstory', 'project', 'slug']),ref=timeline.getIn(['data', 'userstory', 'ref'])",n="#"+r.get("ref")+" "+r.get("subject"),this._getLink(i,n)},epic_name:function(t,e){var r,n,i;return r=t.getIn(["data","epic"]),i="project-epics-detail:project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['data', 'epic', 'ref'])",n="#"+r.get("ref")+" "+r.get("subject"),this._getLink(i,n)},obj_name:function(t,r){var n,i,o;return n=this._getTimelineObj(t,r),o=this._getDetailObjUrl(r),i="wikipage"===r.obj?e(n.get("slug")):"milestone"===r.obj?n.get("name"):"#"+n.get("ref")+" "+n.get("subject"),this._getLink(o,i)},role_name:function(t,e){return _.escape(t.getIn(["data","value_diff","value"]).keySeq().first())}},t.prototype._translateTitleParams=function(t,e,r){return this._params[t].call(this,e,r)},t.prototype._getTimelineObj=function(t,e){return t.getIn(["data",e.obj])},t.prototype._getDetailObjUrl=function(t){var e;return e={issue:["project-issues-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"],wikipage:["project-wiki-page",":project=timeline.getIn(['data', 'project', 'slug']),slug=timeline.getIn(['obj', 'slug'])"],task:["project-tasks-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"],userstory:["project-userstories-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"],parent_userstory:["project-userstories-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'userstory', 'ref'])"],milestone:["project-taskboard",":project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['obj', 'slug'])"],epic:["project-epics-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"]},e[t.obj][0]+e[t.obj][1]},t.prototype._getLink=function(t,e,r){var n;return r=r||e,n=$("").attr("ng-non-bindable",!0).text(e),$("").attr("tg-nav",t).attr("title",r).append(n).prop("outerHTML")},t.prototype._getUsernameSpan=function(t){var e;return e=e||t,$("").addClass("username").text(t).prop("outerHTML")},t.prototype._getParams=function(t,e,r){var n;return n={},r.translate_params.forEach(function(r){return function(i){return n[i]=r._translateTitleParams(i,t,e)}}(this)),n},t.prototype.getTitle=function(t,e,r){var n,i,o;return n=this._getParams(t,e,r),i={},Object.keys(n).forEach(function(t){return i[t]="{{"+t+"}}"}),o=this.translate.instant(r.key,i),Object.keys(n).forEach(function(t){var e;return e="{{"+t+"}}",o=o.replace(new RegExp(e,"g"),n[t])}),o},t}(),angular.module("taigaUserTimeline").service("tgUserTimelineItemTitle",t)}.call(this),function(){var t,e;e=function(t,e){var r;return r=[{check:function(t,e){return"membership"===e.obj},key:"TIMELINE.NEW_MEMBER",translate_params:["project_name"],member:function(t){return Immutable.Map({user:t.getIn(["data","user"]),role:t.getIn(["data","role"])})}},{check:function(t,e){return"project"===e.obj&&"create"===e.type},key:"TIMELINE.NEW_PROJECT",translate_params:["username","project_name"],description:function(t){return t.getIn(["data","project","description"])}},{check:function(t,e){return"change"===e.type&&t.hasIn(["data","value_diff"])&&"attachments"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.UPLOAD_ATTACHMENT",translate_params:["username","obj_name"]},{check:function(t,e){return"userstory"===e.obj&&"create"===e.type},key:"TIMELINE.US_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"issue"===e.obj&&"create"===e.type},key:"TIMELINE.ISSUE_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"wikipage"===e.obj&&"create"===e.type},key:"TIMELINE.WIKI_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"task"===e.obj&&"create"===e.type&&!t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"task"===e.obj&&"create"===e.type&&t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_CREATED_WITH_US",translate_params:["username","project_name","obj_name","us_name"]},{check:function(t,e){return"milestone"===e.obj&&"create"===e.type},key:"TIMELINE.MILESTONE_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"epic"===e.obj&&"create"===e.type},key:"TIMELINE.EPIC_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"relateduserstory"===e.obj&&"create"===e.type},key:"TIMELINE.EPIC_RELATED_USERSTORY_CREATED",translate_params:["username","project_name","related_us_name","epic_name"]},{check:function(t,e){return t.getIn(["data","comment"])&&"userstory"===e.obj},key:"TIMELINE.NEW_COMMENT_US",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.getIn(["data","comment"])&&"issue"===e.obj},key:"TIMELINE.NEW_COMMENT_ISSUE",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.getIn(["data","comment"])&&"task"===e.obj},key:"TIMELINE.NEW_COMMENT_TASK",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.getIn(["data","comment"])&&"epic"===e.obj},key:"TIMELINE.NEW_COMMENT_EPIC",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.hasIn(["data","value_diff"])&&"moveInBacklog"===t.getIn(["data","value_diff","key"])&&t.hasIn(["data","value_diff","value","backlog_order"])&&"change"===e.type},key:"TIMELINE.US_MOVED",translate_params:["username","obj_name"]},{check:function(t,e){return!(!t.hasIn(["data","value_diff"])||"moveInBacklog"!==t.getIn(["data","value_diff","key"])||"change"!==e.type||"userstory"!==e.obj)&&null===t.getIn(["data","value_diff","value","milestone"]).get(1)},key:"TIMELINE.US_REMOVED_FROM_MILESTONE",translate_params:["username","obj_name"]},{check:function(t,e){return t.hasIn(["data","value_diff"])&&"moveInBacklog"===t.getIn(["data","value_diff","key"])&&"change"===e.type&&"userstory"===e.obj},key:"TIMELINE.US_ADDED_MILESTONE",translate_params:["username","obj_name","sprint_name"]},{check:function(t,e){return!(!t.hasIn(["data","value_diff"])||"blocked"!==t.getIn(["data","value_diff","key"])||"change"!==e.type)&&t.getIn(["data","value_diff","value","is_blocked"]).get(1)===!0},key:"TIMELINE.BLOCKED",translate_params:["username","obj_name"],description:function(t){var e;return!!t.hasIn(["data","value_diff","value","blocked_note_html"])&&(e=t.getIn(["data","value_diff","value","blocked_note_html"]).get(1),$($.parseHTML(e)).text())}},{check:function(t,e){return!(!t.hasIn(["data","value_diff"])||"blocked"!==t.getIn(["data","value_diff","key"])||"change"!==e.type)&&t.getIn(["data","value_diff","value","is_blocked"]).get(1)===!1},key:"TIMELINE.UNBLOCKED",translate_params:["username","obj_name"]},{check:function(t,e){return"milestone"===e.obj&&"change"===e.type},key:"TIMELINE.MILESTONE_UPDATED",translate_params:["username","obj_name"]},{check:function(t,e){return"wikipage"===e.obj&&"change"===e.type},key:"TIMELINE.WIKI_UPDATED",translate_params:["username","obj_name"]},{check:function(t,e){return"userstory"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"points"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.US_UPDATED_POINTS",translate_params:["username","field_name","obj_name","new_value","role_name"]},{check:function(t,e){return"userstory"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.US_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"userstory"===e.obj&&"change"===e.type},key:"TIMELINE.US_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"issue"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.ISSUE_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"issue"===e.obj&&"change"===e.type},key:"TIMELINE.ISSUE_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&!t.getIn(["data","task","userstory"])&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.TASK_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&t.getIn(["data","task","userstory"])&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.TASK_UPDATED_WITH_US",translate_params:["username","field_name","obj_name","us_name"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&!t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_UPDATED_WITH_US_NEW_VALUE",translate_params:["username","field_name","obj_name","us_name","new_value"]},{check:function(t,e){return"epic"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.EPIC_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"epic"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"color"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.EPIC_UPDATED_WITH_NEW_COLOR",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"epic"===e.obj&&"change"===e.type},key:"TIMELINE.EPIC_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"user"===e.obj&&"create"===e.type},key:"TIMELINE.NEW_USER",translate_params:["username"]}],_.find(r,function(r){return r.check(t,e)})},t=function(){function t(){}return t.prototype.getType=function(t,r){return e(t,r)},t}(),angular.module("taigaUserTimeline").service("tgUserTimelineItemType",t)}.call(this),function(){var t;t=function(){return{templateUrl:"user-timeline/user-timeline-item/user-timeline-item.html",scope:{timeline:"=tgUserTimelineItem"}}},angular.module("taigaUserTimeline").directive("tgUserTimelineItem",t)}.call(this),function(){var t;t=function(){var t;return t={},t.generate=function(t){var e,r,n,i;return i=1,r=Immutable.List(),t.minItems=t.minItems||20,n=function(){return r=Immutable.List(),e()},e=function(){return t.fetch(i).then(function(n){var o;return i++,o=n.get("data"),t.filter&&(o=t.filter(o)),t.map&&(o=o.map(t.map)),r=r.concat(o),r.size\n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: app.coffee\n */\n\n(function() {\n var configure, i18nInit, init, module, modules, pluginsModules, pluginsWithModule, taiga;\n\n this.taiga = taiga = {};\n\n taiga.emojis = window.emojis;\n\n this.taigaContribPlugins = this.taigaContribPlugins || window.taigaContribPlugins || [];\n\n taiga.generateHash = function(components) {\n if (components == null) {\n components = [];\n }\n components = _.map(components, function(x) {\n return JSON.stringify(x);\n });\n return hex_sha1(components.join(\":\"));\n };\n\n taiga.generateUniqueSessionIdentifier = function() {\n var date, randomNumber;\n date = (new Date()).getTime();\n randomNumber = Math.floor(Math.random() * 0x9000000);\n return taiga.generateHash([date, randomNumber]);\n };\n\n taiga.sessionId = taiga.generateUniqueSessionIdentifier();\n\n configure = function($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, $compileProvider, $translateProvider, $translatePartialLoaderProvider, $animateProvider) {\n var authHttpIntercept, blockingIntercept, decorators, defaultHeaders, loaderIntercept, originalWhen, preferedLangCode, userInfo, versionCheckHttpIntercept;\n $animateProvider.classNameFilter(/^(?:(?!ng-animate-disabled).)*$/);\n originalWhen = $routeProvider.when;\n $routeProvider.when = function(path, route) {\n route.resolve || (route.resolve = {});\n angular.extend(route.resolve, {\n languageLoad: [\n \"$q\", \"$translate\", function($q, $translate) {\n var deferred;\n deferred = $q.defer();\n $translate().then(function() {\n return deferred.resolve();\n });\n return deferred.promise;\n }\n ],\n projectLoaded: [\n \"$q\", \"tgProjectService\", \"$route\", function($q, projectService, $route) {\n var deferred, ref;\n deferred = $q.defer();\n projectService.setSection((ref = $route.current.$$route) != null ? ref.section : void 0);\n if ($route.current.params.pslug) {\n projectService.setProjectBySlug($route.current.params.pslug).then(deferred.resolve);\n } else {\n projectService.cleanProject();\n deferred.resolve();\n }\n return deferred.promise;\n }\n ]\n });\n return originalWhen.call($routeProvider, path, route);\n };\n $routeProvider.when(\"/\", {\n templateUrl: \"home/home.html\",\n controller: \"Home\",\n controllerAs: \"vm\",\n loader: true,\n title: \"HOME.PAGE_TITLE\",\n loader: true,\n description: \"HOME.PAGE_DESCRIPTION\",\n joyride: \"dashboard\"\n });\n $routeProvider.when(\"/discover\", {\n templateUrl: \"discover/discover-home/discover-home.html\",\n controller: \"DiscoverHome\",\n controllerAs: \"vm\",\n title: \"PROJECT.NAVIGATION.DISCOVER\",\n loader: true\n });\n $routeProvider.when(\"/discover/search\", {\n templateUrl: \"discover/discover-search/discover-search.html\",\n title: \"PROJECT.NAVIGATION.DISCOVER\",\n loader: true,\n controller: \"DiscoverSearch\",\n controllerAs: \"vm\",\n reloadOnSearch: false\n });\n $routeProvider.when(\"/projects/\", {\n templateUrl: \"projects/listing/projects-listing.html\",\n access: {\n requiresLogin: true\n },\n title: \"PROJECTS.PAGE_TITLE\",\n description: \"PROJECTS.PAGE_DESCRIPTION\",\n loader: true,\n controller: \"ProjectsListing\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/project/new\", {\n title: \"PROJECT.CREATE.TITLE\",\n templateUrl: \"projects/create/create-project.html\",\n loader: true,\n controller: \"CreateProjectCtrl\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/project/new/scrum\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/new/kanban\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/new/duplicate\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/new/import/:platform?\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/:pslug/\", {\n templateUrl: \"projects/project/project.html\",\n loader: true,\n controller: \"Project\",\n controllerAs: \"vm\",\n section: \"project-timeline\"\n });\n $routeProvider.when(\"/project/:pslug/t/:ref\", {\n loader: true,\n controller: \"DetailController\",\n template: \"\"\n });\n $routeProvider.when(\"/project/:pslug/search\", {\n templateUrl: \"search/search.html\",\n reloadOnSearch: false,\n section: \"search\",\n loader: true\n });\n $routeProvider.when(\"/project/:pslug/epics\", {\n section: \"epics\",\n templateUrl: \"epics/dashboard/epics-dashboard.html\",\n loader: true,\n controller: \"EpicsDashboardCtrl\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/project/:pslug/epic/:epicref\", {\n templateUrl: \"epic/epic-detail.html\",\n loader: true,\n section: \"epics\"\n });\n $routeProvider.when(\"/project/:pslug/backlog\", {\n templateUrl: \"backlog/backlog.html\",\n loader: true,\n section: \"backlog\",\n joyride: \"backlog\"\n });\n $routeProvider.when(\"/project/:pslug/kanban\", {\n templateUrl: \"kanban/kanban.html\",\n loader: true,\n section: \"kanban\",\n joyride: \"kanban\"\n });\n $routeProvider.when(\"/project/:pslug/taskboard/:sslug\", {\n templateUrl: \"taskboard/taskboard.html\",\n loader: true,\n section: \"backlog\"\n });\n $routeProvider.when(\"/project/:pslug/us/:usref\", {\n templateUrl: \"us/us-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n });\n $routeProvider.when(\"/project/:pslug/task/:taskref\", {\n templateUrl: \"task/task-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n });\n $routeProvider.when(\"/project/:pslug/wiki\", {\n redirectTo: function(params) {\n return \"/project/\" + params.pslug + \"/wiki/home\";\n }\n });\n $routeProvider.when(\"/project/:pslug/wiki-list\", {\n templateUrl: \"wiki/wiki-list.html\",\n loader: true,\n section: \"wiki\"\n });\n $routeProvider.when(\"/project/:pslug/wiki/:slug\", {\n templateUrl: \"wiki/wiki.html\",\n loader: true,\n section: \"wiki\"\n });\n $routeProvider.when(\"/project/:pslug/team\", {\n templateUrl: \"team/team.html\",\n loader: true,\n section: \"team\"\n });\n $routeProvider.when(\"/project/:pslug/issues\", {\n templateUrl: \"issue/issues.html\",\n loader: true,\n section: \"issues\"\n });\n $routeProvider.when(\"/project/:pslug/issue/:issueref\", {\n templateUrl: \"issue/issues-detail.html\",\n loader: true,\n section: \"issues\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/details\", {\n templateUrl: \"admin/admin-project-profile.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/default-values\", {\n templateUrl: \"admin/admin-project-default-values.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/modules\", {\n templateUrl: \"admin/admin-project-modules.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/export\", {\n templateUrl: \"admin/admin-project-export.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/reports\", {\n templateUrl: \"admin/admin-project-reports.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/status\", {\n templateUrl: \"admin/admin-project-values-status.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/points\", {\n templateUrl: \"admin/admin-project-values-points.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/priorities\", {\n templateUrl: \"admin/admin-project-values-priorities.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/severities\", {\n templateUrl: \"admin/admin-project-values-severities.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/types\", {\n templateUrl: \"admin/admin-project-values-types.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/custom-fields\", {\n templateUrl: \"admin/admin-project-values-custom-fields.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/tags\", {\n templateUrl: \"admin/admin-project-values-tags.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/due-dates\", {\n templateUrl: \"admin/admin-project-values-due-dates.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/memberships\", {\n templateUrl: \"admin/admin-memberships.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/roles\", {\n templateUrl: \"admin/admin-roles.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/webhooks\", {\n templateUrl: \"admin/admin-third-parties-webhooks.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/github\", {\n templateUrl: \"admin/admin-third-parties-github.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gitlab\", {\n templateUrl: \"admin/admin-third-parties-gitlab.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/bitbucket\", {\n templateUrl: \"admin/admin-third-parties-bitbucket.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gogs\", {\n templateUrl: \"admin/admin-third-parties-gogs.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/contrib/:plugin\", {\n templateUrl: \"contrib/main.html\"\n });\n $routeProvider.when(\"/project/:pslug/transfer/:token\", {\n templateUrl: \"projects/transfer/transfer-page.html\",\n loader: true,\n controller: \"Project\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/user-settings/user-profile\", {\n templateUrl: \"user/user-profile.html\"\n });\n $routeProvider.when(\"/user-settings/user-change-password\", {\n templateUrl: \"user/user-change-password.html\"\n });\n $routeProvider.when(\"/user-settings/mail-notifications\", {\n templateUrl: \"user/mail-notifications.html\"\n });\n $routeProvider.when(\"/user-settings/live-notifications\", {\n templateUrl: \"user/live-notifications.html\"\n });\n $routeProvider.when(\"/change-email/:email_token\", {\n templateUrl: \"user/change-email.html\"\n });\n $routeProvider.when(\"/cancel-account/:cancel_token\", {\n templateUrl: \"user/cancel-account.html\"\n });\n $routeProvider.when(\"/user-settings/contrib/:plugin\", {\n templateUrl: \"contrib/user-settings.html\"\n });\n $routeProvider.when(\"/profile\", {\n templateUrl: \"profile/profile.html\",\n loader: true,\n access: {\n requiresLogin: true\n },\n controller: \"Profile\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/profile/:slug\", {\n templateUrl: \"profile/profile.html\",\n loader: true,\n controller: \"Profile\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/login\", {\n templateUrl: \"auth/login.html\",\n title: \"LOGIN.PAGE_TITLE\",\n description: \"LOGIN.PAGE_DESCRIPTION\",\n disableHeader: true,\n controller: \"LoginPage\"\n });\n $routeProvider.when(\"/register\", {\n templateUrl: \"auth/register.html\",\n title: \"REGISTER.PAGE_TITLE\",\n description: \"REGISTER.PAGE_DESCRIPTION\",\n disableHeader: true\n });\n $routeProvider.when(\"/forgot-password\", {\n templateUrl: \"auth/forgot-password.html\",\n title: \"FORGOT_PASSWORD.PAGE_TITLE\",\n description: \"FORGOT_PASSWORD.PAGE_DESCRIPTION\",\n disableHeader: true\n });\n $routeProvider.when(\"/change-password/:token\", {\n templateUrl: \"auth/change-password-from-recovery.html\",\n title: \"CHANGE_PASSWORD.PAGE_TITLE\",\n description: \"CHANGE_PASSWORD.PAGE_TITLE\",\n disableHeader: true\n });\n $routeProvider.when(\"/invitation/:token\", {\n templateUrl: \"auth/invitation.html\",\n title: \"INVITATION.PAGE_TITLE\",\n description: \"INVITATION.PAGE_DESCRIPTION\",\n disableHeader: true\n });\n $routeProvider.when(\"/external-apps\", {\n templateUrl: \"external-apps/external-app.html\",\n title: \"EXTERNAL_APP.PAGE_TITLE\",\n description: \"EXTERNAL_APP.PAGE_DESCRIPTION\",\n controller: \"ExternalApp\",\n controllerAs: \"vm\",\n disableHeader: true,\n mobileViewport: true\n });\n $routeProvider.when(\"/blocked-project/:pslug/\", {\n templateUrl: \"projects/project/blocked-project.html\",\n loader: true\n });\n $routeProvider.when(\"/error\", {\n templateUrl: \"error/error.html\"\n });\n $routeProvider.when(\"/not-found\", {\n templateUrl: \"error/not-found.html\"\n });\n $routeProvider.when(\"/permission-denied\", {\n templateUrl: \"error/permission-denied.html\"\n });\n $routeProvider.otherwise({\n templateUrl: \"error/not-found.html\"\n });\n $locationProvider.html5Mode({\n enabled: true,\n requireBase: false\n });\n defaultHeaders = {\n \"Content-Type\": \"application/json\",\n \"Accept-Language\": window.taigaConfig.defaultLanguage || \"en\",\n \"X-Session-Id\": taiga.sessionId\n };\n $httpProvider.defaults.headers[\"delete\"] = defaultHeaders;\n $httpProvider.defaults.headers.patch = defaultHeaders;\n $httpProvider.defaults.headers.post = defaultHeaders;\n $httpProvider.defaults.headers.put = defaultHeaders;\n $httpProvider.defaults.headers.get = {\n \"X-Session-Id\": taiga.sessionId\n };\n $httpProvider.useApplyAsync(true);\n $tgEventsProvider.setSessionId(taiga.sessionId);\n authHttpIntercept = function($q, $location, $navUrls, $lightboxService, errorHandlingService) {\n var httpResponseError;\n httpResponseError = function(response) {\n var nextUrl, search;\n if (response.status === 0 || (response.status === -1 && !response.config.cancelable)) {\n $lightboxService.closeAll();\n errorHandlingService.error();\n } else if (response.status === 401 && $location.url().indexOf('/login') === -1) {\n nextUrl = $location.url();\n search = $location.search();\n if (search.force_next) {\n $location.url($navUrls.resolve(\"login\")).search(\"force_next\", search.force_next);\n } else {\n $location.url($navUrls.resolve(\"login\")).search({\n \"unauthorized\": true,\n \"next\": nextUrl\n });\n }\n }\n return $q.reject(response);\n };\n return {\n responseError: httpResponseError\n };\n };\n $provide.factory(\"authHttpIntercept\", [\"$q\", \"$location\", \"$tgNavUrls\", \"lightboxService\", \"tgErrorHandlingService\", authHttpIntercept]);\n $httpProvider.interceptors.push(\"authHttpIntercept\");\n loaderIntercept = function($q, loaderService) {\n return {\n request: function(config) {\n loaderService.logRequest();\n return config;\n },\n requestError: function(rejection) {\n loaderService.logResponse();\n return $q.reject(rejection);\n },\n responseError: function(rejection) {\n loaderService.logResponse();\n return $q.reject(rejection);\n },\n response: function(response) {\n loaderService.logResponse();\n return response;\n }\n };\n };\n $provide.factory(\"loaderIntercept\", [\"$q\", \"tgLoader\", loaderIntercept]);\n $httpProvider.interceptors.push(\"loaderIntercept\");\n versionCheckHttpIntercept = function($q) {\n var httpResponseError;\n httpResponseError = function(response) {\n var $injector;\n if (response.status === 400 && response.data.version) {\n $injector = angular.element(\"body\").injector();\n $injector.invoke([\n \"$tgConfirm\", \"$translate\", (function(_this) {\n return function($confirm, $translate) {\n var versionErrorMsg;\n versionErrorMsg = $translate.instant(\"ERROR.VERSION_ERROR\");\n return $confirm.notify(\"error\", versionErrorMsg, null, 10000);\n };\n })(this)\n ]);\n }\n return $q.reject(response);\n };\n return {\n responseError: httpResponseError\n };\n };\n $provide.factory(\"versionCheckHttpIntercept\", [\"$q\", versionCheckHttpIntercept]);\n $httpProvider.interceptors.push(\"versionCheckHttpIntercept\");\n blockingIntercept = function($q, errorHandlingService) {\n var redirectToBlockedPage, responseError, responseOk;\n redirectToBlockedPage = function() {\n return errorHandlingService.block();\n };\n responseOk = function(response) {\n if (response.data.blocked_code) {\n redirectToBlockedPage();\n }\n return response;\n };\n responseError = function(response) {\n if (response.status === 451) {\n redirectToBlockedPage();\n }\n return $q.reject(response);\n };\n return {\n response: responseOk,\n responseError: responseError\n };\n };\n $provide.factory(\"blockingIntercept\", [\"$q\", \"tgErrorHandlingService\", blockingIntercept]);\n $httpProvider.interceptors.push(\"blockingIntercept\");\n $compileProvider.debugInfoEnabled(window.taigaConfig.debugInfo || false);\n if (localStorage.userInfo) {\n userInfo = JSON.parse(localStorage.userInfo);\n }\n preferedLangCode = (userInfo != null ? userInfo.lang : void 0) || window.taigaConfig.defaultLanguage || \"en\";\n $translatePartialLoaderProvider.addPart('taiga');\n $translateProvider.useLoader('$translatePartialLoader', {\n urlTemplate: '/' + window._version + '/locales/{part}/locale-{lang}.json'\n }).useSanitizeValueStrategy('escapeParameters').addInterpolation('$translateMessageFormatInterpolation').preferredLanguage(preferedLangCode);\n $translateProvider.fallbackLanguage(preferedLangCode);\n decorators = window.getDecorators();\n return _.each(decorators, function(decorator) {\n return $provide.decorator(decorator.provider, decorator.decorator);\n });\n };\n\n i18nInit = function(lang, $translate) {\n var messages;\n moment.locale(lang);\n if (lang !== 'en') {\n ljs.load((\"/\" + window._version + \"/locales/moment-locales/\") + lang + \".js\");\n }\n messages = {\n defaultMessage: $translate.instant(\"COMMON.FORM_ERRORS.DEFAULT_MESSAGE\"),\n type: {\n email: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_EMAIL\"),\n url: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URL\"),\n urlstrict: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URLSTRICT\"),\n number: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_NUMBER\"),\n digits: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DIGITS\"),\n dateIso: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DATEISO\"),\n alphanum: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_ALPHANUM\"),\n phone: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_PHONE\")\n },\n notnull: $translate.instant(\"COMMON.FORM_ERRORS.NOTNULL\"),\n notblank: $translate.instant(\"COMMON.FORM_ERRORS.NOT_BLANK\"),\n required: $translate.instant(\"COMMON.FORM_ERRORS.REQUIRED\"),\n regexp: $translate.instant(\"COMMON.FORM_ERRORS.REGEXP\"),\n min: $translate.instant(\"COMMON.FORM_ERRORS.MIN\"),\n max: $translate.instant(\"COMMON.FORM_ERRORS.MAX\"),\n range: $translate.instant(\"COMMON.FORM_ERRORS.RANGE\"),\n minlength: $translate.instant(\"COMMON.FORM_ERRORS.MIN_LENGTH\"),\n maxlength: $translate.instant(\"COMMON.FORM_ERRORS.MAX_LENGTH\"),\n rangelength: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_LENGTH\"),\n mincheck: $translate.instant(\"COMMON.FORM_ERRORS.MIN_CHECK\"),\n maxcheck: $translate.instant(\"COMMON.FORM_ERRORS.MAX_CHECK\"),\n rangecheck: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_CHECK\"),\n equalto: $translate.instant(\"COMMON.FORM_ERRORS.EQUAL_TO\"),\n linewidth: $translate.instant(\"COMMON.FORM_ERRORS.LINEWIDTH\"),\n pikaday: $translate.instant(\"COMMON.FORM_ERRORS.PIKADAY\")\n };\n return checksley.updateMessages('default', messages);\n };\n\n init = function($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, appMetaService, loaderService, navigationBarService, errorHandlingService, lightboxService, $tgConfig) {\n var un, user, validators;\n $log.debug(\"Initialize application\");\n $rootscope.$on('$translatePartialLoaderStructureChanged', function() {\n return $translate.refresh();\n });\n validators = {\n linewidth: function(val, width) {\n var lines, valid;\n lines = taiga.nl2br(val).split(\"
    \");\n valid = _.every(lines, function(line) {\n return line.length < width;\n });\n return valid;\n },\n pikaday: function(val) {\n var prettyDate;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n return moment(val, prettyDate).isValid();\n },\n url: function(val) {\n var re_weburl;\n re_weburl = new RegExp(\"^\" + \"(?:(?:https?|ftp)://)\" + \"(?:\\\\S+(?::\\\\S*)?@)?\" + \"(?:\" + \"(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})\" + \"(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})\" + \"(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})\" + \"(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])\" + \"(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}\" + \"(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))\" + \"|\" + \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\" + \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\" + \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\" + \"\\\\.?\" + \")\" + \"(?::\\\\d{2,5})?\" + \"(?:[/?#]\\\\S*)?\" + \"$\", \"i\");\n return re_weburl.test(val);\n }\n };\n checksley.updateValidators(validators);\n $rootscope.contribPlugins = this.taigaContribPlugins;\n $rootscope.adminPlugins = _.filter(this.taigaContribPlugins, {\n \"type\": \"admin\"\n });\n $rootscope.userSettingsPlugins = _.filter(this.taigaContribPlugins, {\n \"type\": \"userSettings\"\n });\n $rootscope.$on(\"$translateChangeEnd\", function(e, ctx) {\n var lang, rtlLanguages;\n lang = ctx.language;\n i18nInit(lang, $translate);\n rtlLanguages = $tgConfig.get(\"rtlLanguages\", []);\n return $rootscope.isRTL = rtlLanguages.indexOf(lang) > -1;\n });\n Promise.setScheduler(function(cb) {\n return $rootscope.$evalAsync(cb);\n });\n $events.setupConnection();\n if ($auth.isAuthenticated()) {\n user = $auth.getUser();\n $auth.showTerms();\n }\n $analytics.initialize();\n $rootscope.$on('$locationChangeStart', function(event) {\n errorHandlingService.init();\n if (lightboxService.getLightboxOpen().length) {\n event.preventDefault();\n return lightboxService.closeAll();\n }\n });\n un = $rootscope.$on('$routeChangeStart', function(event, next) {\n if (next.loader) {\n loaderService.start(true);\n }\n return un();\n });\n return $rootscope.$on('$routeChangeSuccess', function(event, next) {\n var description, title;\n if (next.loader) {\n loaderService.start(true);\n }\n if (next.access && next.access.requiresLogin) {\n if (!$auth.isAuthenticated()) {\n $location.path($navUrls.resolve(\"login\"));\n }\n }\n if (next.title || next.description) {\n title = $translate.instant(next.title || \"\");\n description = $translate.instant(next.description || \"\");\n appMetaService.setAll(title, description);\n }\n if (next.mobileViewport) {\n appMetaService.addMobileViewport();\n } else {\n appMetaService.removeMobileViewport();\n }\n if (next.disableHeader) {\n return navigationBarService.disableHeader();\n } else {\n return navigationBarService.enableHeader();\n }\n });\n };\n\n angular.module('infinite-scroll').value('THROTTLE_MILLISECONDS', 500);\n\n pluginsWithModule = _.filter(this.taigaContribPlugins, function(plugin) {\n return plugin.module;\n });\n\n pluginsModules = _.map(pluginsWithModule, function(plugin) {\n return plugin.module;\n });\n\n modules = [\"taigaBase\", \"taigaCommon\", \"taigaResources\", \"taigaResources2\", \"taigaAuth\", \"taigaEvents\", \"taigaHome\", \"taigaNavigationBar\", \"taigaProjects\", \"taigaRelatedTasks\", \"taigaBacklog\", \"taigaTaskboard\", \"taigaKanban\", \"taigaIssues\", \"taigaUserStories\", \"taigaTasks\", \"taigaTeam\", \"taigaWiki\", \"taigaSearch\", \"taigaAdmin\", \"taigaProject\", \"taigaUserSettings\", \"taigaFeedback\", \"taigaPlugins\", \"taigaIntegrations\", \"taigaComponents\", \"taigaProfile\", \"taigaHome\", \"taigaUserTimeline\", \"taigaExternalApps\", \"taigaDiscover\", \"taigaHistory\", \"taigaWikiHistory\", \"taigaEpics\", \"taigaUtils\", \"templates\", \"ngSanitize\", \"ngRoute\", \"ngAnimate\", \"ngAria\", \"pascalprecht.translate\", \"infinite-scroll\", \"tgRepeat\"].concat(pluginsModules);\n\n module = angular.module(\"taiga\", modules);\n\n module.config([\"$routeProvider\", \"$locationProvider\", \"$httpProvider\", \"$provide\", \"$tgEventsProvider\", \"$compileProvider\", \"$translateProvider\", \"$translatePartialLoaderProvider\", \"$animateProvider\", configure]);\n\n module.run([\"$log\", \"$rootScope\", \"$tgAuth\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"tgLoader\", \"tgNavigationBarService\", \"tgErrorHandlingService\", \"lightboxService\", \"$tgConfig\", init]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: classes.coffee\n */\n\n(function() {\n var TaigaBase, TaigaController, TaigaService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n TaigaBase = (function() {\n function TaigaBase() {}\n\n return TaigaBase;\n\n })();\n\n TaigaService = (function(superClass) {\n extend(TaigaService, superClass);\n\n function TaigaService() {\n return TaigaService.__super__.constructor.apply(this, arguments);\n }\n\n return TaigaService;\n\n })(TaigaBase);\n\n TaigaController = (function(superClass) {\n extend(TaigaController, superClass);\n\n function TaigaController() {\n this.onInitialDataError = bind(this.onInitialDataError, this);\n return TaigaController.__super__.constructor.apply(this, arguments);\n }\n\n TaigaController.prototype.onInitialDataError = function(xhr) {\n if (xhr) {\n if (xhr.status === 404) {\n this.errorHandlingService.notfound();\n } else if (xhr.status === 403) {\n this.errorHandlingService.permissionDenied();\n }\n }\n return this.q.reject(xhr);\n };\n\n return TaigaController;\n\n })(TaigaBase);\n\n this.taiga.Base = TaigaBase;\n\n this.taiga.Service = TaigaService;\n\n this.taiga.Controller = TaigaController;\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: utils.coffee\n */\n\n(function() {\n var DEFAULT_COLOR_LIST, addClass, bindMethods, bindOnce, cancelTimeout, debounce, debounceLeading, defineImmutableProperty, getDefaulColorList, getMatches, getRandomDefaultColor, groupBy, isEmail, isImage, isPdf, joinStr, mixOf, nl2br, normalizeString, patch, randomInt, replaceTags, scopeDefer, sizeFormat, slugify, startswith, stripTags, taiga, timeout, toString, toggleText, trim, truncate, unslugify,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n addClass = function(el, className) {\n if (el.classList) {\n return el.classList.add(className);\n } else {\n return el.className += ' ' + className;\n }\n };\n\n nl2br = (function(_this) {\n return function(str) {\n var breakTag;\n breakTag = '
    ';\n return (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + breakTag + '$2');\n };\n })(this);\n\n bindMethods = (function(_this) {\n return function(object) {\n var dependencies, methods;\n dependencies = _.keys(object);\n methods = [];\n _.forIn(object, function(value, key) {\n if (indexOf.call(dependencies, key) < 0 && _.isFunction(value)) {\n return methods.push(key);\n }\n });\n return _.bindAll(object, methods);\n };\n })(this);\n\n bindOnce = (function(_this) {\n return function(scope, attr, continuation) {\n var delBind, val;\n val = scope.$eval(attr);\n if (val !== void 0) {\n return continuation(val);\n }\n delBind = null;\n return delBind = scope.$watch(attr, function(val) {\n if (val === void 0) {\n return;\n }\n continuation(val);\n if (delBind) {\n return delBind();\n }\n });\n };\n })(this);\n\n mixOf = function() {\n var Mixed, base, i, method, mixin, mixins, name, ref;\n base = arguments[0], mixins = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n Mixed = (function(superClass) {\n extend(Mixed, superClass);\n\n function Mixed() {\n return Mixed.__super__.constructor.apply(this, arguments);\n }\n\n return Mixed;\n\n })(base);\n for (i = mixins.length - 1; i >= 0; i += -1) {\n mixin = mixins[i];\n ref = mixin.prototype;\n for (name in ref) {\n method = ref[name];\n Mixed.prototype[name] = method;\n }\n }\n return Mixed;\n };\n\n trim = function(data, char) {\n return _.trim(data, char);\n };\n\n slugify = function(data) {\n return data.toString().toLowerCase().trim().replace(/\\s+/g, '-').replace(/&/g, '-and-').replace(/[^\\w\\-]+/g, '').replace(/\\-\\-+/g, '-');\n };\n\n unslugify = function(data) {\n if (data) {\n return _.capitalize(data.replace(/-/g, ' '));\n }\n return data;\n };\n\n toggleText = function(element, texts) {\n var nextTextPosition, text;\n nextTextPosition = element.data('nextTextPosition');\n if ((nextTextPosition == null) || nextTextPosition >= texts.length) {\n nextTextPosition = 0;\n }\n text = texts[nextTextPosition];\n element.data('nextTextPosition', nextTextPosition + 1);\n return element.text(text);\n };\n\n groupBy = function(coll, pred) {\n var i, item, len, result;\n result = {};\n for (i = 0, len = coll.length; i < len; i++) {\n item = coll[i];\n result[pred(item)] = item;\n }\n return result;\n };\n\n timeout = function(wait, continuation) {\n return window.setTimeout(continuation, wait);\n };\n\n cancelTimeout = function(timeoutVar) {\n return window.clearTimeout(timeoutVar);\n };\n\n scopeDefer = function(scope, func) {\n return _.defer((function(_this) {\n return function() {\n return scope.$apply(func);\n };\n })(this));\n };\n\n toString = function(value) {\n if (_.isNumber(value)) {\n return value + \"\";\n } else if (_.isString(value)) {\n return value;\n } else if (_.isPlainObject(value)) {\n return JSON.stringify(value);\n } else if (_.isUndefined(value)) {\n return \"\";\n }\n return value.toString();\n };\n\n joinStr = function(str, coll) {\n return coll.join(str);\n };\n\n debounce = function(wait, func) {\n return _.debounce(func, wait, {\n leading: true,\n trailing: false\n });\n };\n\n debounceLeading = function(wait, func) {\n return _.debounce(func, wait, {\n leading: false,\n trailing: true\n });\n };\n\n startswith = function(str1, str2) {\n return _.startsWith(str1, str2);\n };\n\n truncate = function(str, maxLength, suffix) {\n var out;\n if (suffix == null) {\n suffix = \"...\";\n }\n if ((typeof str !== \"string\") && !(str instanceof String)) {\n return str;\n }\n out = str.slice(0);\n if (out.length > maxLength) {\n out = out.substring(0, maxLength + 1);\n out = out.substring(0, Math.min(out.length, out.lastIndexOf(\" \")));\n out = out + suffix;\n }\n return out;\n };\n\n sizeFormat = function(input, precision) {\n var number, size, units;\n if (precision == null) {\n precision = 1;\n }\n if (isNaN(parseFloat(input)) || !isFinite(input)) {\n return \"-\";\n }\n if (input === 0) {\n return \"0 bytes\";\n }\n units = [\"bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\n number = Math.floor(Math.log(input) / Math.log(1024));\n if (number > 5) {\n number = 5;\n }\n size = (input / Math.pow(1024, number)).toFixed(precision);\n return size + \" \" + units[number];\n };\n\n stripTags = function(str, exception) {\n var pattern;\n if (exception) {\n pattern = new RegExp('<(?!' + exception + '\\s*\\/?)[^>]+>', 'gi');\n return String(str).replace(pattern, '');\n } else {\n return String(str).replace(/<\\/?[^>]+>/g, '');\n }\n };\n\n replaceTags = function(str, tags, replace) {\n var pattern;\n pattern = new RegExp('<(' + tags + ')>', 'gi');\n str = str.replace(pattern, '<' + replace + '>');\n pattern = new RegExp('<\\/(' + tags + ')>', 'gi');\n str = str.replace(pattern, '');\n return str;\n };\n\n defineImmutableProperty = (function(_this) {\n return function(obj, name, fn) {\n return Object.defineProperty(obj, name, {\n get: function() {\n var fn_result;\n if (!_.isFunction(fn)) {\n throw \"defineImmutableProperty third param must be a function\";\n }\n fn_result = fn();\n if (fn_result && _.isObject(fn_result)) {\n if (fn_result.size === void 0) {\n throw \"defineImmutableProperty must return immutable data\";\n }\n }\n return fn_result;\n }\n });\n };\n })(this);\n\n _.mixin({\n removeKeys: function(obj, keys) {\n return _.chain([keys]).flatten().reduce(function(obj, key) {\n delete obj[key];\n return obj;\n }, obj).value();\n },\n cartesianProduct: function() {\n return _.reduceRight(arguments, function(a, b) {\n return _.flatten(_.map(a, function(x) {\n return _.map(b, function(y) {\n return [y].concat(x);\n });\n }), true);\n }, [[]]);\n }\n });\n\n isImage = function(name) {\n return name.match(/\\.(jpe?g|png|gif|gifv|webm|svg|psd)/i) !== null;\n };\n\n isEmail = function(name) {\n return (name != null) && name.match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/) !== null;\n };\n\n isPdf = function(name) {\n return name.match(/\\.(pdf)/i) !== null;\n };\n\n patch = function(oldImmutable, newImmutable) {\n var pathObj;\n pathObj = {};\n newImmutable.forEach(function(newValue, key) {\n if (newValue !== oldImmutable.get(key)) {\n if (newValue.toJS) {\n return pathObj[key] = newValue.toJS();\n } else {\n return pathObj[key] = newValue;\n }\n }\n });\n return pathObj;\n };\n\n DEFAULT_COLOR_LIST = ['#fce94f', '#edd400', '#c4a000', '#8ae234', '#73d216', '#4e9a06', '#d3d7cf', '#fcaf3e', '#f57900', '#ce5c00', '#729fcf', '#3465a4', '#204a87', '#888a85', '#ad7fa8', '#75507b', '#5c3566', '#ef2929', '#cc0000', '#a40000', '#222222'];\n\n getRandomDefaultColor = function() {\n return _.sample(DEFAULT_COLOR_LIST);\n };\n\n getDefaulColorList = function() {\n return _.clone(DEFAULT_COLOR_LIST);\n };\n\n getMatches = function(string, regex, index) {\n var match, matches;\n index || (index = 1);\n matches = [];\n match = null;\n while (match = regex.exec(string)) {\n if (index === -1) {\n matches.push(match);\n } else {\n matches.push(match[index]);\n }\n }\n return matches;\n };\n\n randomInt = function(start, end) {\n var interval;\n interval = end - start;\n return start + Math.floor(Math.random() * (interval + 1));\n };\n\n normalizeString = function(string) {\n var normalizedString;\n normalizedString = string;\n normalizedString = normalizedString.replace(\"Á\", \"A\").replace(\"Ä\", \"A\").replace(\"À\", \"A\");\n normalizedString = normalizedString.replace(\"É\", \"E\").replace(\"Ë\", \"E\").replace(\"È\", \"E\");\n normalizedString = normalizedString.replace(\"Í\", \"I\").replace(\"Ï\", \"I\").replace(\"Ì\", \"I\");\n normalizedString = normalizedString.replace(\"Ó\", \"O\").replace(\"Ö\", \"O\").replace(\"Ò\", \"O\");\n normalizedString = normalizedString.replace(\"Ú\", \"U\").replace(\"Ü\", \"U\").replace(\"Ù\", \"U\");\n return normalizedString;\n };\n\n taiga = this.taiga;\n\n taiga.addClass = addClass;\n\n taiga.nl2br = nl2br;\n\n taiga.bindMethods = bindMethods;\n\n taiga.bindOnce = bindOnce;\n\n taiga.mixOf = mixOf;\n\n taiga.trim = trim;\n\n taiga.slugify = slugify;\n\n taiga.unslugify = unslugify;\n\n taiga.toggleText = toggleText;\n\n taiga.groupBy = groupBy;\n\n taiga.timeout = timeout;\n\n taiga.cancelTimeout = cancelTimeout;\n\n taiga.scopeDefer = scopeDefer;\n\n taiga.toString = toString;\n\n taiga.joinStr = joinStr;\n\n taiga.truncate = truncate;\n\n taiga.debounce = debounce;\n\n taiga.debounceLeading = debounceLeading;\n\n taiga.startswith = startswith;\n\n taiga.sizeFormat = sizeFormat;\n\n taiga.stripTags = stripTags;\n\n taiga.replaceTags = replaceTags;\n\n taiga.defineImmutableProperty = defineImmutableProperty;\n\n taiga.isImage = isImage;\n\n taiga.isEmail = isEmail;\n\n taiga.isPdf = isPdf;\n\n taiga.patch = patch;\n\n taiga.getRandomDefaultColor = getRandomDefaultColor;\n\n taiga.getDefaulColorList = getDefaulColorList;\n\n taiga.getMatches = getMatches;\n\n taiga.randomInt = randomInt;\n\n taiga.normalizeString = normalizeString;\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/controllerMixins.coffee\n */\n\n(function() {\n var FiltersMixin, PageMixin, UsFiltersMixin, groupBy, joinStr, taiga, toString, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n joinStr = this.taiga.joinStr;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n PageMixin = (function() {\n function PageMixin() {}\n\n PageMixin.prototype.fillUsersAndRoles = function(users, roles) {\n var activeUsers, computableRoles;\n activeUsers = _.filter(users, (function(_this) {\n return function(user) {\n return user.is_active;\n };\n })(this));\n this.scope.activeUsers = _.sortBy(activeUsers, \"full_name_display\");\n this.scope.activeUsersById = groupBy(this.scope.activeUsers, function(e) {\n return e.id;\n });\n this.scope.users = _.sortBy(users, \"full_name_display\");\n this.scope.usersById = groupBy(this.scope.users, function(e) {\n return e.id;\n });\n this.scope.roles = _.sortBy(roles, \"order\");\n computableRoles = _(this.scope.project.members).map(\"role\").uniq().value();\n return this.scope.computableRoles = _(roles).filter(\"computable\").filter(function(x) {\n return _.includes(computableRoles, x.id);\n }).value();\n };\n\n PageMixin.prototype.loadUsersAndRoles = function() {\n var promise;\n promise = this.q.all([this.rs.projects.usersList(this.scope.projectId), this.rs.projects.rolesList(this.scope.projectId)]);\n return promise.then((function(_this) {\n return function(results) {\n var roles, users;\n users = results[0], roles = results[1];\n _this.fillUsersAndRoles(users, roles);\n return results;\n };\n })(this));\n };\n\n return PageMixin;\n\n })();\n\n taiga.PageMixin = PageMixin;\n\n FiltersMixin = (function() {\n function FiltersMixin() {}\n\n FiltersMixin.prototype.selectFilter = function(name, value, load) {\n var existing, location, params;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] !== void 0 && name !== \"page\") {\n existing = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n existing.push(taiga.toString(value));\n existing = _.compact(existing);\n value = joinStr(\",\", _.uniq(existing));\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceFilter = function(name, value, load) {\n var location;\n if (load == null) {\n load = false;\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceAllFilters = function(filters, load) {\n var location;\n if (load == null) {\n load = false;\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(filters);\n };\n\n FiltersMixin.prototype.unselectFilter = function(name, value, load) {\n var location, newValues, params, parsedValues;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] === void 0) {\n return;\n }\n if (value === void 0 || value === null) {\n delete params[name];\n }\n parsedValues = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n newValues = _.reject(parsedValues, function(x) {\n return x === taiga.toString(value);\n });\n newValues = _.compact(newValues);\n if (_.isEmpty(newValues)) {\n value = null;\n } else {\n value = joinStr(\",\", _.uniq(newValues));\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n };\n\n FiltersMixin.prototype.applyStoredFilters = function(projectSlug, key) {\n var filters;\n if (_.isEmpty(this.location.search())) {\n filters = this.getFilters(projectSlug, key);\n if (Object.keys(filters).length) {\n this.location.search(filters);\n this.location.replace();\n return true;\n }\n }\n return false;\n };\n\n FiltersMixin.prototype.storeFilters = function(projectSlug, params, filtersHashSuffix) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = taiga.generateHash([projectSlug, ns]);\n return this.storage.set(hash, params);\n };\n\n FiltersMixin.prototype.getFilters = function(projectSlug, filtersHashSuffix) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = taiga.generateHash([projectSlug, ns]);\n return this.storage.get(hash) || {};\n };\n\n FiltersMixin.prototype.formatSelectedFilters = function(type, list, urlIds) {\n var invalidAppliedTags, invalidTags, selectedFilters, selectedIds, validAppliedTags;\n selectedIds = urlIds.split(',');\n selectedFilters = _.filter(list, function(it) {\n return selectedIds.indexOf(_.toString(it.id)) !== -1;\n });\n invalidTags = _.filter(selectedIds, function(it) {\n return !_.find(selectedFilters, function(sit) {\n return _.toString(sit.id) === it;\n });\n });\n invalidAppliedTags = _.map(invalidTags, function(it) {\n return {\n id: it,\n key: type + \":\" + it,\n dataType: type,\n name: it\n };\n });\n validAppliedTags = _.map(selectedFilters, function(it) {\n return {\n id: it.id,\n key: type + \":\" + it.id,\n dataType: type,\n name: it.name,\n color: it.color\n };\n });\n return invalidAppliedTags.concat(validAppliedTags);\n };\n\n return FiltersMixin;\n\n })();\n\n taiga.FiltersMixin = FiltersMixin;\n\n UsFiltersMixin = (function() {\n function UsFiltersMixin() {}\n\n UsFiltersMixin.prototype.changeQ = function(q) {\n this.replaceFilter(\"q\", q);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.removeFilter = function(filter) {\n this.unselectFilter(filter.dataType, filter.id);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.addFilter = function(newFilter) {\n this.selectFilter(newFilter.category.dataType, newFilter.filter.id);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.selectCustomFilter = function(customFilter) {\n this.replaceAllFilters(customFilter.filter);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.saveCustomFilter = function(name) {\n var filters, urlfilters;\n filters = {};\n urlfilters = this.location.search();\n filters.tags = urlfilters.tags;\n filters.status = urlfilters.status;\n filters.assigned_to = urlfilters.assigned_to;\n filters.assigned_users = urlfilters.assigned_users;\n filters.owner = urlfilters.owner;\n filters.epic = urlfilters.epic;\n filters.role = urlfilters.role;\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.storeCustomFiltersName).then((function(_this) {\n return function(userFilters) {\n userFilters[name] = filters;\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.storeCustomFiltersName).then(_this.generateFilters);\n };\n })(this));\n };\n\n UsFiltersMixin.prototype.removeCustomFilter = function(customFilter) {\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.storeCustomFiltersName).then((function(_this) {\n return function(userFilters) {\n delete userFilters[customFilter.id];\n _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.storeCustomFiltersName).then(_this.generateFilters);\n return _this.generateFilters();\n };\n })(this));\n };\n\n UsFiltersMixin.prototype.isFilterDataTypeSelected = function(filterDataType) {\n var filter, i, len, ref;\n ref = this.selectedFilters;\n for (i = 0, len = ref.length; i < len; i++) {\n filter = ref[i];\n if (filter['dataType'] === filterDataType) {\n return true;\n }\n }\n return false;\n };\n\n UsFiltersMixin.prototype.generateFilters = function(milestone) {\n var loadFilters, urlfilters;\n this.storeFilters(this.params.pslug, this.location.search(), this.storeFiltersName);\n urlfilters = this.location.search();\n loadFilters = {};\n loadFilters.project = this.scope.projectId;\n loadFilters.tags = urlfilters.tags;\n loadFilters.status = urlfilters.status;\n loadFilters.assigned_users = urlfilters.assigned_users;\n loadFilters.assigned_to = urlfilters.assigned_to;\n loadFilters.owner = urlfilters.owner;\n loadFilters.epic = urlfilters.epic;\n loadFilters.role = urlfilters.role;\n loadFilters.q = urlfilters.q;\n if (milestone) {\n loadFilters.milestone = milestone;\n }\n return this.q.all([this.rs.userstories.filtersData(loadFilters), this.filterRemoteStorageService.getFilters(this.scope.projectId, this.storeCustomFiltersName)]).then((function(_this) {\n return function(result) {\n var assignedTo, assignedUsers, customFiltersRaw, data, epic, owner, role, selected, statuses, tags, tagsWithAtLeastOneElement;\n data = result[0];\n customFiltersRaw = result[1];\n statuses = _.map(data.statuses, function(it) {\n it.id = it.id.toString();\n return it;\n });\n tags = _.map(data.tags, function(it) {\n it.id = it.name;\n return it;\n });\n tagsWithAtLeastOneElement = _.filter(tags, function(tag) {\n return tag.count > 0;\n });\n assignedUsers = _.map(data.assigned_users, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.full_name || \"Unassigned\";\n return it;\n });\n assignedTo = _.map(data.assigned_to, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.full_name || \"Unassigned\";\n return it;\n });\n role = _.map(data.roles, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.name || \"Unassigned\";\n return it;\n });\n owner = _.map(data.owners, function(it) {\n it.id = it.id.toString();\n it.name = it.full_name;\n return it;\n });\n epic = _.map(data.epics, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n it.name = \"#\" + it.ref + \" \" + it.subject;\n } else {\n it.id = \"null\";\n it.name = \"Not in an epic\";\n }\n return it;\n });\n _this.selectedFilters = [];\n if (loadFilters.status) {\n selected = _this.formatSelectedFilters(\"status\", statuses, loadFilters.status);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.tags) {\n selected = _this.formatSelectedFilters(\"tags\", tags, loadFilters.tags);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.assigned_users) {\n selected = _this.formatSelectedFilters(\"assigned_users\", assignedUsers, loadFilters.assigned_users);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.assigned_to) {\n selected = _this.formatSelectedFilters(\"assigned_to\", assignedTo, loadFilters.assigned_to);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.owner) {\n selected = _this.formatSelectedFilters(\"owner\", owner, loadFilters.owner);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.epic) {\n selected = _this.formatSelectedFilters(\"epic\", epic, loadFilters.epic);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.role) {\n selected = _this.formatSelectedFilters(\"role\", role, loadFilters.role);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n _this.filterQ = loadFilters.q;\n _this.filters = [\n {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.STATUS\"),\n dataType: \"status\",\n content: statuses\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.TAGS\"),\n dataType: \"tags\",\n content: tags,\n hideEmpty: true,\n totalTaggedElements: tagsWithAtLeastOneElement.length\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.ASSIGNED_USERS\"),\n dataType: \"assigned_users\",\n content: assignedUsers\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.ROLE\"),\n dataType: \"role\",\n content: role\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.CREATED_BY\"),\n dataType: \"owner\",\n content: owner\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.EPIC\"),\n dataType: \"epic\",\n content: epic\n }\n ];\n _this.customFilters = [];\n return _.forOwn(customFiltersRaw, function(value, key) {\n return _this.customFilters.push({\n id: key,\n name: key,\n filter: value\n });\n });\n };\n })(this));\n };\n\n return UsFiltersMixin;\n\n })();\n\n taiga.UsFiltersMixin = UsFiltersMixin;\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaAdmin\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/auth.coffee\n */\n\n(function() {\n var AuthService, CancelAccountDirective, ChangeEmailDirective, ChangePasswordFromRecoveryDirective, ForgotPasswordDirective, InvitationDirective, LoginDirective, LoginPage, PublicRegisterMessageDirective, RegisterDirective, debounce, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAuth\", [\"taigaResources\"]);\n\n LoginPage = (function() {\n LoginPage.$inject = ['tgCurrentUserService', '$location', '$tgNavUrls', '$routeParams', '$tgAuth'];\n\n function LoginPage(currentUserService, $location, $navUrls, $routeParams, $auth) {\n var url;\n if (currentUserService.isAuthenticated()) {\n if (!$routeParams['force_login']) {\n url = $navUrls.resolve(\"home\");\n if ($routeParams['next']) {\n url = decodeURIComponent($routeParams['next']);\n $location.search('next', null);\n }\n if ($routeParams['unauthorized']) {\n $auth.clear();\n $auth.removeToken();\n } else {\n $location.url(url);\n }\n }\n }\n }\n\n return LoginPage;\n\n })();\n\n module.controller('LoginPage', LoginPage);\n\n AuthService = (function(superClass) {\n extend(AuthService, superClass);\n\n AuthService.$inject = [\"$rootScope\", \"$tgStorage\", \"$tgModel\", \"$tgResources\", \"$tgHttp\", \"$tgUrls\", \"$tgConfig\", \"$translate\", \"tgCurrentUserService\", \"tgThemeService\", \"$tgAnalytics\", \"tgTermsAnnouncementService\"];\n\n function AuthService(rootscope, storage, model, rs, http, urls, config1, translate, currentUserService1, themeService, analytics, termsAnnouncementService) {\n var userModel;\n this.rootscope = rootscope;\n this.storage = storage;\n this.model = model;\n this.rs = rs;\n this.http = http;\n this.urls = urls;\n this.config = config1;\n this.translate = translate;\n this.currentUserService = currentUserService1;\n this.themeService = themeService;\n this.analytics = analytics;\n this.termsAnnouncementService = termsAnnouncementService;\n AuthService.__super__.constructor.call(this);\n userModel = this.getUser();\n this._currentTheme = this._getUserTheme();\n this.setUserdata(userModel);\n }\n\n AuthService.prototype.setUserdata = function(userModel) {\n if (userModel) {\n this.userData = Immutable.fromJS(userModel.getAttrs());\n this.currentUserService.setUser(this.userData);\n } else {\n this.userData = null;\n }\n return this.analytics.setUserId();\n };\n\n AuthService.prototype._getUserTheme = function() {\n var ref;\n return ((ref = this.rootscope.user) != null ? ref.theme : void 0) || this.config.get(\"defaultTheme\") || \"taiga\";\n };\n\n AuthService.prototype._setTheme = function() {\n var newTheme;\n newTheme = this._getUserTheme();\n if (this._currentTheme !== newTheme) {\n this._currentTheme = newTheme;\n return this.themeService.use(this._currentTheme);\n }\n };\n\n AuthService.prototype._setLocales = function() {\n var lang, ref;\n lang = ((ref = this.rootscope.user) != null ? ref.lang : void 0) || this.config.get(\"defaultLanguage\") || \"en\";\n this.translate.preferredLanguage(lang);\n return this.translate.use(lang);\n };\n\n AuthService.prototype.getUser = function() {\n var user, userData;\n if (this.rootscope.user) {\n return this.rootscope.user;\n }\n userData = this.storage.get(\"userInfo\");\n if (userData) {\n user = this.model.make_model(\"users\", userData);\n this.rootscope.user = user;\n this._setLocales();\n this._setTheme();\n return user;\n } else {\n this._setTheme();\n }\n return null;\n };\n\n AuthService.prototype.setUser = function(user) {\n this.rootscope.auth = user;\n this.storage.set(\"userInfo\", user.getAttrs());\n this.rootscope.user = user;\n this.setUserdata(user);\n this._setLocales();\n return this._setTheme();\n };\n\n AuthService.prototype.clear = function() {\n this.rootscope.auth = null;\n this.rootscope.user = null;\n return this.storage.remove(\"userInfo\");\n };\n\n AuthService.prototype.setToken = function(token) {\n return this.storage.set(\"token\", token);\n };\n\n AuthService.prototype.getToken = function() {\n return this.storage.get(\"token\");\n };\n\n AuthService.prototype.removeToken = function() {\n return this.storage.remove(\"token\");\n };\n\n AuthService.prototype.isAuthenticated = function() {\n if (this.getUser() !== null) {\n return true;\n }\n return false;\n };\n\n AuthService.prototype.refresh = function() {\n var url;\n url = this.urls.resolve(\"user-me\");\n return this.http.get(url).then((function(_this) {\n return function(data, status) {\n var user;\n user = data.data;\n user.token = _this.getUser().auth_token;\n user = _this.model.make_model(\"users\", user);\n _this.setUser(user);\n _this.rootscope.$broadcast(\"auth:refresh\", user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.login = function(data, type) {\n var url;\n url = this.urls.resolve(\"auth\");\n data = _.clone(data, false);\n data.type = type ? type : \"normal\";\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(data, status) {\n var user;\n user = _this.model.make_model(\"users\", data.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n _this.rootscope.$broadcast(\"auth:login\", user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.logout = function() {\n this.removeToken();\n this.clear();\n this.currentUserService.removeUser();\n this._setTheme();\n this._setLocales();\n this.rootscope.$broadcast(\"auth:logout\");\n return this.analytics.setUserId();\n };\n\n AuthService.prototype.register = function(data, type, existing) {\n var url;\n url = this.urls.resolve(\"auth-register\");\n data = _.clone(data, false);\n data.type = type ? type : \"public\";\n if (type === \"private\") {\n data.existing = existing ? existing : false;\n }\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(response) {\n var user;\n user = _this.model.make_model(\"users\", response.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n _this.rootscope.$broadcast(\"auth:register\", user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.getInvitation = function(token) {\n return this.rs.invitations.get(token);\n };\n\n AuthService.prototype.acceptInvitiationWithNewUser = function(data) {\n return this.register(data, \"private\", false);\n };\n\n AuthService.prototype.forgotPassword = function(data) {\n var url;\n url = this.urls.resolve(\"users-password-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changePasswordFromRecovery = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-password-from-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changeEmail = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-email\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n AuthService.prototype.cancelAccount = function(data) {\n var url;\n url = this.urls.resolve(\"users-cancel-account\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n AuthService.prototype.exportProfile = function() {\n var url;\n url = this.urls.resolve(\"users-export\");\n return this.http.post(url);\n };\n\n AuthService.prototype.showTerms = function(data) {\n var user;\n user = this.getUser();\n if (!user || user.read_new_terms) {\n return;\n }\n return this.termsAnnouncementService.show();\n };\n\n return AuthService;\n\n })(taiga.Service);\n\n module.service(\"$tgAuth\", AuthService);\n\n PublicRegisterMessageDirective = function($config, $navUrls, $routeParams, templates) {\n var template, templateFn;\n template = templates.get(\"auth/login-text.html\", true);\n templateFn = function() {\n var nextUrl, publicRegisterEnabled, url;\n publicRegisterEnabled = $config.get(\"publicRegisterEnabled\");\n if (!publicRegisterEnabled) {\n return \"\";\n }\n url = $navUrls.resolve(\"register\");\n if ($routeParams['force_next']) {\n nextUrl = encodeURIComponent($routeParams['force_next']);\n url += \"?next=\" + nextUrl;\n }\n return template({\n url: url\n });\n };\n return {\n restrict: \"AE\",\n scope: {},\n template: templateFn\n };\n };\n\n module.directive(\"tgPublicRegisterMessage\", [\"$tgConfig\", \"$tgNavUrls\", \"$routeParams\", \"$tgTemplate\", PublicRegisterMessageDirective]);\n\n LoginDirective = function($auth, $confirm, $location, $config, $routeParams, $navUrls, $events, $translate, $window, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onError, onSuccess, submit;\n form = new checksley.Form($el.find(\"form.login-form\"));\n if ($routeParams['next'] && $routeParams['next'] !== $navUrls.resolve(\"login\")) {\n $scope.nextUrl = decodeURIComponent($routeParams['next']);\n } else {\n $scope.nextUrl = $navUrls.resolve(\"home\");\n }\n if ($routeParams['force_next']) {\n $scope.nextUrl = decodeURIComponent($routeParams['force_next']);\n }\n onSuccess = function(response) {\n $events.setupConnection();\n $analytics.trackEvent(\"auth\", \"login\", \"user login\", 1);\n $auth.showTerms();\n if ($scope.nextUrl.indexOf('http') === 0) {\n return $window.location.href = $scope.nextUrl;\n } else {\n return $location.url($scope.nextUrl);\n }\n };\n onError = function(response) {\n return $confirm.notify(\"light-error\", $translate.instant(\"LOGIN_FORM.ERROR_AUTH_INCORRECT\"));\n };\n $scope.onKeyUp = function(event) {\n var target, value;\n target = angular.element(event.currentTarget);\n value = target.val();\n $scope.iscapsLockActivated = false;\n if (value !== value.toLowerCase()) {\n return $scope.iscapsLockActivated = true;\n }\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var data, loginFormType, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n data = {\n \"username\": $el.find(\"form.login-form input[name=username]\").val(),\n \"password\": $el.find(\"form.login-form input[name=password]\").val()\n };\n loginFormType = $config.get(\"loginFormType\", \"normal\");\n promise = $auth.login(data, loginFormType);\n return promise.then(onSuccess, onError);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n window.prerenderReady = true;\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLogin\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\", \"$tgNavUrls\", \"$tgEvents\", \"$translate\", \"$window\", \"$tgAnalytics\", LoginDirective]);\n\n RegisterDirective = function($auth, $confirm, $location, $navUrls, $config, $routeParams, $analytics, $translate, $window) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n if (!$config.get(\"publicRegisterEnabled\")) {\n $location.path($navUrls.resolve(\"not-found\"));\n $location.replace();\n }\n $scope.data = {};\n form = $el.find(\"form\").checksley({\n onlyOneErrorElement: true\n });\n if ($routeParams['next'] && $routeParams['next'] !== $navUrls.resolve(\"login\")) {\n $scope.nextUrl = decodeURIComponent($routeParams['next']);\n } else {\n $scope.nextUrl = $navUrls.resolve(\"home\");\n }\n onSuccessSubmit = function(response) {\n $analytics.trackEvent(\"auth\", \"register\", \"user registration\", 1);\n if ($scope.nextUrl.indexOf('http') === 0) {\n return $window.location.href = $scope.nextUrl;\n } else {\n return $location.url($scope.nextUrl);\n }\n };\n onErrorSubmit = function(response) {\n var text;\n if (response.data._error_message) {\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n $confirm.notify(\"light-error\", text);\n }\n return form.setErrors(response.data);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.register($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return window.prerenderReady = true;\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRegister\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\", \"$routeParams\", \"$tgAnalytics\", \"$translate\", \"$window\", RegisterDirective]);\n\n ForgotPasswordDirective = function($auth, $confirm, $location, $navUrls, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n var message, title;\n $location.path($navUrls.resolve(\"login\"));\n title = $translate.instant(\"FORGOT_PASSWORD_FORM.SUCCESS_TITLE\");\n message = $translate.instant(\"FORGOT_PASSWORD_FORM.SUCCESS_TEXT\");\n return $confirm.success(title, message);\n };\n onErrorSubmit = function(response) {\n var text;\n text = $translate.instant(\"FORGOT_PASSWORD_FORM.ERROR\");\n return $confirm.notify(\"light-error\", text);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.forgotPassword($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return window.prerenderReady = true;\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgForgotPassword\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$translate\", ForgotPasswordDirective]);\n\n ChangePasswordFromRecoveryDirective = function($auth, $confirm, $location, $params, $navUrls, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit, text;\n $scope.data = {};\n if ($params.token != null) {\n $scope.tokenInParams = true;\n $scope.data.token = $params.token;\n } else {\n $location.path($navUrls.resolve(\"login\"));\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.ERROR\");\n $confirm.notify(\"light-error\", text);\n }\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $location.path($navUrls.resolve(\"login\"));\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.SUCCESS\");\n return $confirm.success(text);\n };\n onErrorSubmit = function(response) {\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.ERROR\");\n return $confirm.notify(\"light-error\", text);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.changePasswordFromRecovery($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangePasswordFromRecovery\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", \"$translate\", ChangePasswordFromRecoveryDirective]);\n\n InvitationDirective = function($auth, $confirm, $location, $config, $params, $navUrls, $analytics, $translate, config) {\n var link;\n link = function($scope, $el, $attrs) {\n var loginForm, onErrorSubmitLogin, onErrorSubmitRegister, onSuccessSubmitLogin, onSuccessSubmitRegister, promise, registerForm, submitLogin, submitRegister, token;\n token = $params.token;\n promise = $auth.getInvitation(token);\n promise.then(function(invitation) {\n $scope.invitation = invitation;\n return $scope.publicRegisterEnabled = config.get(\"publicRegisterEnabled\");\n });\n promise.then(null, function(response) {\n var text;\n $location.path($navUrls.resolve(\"login\"));\n text = $translate.instant(\"INVITATION_LOGIN_FORM.NOT_FOUND\");\n return $confirm.notify(\"light-error\", text);\n });\n $scope.dataLogin = {\n token: token\n };\n loginForm = $el.find(\"form.login-form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmitLogin = function(response) {\n var text;\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with existing user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n text = $translate.instant(\"INVITATION_LOGIN_FORM.SUCCESS\", {\n \"project_name\": $scope.invitation.project_name\n });\n return $confirm.notify(\"success\", text);\n };\n onErrorSubmitLogin = function(response) {\n return $confirm.notify(\"light-error\", response.data._error_message);\n };\n submitLogin = debounce(2000, (function(_this) {\n return function(event) {\n var data, loginFormType;\n event.preventDefault();\n if (!loginForm.validate()) {\n return;\n }\n loginFormType = $config.get(\"loginFormType\", \"normal\");\n data = $scope.dataLogin;\n promise = $auth.login({\n username: data.username,\n password: data.password,\n invitation_token: data.token\n }, loginFormType);\n return promise.then(onSuccessSubmitLogin, onErrorSubmitLogin);\n };\n })(this));\n $el.on(\"submit\", \"form.login-form\", submitLogin);\n $el.on(\"click\", \".button-login\", submitLogin);\n $scope.dataRegister = {\n token: token\n };\n registerForm = $el.find(\"form.register-form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmitRegister = function(response) {\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with new user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n return $confirm.notify(\"success\", \"You've successfully joined this project\", \"Welcome to \" + (_.escape($scope.invitation.project_name)));\n };\n onErrorSubmitRegister = function(response) {\n var text;\n if (response.data._error_message) {\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n $confirm.notify(\"light-error\", text);\n }\n return registerForm.setErrors(response.data);\n };\n submitRegister = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n if (!registerForm.validate()) {\n return;\n }\n promise = $auth.acceptInvitiationWithNewUser($scope.dataRegister);\n return promise.then(onSuccessSubmitRegister, onErrorSubmitRegister);\n };\n })(this));\n $el.on(\"submit\", \"form.register-form\", submitRegister);\n $el.on(\"click\", \".button-register\", submitRegister);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgInvitation\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"$tgConfig\", InvitationDirective]);\n\n ChangeEmailDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.email_token = $params.email_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n var text;\n if ($auth.isAuthenticated()) {\n $repo.queryOne(\"users\", $auth.getUser().id).then((function(_this) {\n return function(data) {\n $auth.setUser(data);\n $location.path($navUrls.resolve(\"home\"));\n return $location.replace();\n };\n })(this));\n } else {\n $location.path($navUrls.resolve(\"login\"));\n $location.replace();\n }\n text = $translate.instant(\"CHANGE_EMAIL_FORM.SUCCESS\");\n return $confirm.success(text);\n };\n onErrorSubmit = function(response) {\n var text;\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n return $confirm.notify(\"light-error\", text);\n };\n submit = function() {\n var promise;\n if (!form.validate()) {\n return;\n }\n promise = $auth.changeEmail($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n $el.on(\"submit\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"click\", \"a.button-change-email\", function(event) {\n event.preventDefault();\n return submit();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangeEmail\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", \"$translate\", ChangeEmailDirective]);\n\n CancelAccountDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.cancel_token = $params.cancel_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n var text;\n $auth.logout();\n $location.path($navUrls.resolve(\"home\"));\n text = $translate.instant(\"CANCEL_ACCOUNT.SUCCESS\");\n return $confirm.success(text);\n };\n onErrorSubmit = function(response) {\n var text;\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n return $confirm.notify(\"error\", text);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.cancelAccount($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCancelAccount\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", CancelAccountDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaBacklog\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base.coffee\n */\n\n(function() {\n var TaigaMainDirective, bindOnce, groupBy, init, module, taiga, urls;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\", []);\n\n TaigaMainDirective = function($rootscope, $window) {\n var link;\n link = function($scope, $el, $attrs) {\n return $window.onresize = function() {\n return $rootscope.$broadcast(\"resize\");\n };\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMain\", [\"$rootScope\", \"$window\", TaigaMainDirective]);\n\n urls = {\n \"home\": \"/\",\n \"projects\": \"/projects\",\n \"error\": \"/error\",\n \"not-found\": \"/not-found\",\n \"permission-denied\": \"/permission-denied\",\n \"discover\": \"/discover\",\n \"discover-search\": \"/discover/search\",\n \"login\": \"/login\",\n \"forgot-password\": \"/forgot-password\",\n \"change-password\": \"/change-password/:token\",\n \"change-email\": \"/change-email/:token\",\n \"cancel-account\": \"/cancel-account/:token\",\n \"register\": \"/register\",\n \"invitation\": \"/invitation/:token\",\n \"create-project\": \"/project/new\",\n \"create-project-scrum\": \"/project/new/scrum\",\n \"create-project-kanban\": \"/project/new/kanban\",\n \"create-project-duplicate\": \"/project/new/duplicate\",\n \"create-project-import\": \"/project/new/import\",\n \"create-project-import-platform\": \"/project/new/import/:platform\",\n \"profile\": \"/profile\",\n \"user-profile\": \"/profile/:username\",\n \"blocked-project\": \"/blocked-project/:project\",\n \"project\": \"/project/:project\",\n \"project-detail-ref\": \"/project/:project/t/:ref\",\n \"project-backlog\": \"/project/:project/backlog\",\n \"project-taskboard\": \"/project/:project/taskboard/:sprint\",\n \"project-kanban\": \"/project/:project/kanban\",\n \"project-issues\": \"/project/:project/issues\",\n \"project-epics\": \"/project/:project/epics\",\n \"project-search\": \"/project/:project/search\",\n \"project-epics-detail\": \"/project/:project/epic/:ref\",\n \"project-userstories-detail\": \"/project/:project/us/:ref\",\n \"project-tasks-detail\": \"/project/:project/task/:ref\",\n \"project-issues-detail\": \"/project/:project/issue/:ref\",\n \"project-wiki\": \"/project/:project/wiki\",\n \"project-wiki-list\": \"/project/:project/wiki-list\",\n \"project-wiki-page\": \"/project/:project/wiki/:slug\",\n \"project-team\": \"/project/:project/team\",\n \"project-admin-home\": \"/project/:project/admin/project-profile/details\",\n \"project-admin-project-profile-details\": \"/project/:project/admin/project-profile/details\",\n \"project-admin-project-profile-default-values\": \"/project/:project/admin/project-profile/default-values\",\n \"project-admin-project-profile-modules\": \"/project/:project/admin/project-profile/modules\",\n \"project-admin-project-profile-export\": \"/project/:project/admin/project-profile/export\",\n \"project-admin-project-profile-reports\": \"/project/:project/admin/project-profile/reports\",\n \"project-admin-project-values-status\": \"/project/:project/admin/project-values/status\",\n \"project-admin-project-values-points\": \"/project/:project/admin/project-values/points\",\n \"project-admin-project-values-priorities\": \"/project/:project/admin/project-values/priorities\",\n \"project-admin-project-values-severities\": \"/project/:project/admin/project-values/severities\",\n \"project-admin-project-values-types\": \"/project/:project/admin/project-values/types\",\n \"project-admin-project-values-custom-fields\": \"/project/:project/admin/project-values/custom-fields\",\n \"project-admin-project-values-tags\": \"/project/:project/admin/project-values/tags\",\n \"project-admin-project-values-due-dates\": \"/project/:project/admin/project-values/due-dates\",\n \"project-admin-memberships\": \"/project/:project/admin/memberships\",\n \"project-admin-roles\": \"/project/:project/admin/roles\",\n \"project-admin-third-parties-webhooks\": \"/project/:project/admin/third-parties/webhooks\",\n \"project-admin-third-parties-github\": \"/project/:project/admin/third-parties/github\",\n \"project-admin-third-parties-gitlab\": \"/project/:project/admin/third-parties/gitlab\",\n \"project-admin-third-parties-bitbucket\": \"/project/:project/admin/third-parties/bitbucket\",\n \"project-admin-third-parties-gogs\": \"/project/:project/admin/third-parties/gogs\",\n \"project-admin-contrib\": \"/project/:project/admin/contrib/:plugin\",\n \"user-settings-user-profile\": \"/user-settings/user-profile\",\n \"user-settings-user-change-password\": \"/user-settings/user-change-password\",\n \"user-settings-user-avatar\": \"/user-settings/user-avatar\",\n \"user-settings-mail-notifications\": \"/user-settings/mail-notifications\",\n \"user-settings-live-notifications\": \"/user-settings/live-notifications\",\n \"user-settings-contrib\": \"/user-settings/contrib/:plugin\"\n };\n\n init = function($log, $navurls) {\n $log.debug(\"Initialize navigation urls\");\n return $navurls.update(urls);\n };\n\n module.run([\"$log\", \"$tgNavUrls\", init]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common.coffee\n */\n\n(function() {\n var AnimationFrame, Autofocus, Capslock, CheckPermissionDirective, ClassPermissionDirective, CtrlClickDisable, DataPickerConfig, LightboxClose, ProjectUrl, Qqueue, QueueModelTransformation, SelectedText, Svg, Template, ToggleCommentDirective, module, taiga,\n slice = [].slice,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\", []);\n\n DataPickerConfig = function($translate, $config, $auth) {\n return {\n get: function() {\n var isRTL, lang, rtlLanguages, user;\n user = $auth.getUser();\n lang = user.lang || $translate.preferredLanguage();\n rtlLanguages = $config.get(\"rtlLanguages\", []);\n isRTL = rtlLanguages.indexOf(lang) > -1;\n return {\n i18n: {\n previousMonth: $translate.instant(\"COMMON.PICKERDATE.PREV_MONTH\"),\n nextMonth: $translate.instant(\"COMMON.PICKERDATE.NEXT_MONTH\"),\n months: [$translate.instant(\"COMMON.PICKERDATE.MONTHS.JAN\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.FEB\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAR\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.APR\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAY\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUN\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUL\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.AUG\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.SEP\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.OCT\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.NOV\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.DEC\")],\n weekdays: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SUN\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.MON\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.TUE\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.WED\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.THU\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.FRI\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SAT\")],\n weekdaysShort: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SUN\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.MON\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.TUE\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.WED\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.THU\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.FRI\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SAT\")]\n },\n isRTL: isRTL,\n firstDay: parseInt($translate.instant(\"COMMON.PICKERDATE.FIRST_DAY_OF_WEEK\"), 10),\n format: $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n };\n }\n };\n };\n\n module.factory(\"tgDatePickerConfigService\", [\"$translate\", \"$tgConfig\", \"$tgAuth\", DataPickerConfig]);\n\n SelectedText = function($window, $document) {\n var get;\n get = function() {\n if ($window.getSelection) {\n return $window.getSelection().toString();\n } else if ($document.selection) {\n return $document.selection.createRange().text;\n }\n return \"\";\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$selectedText\", [\"$window\", \"$document\", SelectedText]);\n\n CheckPermissionDirective = function(projectService) {\n var link, render;\n render = function($el, project, permission) {\n if (project && permission) {\n if (project.get('my_permissions').indexOf(permission) > -1) {\n return $el.removeClass('hidden');\n }\n }\n };\n link = function($scope, $el, $attrs) {\n var permission, unObserve, unwatch;\n $el.addClass('hidden');\n permission = $attrs.tgCheckPermission;\n unwatch = $scope.$watch(function() {\n return projectService.project;\n }, function() {\n if (!projectService.project) {\n return;\n }\n render($el, projectService.project, permission);\n return unwatch();\n });\n unObserve = $attrs.$observe(\"tgCheckPermission\", function(permission) {\n if (!permission) {\n return;\n }\n render($el, projectService.project, permission);\n return unObserve();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n CheckPermissionDirective.$inject = [\"tgProjectService\"];\n\n module.directive(\"tgCheckPermission\", CheckPermissionDirective);\n\n ClassPermissionDirective = function() {\n var link, name;\n name = \"tgClassPermission\";\n link = function($scope, $el, $attrs) {\n var checkPermissions, tgClassPermissionWatchAction, unbindWatcher;\n checkPermissions = function(project, className, permission) {\n var negation;\n negation = permission[0] === \"!\";\n if (negation) {\n permission = permission.slice(1);\n }\n if (negation && project.my_permissions.indexOf(permission) === -1) {\n return $el.addClass(className);\n } else if (!negation && project.my_permissions.indexOf(permission) !== -1) {\n return $el.addClass(className);\n } else {\n return $el.removeClass(className);\n }\n };\n tgClassPermissionWatchAction = function(project) {\n var className, classes, permission, results;\n if (project) {\n unbindWatcher();\n classes = $scope.$eval($attrs[name]);\n results = [];\n for (className in classes) {\n permission = classes[className];\n results.push(checkPermissions(project, className, permission));\n }\n return results;\n }\n };\n return unbindWatcher = $scope.$watch(\"project\", tgClassPermissionWatchAction);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgClassPermission\", ClassPermissionDirective);\n\n AnimationFrame = function() {\n var add, animationFrame, performAnimation, tail;\n animationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n performAnimation = (function(_this) {\n return function(time) {\n var fn;\n fn = tail.shift();\n fn();\n if (tail.length) {\n return animationFrame(performAnimation);\n }\n };\n })(this);\n tail = [];\n add = function() {\n var fn, i, len, results;\n results = [];\n for (i = 0, len = arguments.length; i < len; i++) {\n fn = arguments[i];\n tail.push(fn);\n if (tail.length === 1) {\n results.push(animationFrame(performAnimation));\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n return {\n add: add\n };\n };\n\n module.factory(\"animationFrame\", AnimationFrame);\n\n ToggleCommentDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.find(\"textarea\").on(\"focus\", function() {\n return $el.addClass(\"active\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgToggleComment\", ToggleCommentDirective);\n\n ProjectUrl = function($navurls) {\n var get;\n get = function(project) {\n var ctx;\n if (project.toJS) {\n project = project.toJS();\n }\n ctx = {\n project: project.slug\n };\n if (project.is_backlog_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-backlog\", ctx);\n }\n if (project.is_kanban_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-kanban\", ctx);\n }\n if (project.is_wiki_activated && project.my_permissions.indexOf(\"view_wiki_pages\") > -1) {\n return $navurls.resolve(\"project-wiki\", ctx);\n }\n if (project.is_issues_activated && project.my_permissions.indexOf(\"view_issues\") > -1) {\n return $navurls.resolve(\"project-issues\", ctx);\n }\n return $navurls.resolve(\"project\", ctx);\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$projectUrl\", [\"$tgNavUrls\", ProjectUrl]);\n\n Qqueue = function($q) {\n var deferred, lastPromise, qqueue;\n deferred = $q.defer();\n deferred.resolve();\n lastPromise = deferred.promise;\n qqueue = {\n bindAdd: (function(_this) {\n return function(fn) {\n return function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return lastPromise = lastPromise.then(function() {\n return fn.apply(_this, args);\n });\n };\n };\n })(this),\n add: (function(_this) {\n return function(fn) {\n if (!lastPromise) {\n lastPromise = fn();\n } else {\n lastPromise = lastPromise.then(fn);\n }\n return qqueue;\n };\n })(this)\n };\n return qqueue;\n };\n\n module.factory(\"$tgQqueue\", [\"$q\", Qqueue]);\n\n QueueModelTransformation = (function(superClass) {\n extend(QueueModelTransformation, superClass);\n\n QueueModelTransformation.$inject = [\"$tgQqueue\", \"$tgRepo\", \"$q\", \"$tgModel\"];\n\n function QueueModelTransformation(qqueue1, repo, q, model1) {\n this.qqueue = qqueue1;\n this.repo = repo;\n this.q = q;\n this.model = model1;\n }\n\n QueueModelTransformation.prototype.setObject = function(scope1, prop) {\n this.scope = scope1;\n this.prop = prop;\n };\n\n QueueModelTransformation.prototype.clone = function() {\n var attrs, model;\n attrs = _.cloneDeep(this.scope[this.prop]._attrs);\n model = this.model.make_model(this.scope[this.prop]._name, attrs);\n return model;\n };\n\n QueueModelTransformation.prototype.getObj = function() {\n return this.scope[this.prop];\n };\n\n QueueModelTransformation.prototype.save = function(transformation) {\n var defered;\n defered = this.q.defer();\n this.qqueue.add((function(_this) {\n return function() {\n var clone, comment, modified, obj, success;\n obj = _this.getObj();\n comment = obj.comment;\n obj.comment = '';\n clone = _this.clone();\n modified = _.omit(obj._modifiedAttrs, ['version']);\n clone = _.assign(clone, modified);\n transformation(clone);\n if (comment.length) {\n clone.comment = comment;\n }\n success = function() {\n _this.scope[_this.prop] = clone;\n return defered.resolve.apply(null, arguments);\n };\n return _this.repo.save(clone).then(success, defered.reject);\n };\n })(this));\n return defered.promise;\n };\n\n return QueueModelTransformation;\n\n })(taiga.Service);\n\n module.service(\"$tgQueueModelTransformation\", QueueModelTransformation);\n\n Template = function($templateCache) {\n return {\n get: (function(_this) {\n return function(name, lodash) {\n var tmp;\n if (lodash == null) {\n lodash = false;\n }\n tmp = $templateCache.get(name);\n if (lodash) {\n tmp = _.template(tmp);\n }\n return tmp;\n };\n })(this)\n };\n };\n\n module.factory(\"$tgTemplate\", [\"$templateCache\", Template]);\n\n Capslock = function() {\n var template;\n template = \"\";\n return {\n template: template\n };\n };\n\n module.directive(\"tgCapslock\", [Capslock]);\n\n LightboxClose = function() {\n var link, template;\n template = \"
    \\n \\n\";\n link = function(scope, elm, attrs) {};\n return {\n scope: {\n onClose: '&'\n },\n link: link,\n template: template\n };\n };\n\n module.directive(\"tgLightboxClose\", [LightboxClose]);\n\n Svg = function() {\n var template;\n template = \"\\n \\n {{svgTitle}}\\n {{svgTitleTranslate | translate: svgTitleTranslateValues}}\\n \\n\";\n return {\n scope: {\n svgIcon: \"@\",\n svgTitle: \"@\",\n svgTitleTranslate: \"@\",\n svgTitleTranslateValues: \"=\",\n svgFill: \"=\"\n },\n template: template\n };\n };\n\n module.directive(\"tgSvg\", [Svg]);\n\n Autofocus = function($timeout, $parse, animationFrame) {\n return {\n restrict: 'A',\n link: function($scope, $element, attrs) {\n var model;\n if (attrs.ngShow) {\n model = $parse(attrs.ngShow);\n return $scope.$watch(model, function(value) {\n if (value === true) {\n return $timeout(function() {\n return $element[0].focus();\n });\n }\n });\n } else {\n return $timeout(function() {\n return $element[0].focus();\n });\n }\n }\n };\n };\n\n module.directive('tgAutofocus', ['$timeout', '$parse', \"animationFrame\", Autofocus]);\n\n module.directive('tgPreloadImage', function() {\n var preload, spinner, template;\n spinner = \"loading...\";\n template = \"
    \\n \\n
    \";\n preload = function(src, onLoad) {\n var image;\n image = new Image();\n image.onload = onLoad;\n image.src = src;\n return image;\n };\n return {\n template: template,\n transclude: true,\n replace: true,\n link: function(scope, el, attrs) {\n var image, onLoad, timeout;\n image = el.find('img:last');\n timeout = null;\n onLoad = function() {\n el.find('.loading-spinner').remove();\n image.show();\n if (timeout) {\n clearTimeout(timeout);\n return timeout = null;\n }\n };\n return attrs.$observe('preloadSrc', function(src) {\n if (timeout) {\n clearTimeout(timeout);\n }\n el.find('.loading-spinner').remove();\n timeout = setTimeout(function() {\n return el.prepend(spinner);\n }, 200);\n image.hide();\n return preload(src, onLoad);\n });\n }\n };\n });\n\n CtrlClickDisable = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.on(\"click\", function($event) {\n if ($event.ctrlKey || $event.metaKey) {\n return $event.preventDefault();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCtrlClickDisable\", CtrlClickDisable);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/detail.coffee\n */\n\n(function() {\n var DetailController, bindMethods, bindOnce, groupBy, joinStr, mixOf, module, taiga, toString;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaCommon\");\n\n DetailController = (function() {\n DetailController.$inject = ['$routeParams', '$tgRepo', \"tgProjectService\", \"$tgNavUrls\", \"$location\"];\n\n function DetailController(params, repo, projectService, navurls, location) {\n this.params = params;\n this.repo = repo;\n this.projectService = projectService;\n this.navurls = navurls;\n this.location = location;\n this.repo.resolve({\n pslug: this.params.pslug,\n ref: this.params.ref\n }).then((function(_this) {\n return function(result) {\n var url;\n if (result.issue) {\n url = _this.navurls.resolve('project-issues-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.task) {\n url = _this.navurls.resolve('project-tasks-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.us) {\n url = _this.navurls.resolve('project-userstories-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.epic) {\n url = _this.navurls.resolve('project-epics-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.wikipage) {\n url = _this.navurls.resolve('project-wiki-page', {\n project: _this.projectService.project.get('slug'),\n slug: _this.params.ref\n });\n }\n return _this.location.path(url);\n };\n })(this));\n }\n\n return DetailController;\n\n })();\n\n module.controller(\"DetailController\", DetailController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/epics.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaEpics\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/events.coffee\n */\n\n(function() {\n var EventsProvider, EventsService, bindMethods, module, startswith, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n startswith = this.taiga.startswith;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaEvents\", []);\n\n EventsService = (function() {\n function EventsService(win, log, config, auth, liveAnnouncementService1, rootScope) {\n this.win = win;\n this.log = log;\n this.config = config;\n this.auth = auth;\n this.liveAnnouncementService = liveAnnouncementService1;\n this.rootScope = rootScope;\n this.processMessage = bind(this.processMessage, this);\n bindMethods(this);\n }\n\n EventsService.prototype.initialize = function(sessionId) {\n this.sessionId = sessionId;\n this.subscriptions = {};\n this.connected = false;\n this.error = false;\n this.pendingMessages = [];\n this.missedHeartbeats = 0;\n this.heartbeatInterval = null;\n if (this.win.WebSocket === void 0) {\n return this.log.info(\"WebSockets not supported on your browser\");\n }\n };\n\n EventsService.prototype.setupConnection = function() {\n var loc, path, scheme, url;\n this.stopExistingConnection();\n url = this.config.get(\"eventsUrl\");\n if (!url) {\n return;\n }\n if (!startswith(url, \"ws:\") && !startswith(url, \"wss:\")) {\n loc = this.win.location;\n scheme = loc.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n path = _.trimStart(url, \"/\");\n url = scheme + \"//\" + loc.host + \"/\" + path;\n }\n this.error = false;\n this.ws = new this.win.WebSocket(url);\n this.ws.addEventListener(\"open\", this.onOpen);\n this.ws.addEventListener(\"message\", this.onMessage);\n this.ws.addEventListener(\"error\", this.onError);\n return this.ws.addEventListener(\"close\", this.onClose);\n };\n\n EventsService.prototype.stopExistingConnection = function() {\n if (this.ws === void 0) {\n return;\n }\n this.ws.removeEventListener(\"open\", this.onOpen);\n this.ws.removeEventListener(\"close\", this.onClose);\n this.ws.removeEventListener(\"error\", this.onError);\n this.ws.removeEventListener(\"message\", this.onMessage);\n this.stopHeartBeatMessages();\n this.ws.close();\n return delete this.ws;\n };\n\n EventsService.prototype.notifications = function() {\n return this.subscribe(null, 'notifications', (function(_this) {\n return function(data) {\n _this.liveAnnouncementService.show(data.title, data.desc);\n return _this.rootScope.$digest();\n };\n })(this));\n };\n\n EventsService.prototype.liveNotifications = function() {\n var subscribe, userId;\n if (this.auth.userData == null) {\n return;\n }\n userId = this.auth.userData.get('id');\n subscribe = (function(_this) {\n return function() {\n return _this.subscribe(null, \"live_notifications.\" + userId, function(data) {\n var notification;\n notification = new Notification(data.title, {\n icon: \"/\" + window._version + \"/images/favicon.png\",\n body: data.body,\n tag: data.id\n });\n notification.onshow = function() {\n if (data.timeout && data.timeout > 0) {\n return setTimeout(function() {\n return notification.close();\n }, data.timeout);\n }\n };\n if (data.url) {\n return notification.onclick = function() {\n return window.open(data.url);\n };\n }\n });\n };\n })(this);\n if (!Notification) {\n return console.log(\"This browser does not support desktop notification\");\n } else if (Notification.permission === \"granted\") {\n return subscribe();\n } else if (Notification.permission !== 'denied') {\n return Notification.requestPermission((function(_this) {\n return function(permission) {\n if (permission === \"granted\") {\n return subscribe();\n }\n };\n })(this));\n }\n };\n\n EventsService.prototype.startHeartBeatMessages = function() {\n var heartbeatIntervalTime, maxMissedHeartbeats, reconnectTryInterval;\n if (this.heartbeatInterval) {\n return;\n }\n maxMissedHeartbeats = this.config.get(\"eventsMaxMissedHeartbeats\", 5);\n heartbeatIntervalTime = this.config.get(\"eventsHeartbeatIntervalTime\", 60000);\n reconnectTryInterval = this.config.get(\"eventsReconnectTryInterval\", 10000);\n this.missedHeartbeats = 0;\n this.heartbeatInterval = setInterval((function(_this) {\n return function() {\n var e;\n try {\n if (_this.missedHeartbeats >= maxMissedHeartbeats) {\n throw new Error(\"Too many missed heartbeats PINGs.\");\n }\n _this.missedHeartbeats++;\n _this.sendMessage({\n cmd: \"ping\"\n });\n return _this.log.debug(\"HeartBeat send PING\");\n } catch (error1) {\n e = error1;\n _this.log.error(\"HeartBeat error: \" + e.message);\n return _this.setupConnection();\n }\n };\n })(this), heartbeatIntervalTime);\n return this.log.debug(\"HeartBeat enabled\");\n };\n\n EventsService.prototype.stopHeartBeatMessages = function() {\n if (!this.heartbeatInterval) {\n return;\n }\n clearInterval(this.heartbeatInterval);\n this.heartbeatInterval = null;\n return this.log.debug(\"HeartBeat disabled\");\n };\n\n EventsService.prototype.processHeartBeatPongMessage = function(data) {\n this.missedHeartbeats = 0;\n return this.log.debug(\"HeartBeat recived PONG\");\n };\n\n EventsService.prototype.serialize = function(message) {\n if (_.isObject(message)) {\n return JSON.stringify(message);\n }\n return message;\n };\n\n EventsService.prototype.sendMessage = function(message) {\n var i, len, messages, msg, results;\n this.pendingMessages.push(message);\n if (!this.connected) {\n return;\n }\n messages = _.map(this.pendingMessages, this.serialize);\n this.pendingMessages = [];\n results = [];\n for (i = 0, len = messages.length; i < len; i++) {\n msg = messages[i];\n results.push(this.ws.send(msg));\n }\n return results;\n };\n\n EventsService.prototype.processMessage = function(data) {\n var routingKey, subscription;\n routingKey = data.routing_key;\n if (this.subscriptions[routingKey] == null) {\n return;\n }\n subscription = this.subscriptions[routingKey];\n if (subscription.scope) {\n return subscription.scope.$apply(function() {\n return subscription.callback(data.data);\n });\n } else {\n return subscription.callback(data.data);\n }\n };\n\n EventsService.prototype.subscribe = function(scope, routingKey, callback) {\n var message, subscription;\n if (this.error) {\n return;\n }\n this.log.debug(\"Subscribe to: \" + routingKey);\n subscription = {\n scope: scope,\n routingKey: routingKey,\n callback: callback\n };\n message = {\n \"cmd\": \"subscribe\",\n \"routing_key\": routingKey\n };\n this.subscriptions[routingKey] = subscription;\n this.sendMessage(message);\n if (scope) {\n return scope.$on(\"$destroy\", (function(_this) {\n return function() {\n return _this.unsubscribe(routingKey);\n };\n })(this));\n }\n };\n\n EventsService.prototype.unsubscribe = function(routingKey) {\n var message;\n if (this.error) {\n return;\n }\n this.log.debug(\"Unsubscribe from: \" + routingKey);\n message = {\n \"cmd\": \"unsubscribe\",\n \"routing_key\": routingKey\n };\n return this.sendMessage(message);\n };\n\n EventsService.prototype.onOpen = function() {\n var message, token;\n this.connected = true;\n this.log.debug(\"WebSocket connection opened\");\n token = this.auth.getToken();\n message = {\n cmd: \"auth\",\n data: {\n token: token,\n sessionId: this.sessionId\n }\n };\n this.sendMessage(message);\n this.startHeartBeatMessages();\n this.notifications();\n return this.liveNotifications();\n };\n\n EventsService.prototype.onMessage = function(event) {\n var data;\n this.log.debug(\"WebSocket message received: \" + event.data);\n data = JSON.parse(event.data);\n if (data.cmd === \"pong\") {\n return this.processHeartBeatPongMessage(data);\n } else {\n return this.processMessage(data);\n }\n };\n\n EventsService.prototype.onError = function(error) {\n this.log.error(\"WebSocket error: \" + error);\n this.error = true;\n return setTimeout(this.setupConnection, this.reconnectTryInterval);\n };\n\n EventsService.prototype.onClose = function() {\n this.log.debug(\"WebSocket closed.\");\n this.connected = false;\n this.stopHeartBeatMessages();\n return setTimeout(this.setupConnection, this.reconnectTryInterval);\n };\n\n return EventsService;\n\n })();\n\n EventsProvider = (function() {\n function EventsProvider() {}\n\n EventsProvider.prototype.setSessionId = function(sessionId) {\n return this.sessionId = sessionId;\n };\n\n EventsProvider.prototype.$get = function($win, $log, $conf, $auth, liveAnnouncementService, $rootScope) {\n var service;\n service = new EventsService($win, $log, $conf, $auth, liveAnnouncementService, $rootScope);\n service.initialize(this.sessionId);\n return service;\n };\n\n EventsProvider.prototype.$get.$inject = [\"$window\", \"$log\", \"$tgConfig\", \"$tgAuth\", \"tgLiveAnnouncementService\", \"$rootScope\"];\n\n return EventsProvider;\n\n })();\n\n module.provider(\"$tgEvents\", EventsProvider);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/feedback.coffee\n */\n\n(function() {\n var FeedbackDirective, bindOnce, debounce, groupBy, mixOf, module, taiga, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n module = angular.module(\"taigaFeedback\", []);\n\n FeedbackDirective = function($lightboxService, $repo, $confirm, $loading, feedbackService) {\n var directive, link;\n link = function($scope, $el, $attrs) {\n var form, openLightbox, submit, submitButton;\n form = $el.find(\"form\").checksley();\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.create(\"feedback\", $scope.feedback);\n promise.then(function(data) {\n currentLoading.finish();\n $lightboxService.close($el);\n return $confirm.notify(\"success\", \"\\\\o/ we'll be happy to read your\");\n });\n return promise.then(null, function() {\n currentLoading.finish();\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n openLightbox = function() {\n $scope.feedback = {};\n $lightboxService.open($el);\n return $el.find(\"textarea\").focus();\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return openLightbox();\n };\n directive = {\n link: link,\n templateUrl: \"common/lightbox-feedback.html\",\n scope: {}\n };\n return directive;\n };\n\n module.directive(\"tgLbFeedback\", [\"lightboxService\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"tgFeedbackService\", FeedbackDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/integrations.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaIntegrations\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/issues.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaIssues\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/kanban.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaKanban\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaPlugins\", [\"ngRoute\"]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/projects.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaProject\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/related-tasks.coffee\n */\n\n(function() {\n var RelatedTaskAssignedToInlineEditionDirective, RelatedTaskCreateButtonDirective, RelatedTaskCreateFormDirective, RelatedTaskRowDirective, RelatedTasksDirective, debounce, module, taiga, trim;\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaRelatedTasks\", []);\n\n RelatedTaskRowDirective = function($repo, $compile, $confirm, $rootscope, $loading, $template, $translate, $emojis) {\n var link, templateEdit, templateView;\n templateView = $template.get(\"task/related-task-row.html\", true);\n templateEdit = $template.get(\"task/related-task-row-edit.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var renderEdit, renderView, saveTask;\n this.childScope = $scope.$new();\n saveTask = debounce(2000, function(task) {\n var currentLoading, promise;\n task.subject = $el.find('input').val();\n currentLoading = $loading().target($el.find('.task-name')).start();\n promise = $repo.save(task);\n promise.then((function(_this) {\n return function() {\n currentLoading.finish();\n return $rootscope.$broadcast(\"related-tasks:update\");\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n currentLoading.finish();\n $el.find('input').val(task.subject);\n return $confirm.notify(\"error\");\n };\n })(this));\n return promise;\n });\n renderEdit = function(task) {\n this.childScope.$destroy();\n this.childScope = $scope.$new();\n $el.off();\n $el.html($compile(templateEdit({\n task: task\n }))(childScope));\n $el.find(\".task-name input\").val(task.subject);\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n } else if (event.keyCode === 27) {\n return renderView($model.$modelValue);\n }\n });\n $el.on(\"click\", \".save-task\", function(event) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n });\n return $el.on(\"click\", \".cancel-edit\", function(event) {\n return renderView($model.$modelValue);\n });\n };\n renderView = function(task) {\n var perms;\n perms = {\n modify_task: $scope.project.my_permissions.indexOf(\"modify_task\") !== -1,\n delete_task: $scope.project.my_permissions.indexOf(\"delete_task\") !== -1\n };\n $el.html($compile(templateView({\n task: task,\n perms: perms,\n emojify: function(text) {\n return $emojis.replaceEmojiNameByHtmlImgs(_.escape(text));\n }\n }))($scope));\n $el.on(\"click\", \".edit-task\", function() {\n renderEdit($model.$modelValue);\n return $el.find('input').focus().select();\n });\n return $el.on(\"click\", \".delete-task\", function(event) {\n var message, title;\n title = $translate.instant(\"TASK.TITLE_DELETE_ACTION\");\n task = $model.$modelValue;\n message = task.subject;\n return $confirm.askOnDelete(title, message).then(function(askResponse) {\n var promise;\n promise = $repo.remove(task);\n promise.then(function() {\n askResponse.finish();\n return $scope.$emit(\"related-tasks:delete\");\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n });\n });\n });\n };\n $scope.$watch($attrs.ngModel, function(val) {\n if (!val) {\n return;\n }\n return renderView(val);\n });\n $scope.$on(\"related-tasks:assigned-to-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n $scope.$on(\"related-tasks:status-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgRelatedTaskRow\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"$tgTemplate\", \"$translate\", \"$tgEmojis\", RelatedTaskRowDirective]);\n\n RelatedTaskCreateFormDirective = function($repo, $compile, $confirm, $tgmodel, $loading, $analytics) {\n var link, newTask;\n newTask = {\n subject: \"\",\n assigned_to: null\n };\n link = function($scope, $el, $attrs) {\n var close, createTask, render, reset;\n createTask = function(task) {\n var currentLoading, promise;\n task.subject = $el.find('input').val();\n task.assigned_to = $scope.newTask.assigned_to;\n task.status = $scope.newTask.status;\n $scope.newTask.status = $scope.project.default_task_status;\n $scope.newTask.assigned_to = null;\n currentLoading = $loading().target($el.find('.task-name')).start();\n promise = $repo.create(\"tasks\", task);\n promise.then(function() {\n $analytics.trackEvent(\"task\", \"create\", \"create task on userstory\", 1);\n currentLoading.finish();\n return $scope.$emit(\"related-tasks:add\");\n });\n promise.then(null, function() {\n $el.find('input').val(task.subject);\n currentLoading.finish();\n return $confirm.notify(\"error\");\n });\n return promise;\n };\n close = function() {\n $el.off();\n return $scope.openNewRelatedTask = false;\n };\n reset = function() {\n newTask = {\n subject: \"\",\n assigned_to: null\n };\n newTask[\"status\"] = $scope.project.default_task_status;\n newTask[\"project\"] = $scope.project.id;\n newTask[\"user_story\"] = $scope.us.id;\n return $scope.newTask = $tgmodel.make_model(\"tasks\", newTask);\n };\n render = function() {\n if ($scope.openNewRelatedTask) {\n return;\n }\n $scope.openNewRelatedTask = true;\n return $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return createTask(newTask).then(function() {\n reset();\n return $el.find('input').focus();\n });\n } else if (event.keyCode === 27) {\n return $scope.$apply(function() {\n return close();\n });\n }\n });\n };\n $scope.save = function() {\n return createTask(newTask).then(function() {\n return close();\n });\n };\n taiga.bindOnce($scope, \"us\", reset);\n $scope.$on(\"related-tasks:show-form\", function() {\n return $scope.$apply(render);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n scope: true,\n link: link,\n templateUrl: 'task/related-task-create-form.html'\n };\n };\n\n module.directive(\"tgRelatedTaskCreateForm\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgLoading\", \"$tgAnalytics\", RelatedTaskCreateFormDirective]);\n\n RelatedTaskCreateButtonDirective = function($repo, $compile, $confirm, $tgmodel, $template) {\n var link, template;\n template = $template.get(\"common/components/add-button.html\", true);\n link = function($scope, $el, $attrs) {\n $scope.$watch(\"project\", function(val) {\n if (!val) {\n return;\n }\n $el.off();\n if ($scope.project.my_permissions.indexOf(\"add_task\") !== -1) {\n $el.html($compile(template())($scope));\n } else {\n $el.html(\"\");\n }\n return $el.on(\"click\", \".add-button\", function(event) {\n return $scope.$emit(\"related-tasks:add-new-clicked\");\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskCreateButton\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgTemplate\", RelatedTaskCreateButtonDirective]);\n\n RelatedTasksDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var _isEditable, _isVisible, loadTasks;\n loadTasks = function() {\n return $rs.tasks.list($scope.projectId, null, $scope.usId).then((function(_this) {\n return function(tasks) {\n $scope.tasks = _.sortBy(tasks, function(x) {\n return [x.us_order, x.ref];\n });\n return tasks;\n };\n })(this));\n };\n _isVisible = function() {\n if ($scope.project) {\n return $scope.project.my_permissions.indexOf(\"view_tasks\") !== -1;\n }\n return false;\n };\n _isEditable = function() {\n if ($scope.project) {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n }\n return false;\n };\n $scope.showRelatedTasks = function() {\n var ref;\n return _isVisible() && (_isEditable() || ((ref = $scope.tasks) != null ? ref.length : void 0));\n };\n $scope.$on(\"related-tasks:add\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:delete\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:add-new-clicked\", function() {\n return $scope.$broadcast(\"related-tasks:show-form\");\n });\n taiga.bindOnce($scope, \"us\", function(val) {\n return loadTasks();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", RelatedTasksDirective]);\n\n RelatedTaskAssignedToInlineEditionDirective = function($repo, $rootscope, $translate, avatarService) {\n var link, template;\n template = _.template(\"\\\" src=\\\"<%- imgurl %>\\\" alt=\\\"<%- name %>\\\"/>\\n
    <%- name %>
    \");\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task, updateRelatedTask;\n updateRelatedTask = function(task) {\n var avatar, ctx, member;\n ctx = {\n name: $translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\")\n };\n member = $scope.usersById[task.assigned_to];\n avatar = avatarService.getAvatar(member);\n ctx.imgurl = avatar.url;\n ctx.bg = avatar.bg;\n if (member) {\n ctx.name = member.full_name_display;\n }\n $el.find(\".avatar\").html(template(ctx));\n return $el.find(\".task-assignedto\").attr('title', ctx.name);\n };\n $ctrl = $el.controller();\n task = $scope.$eval($attrs.tgRelatedTaskAssignedToInlineEdition);\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n autoSave = !notAutoSave;\n $scope.$watch($attrs.tgRelatedTaskAssignedToInlineEdition, function() {\n task = $scope.$eval($attrs.tgRelatedTaskAssignedToInlineEdition);\n return updateRelatedTask(task);\n });\n updateRelatedTask(task);\n $el.on(\"click\", \".task-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", task);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", debounce(2000, (function(_this) {\n return function(ctx, userId, updatedRelatedTask) {\n if (updatedRelatedTask.id === task.id) {\n updatedRelatedTask.assigned_to = userId;\n if (autoSave) {\n $repo.save(updatedRelatedTask).then(function() {\n return $scope.$emit(\"related-tasks:assigned-to-changed\");\n });\n }\n return updateRelatedTask(updatedRelatedTask);\n }\n };\n })(this)));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", \"$translate\", \"tgAvatarService\", RelatedTaskAssignedToInlineEditionDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources.coffee\n */\n\n(function() {\n var ResourcesService, initResources, initUrls, module, taiga, urls,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n ResourcesService = (function(superClass) {\n extend(ResourcesService, superClass);\n\n function ResourcesService() {\n return ResourcesService.__super__.constructor.apply(this, arguments);\n }\n\n return ResourcesService;\n\n })(taiga.Service);\n\n urls = {\n \"auth\": \"/auth\",\n \"auth-register\": \"/auth/register\",\n \"invitations\": \"/invitations\",\n \"users\": \"/users\",\n \"by_username\": \"/users/by_username\",\n \"users-password-recovery\": \"/users/password_recovery\",\n \"users-change-password-from-recovery\": \"/users/change_password_from_recovery\",\n \"users-change-password\": \"/users/change_password\",\n \"users-change-email\": \"/users/change_email\",\n \"users-cancel-account\": \"/users/cancel\",\n \"users-export\": \"/users/export\",\n \"user-stats\": \"/users/%s/stats\",\n \"user-liked\": \"/users/%s/liked\",\n \"user-voted\": \"/users/%s/voted\",\n \"user-watched\": \"/users/%s/watched\",\n \"user-contacts\": \"/users/%s/contacts\",\n \"user-me\": \"/users/me\",\n \"permissions\": \"/permissions\",\n \"notify-policies\": \"/notify-policies\",\n \"user-storage\": \"/user-storage\",\n \"memberships\": \"/memberships\",\n \"bulk-create-memberships\": \"/memberships/bulk_create\",\n \"roles\": \"/roles\",\n \"permissions\": \"/permissions\",\n \"resolver\": \"/resolver\",\n \"projects\": \"/projects\",\n \"project-templates\": \"/project-templates\",\n \"project-modules\": \"/projects/%s/modules\",\n \"bulk-update-projects-order\": \"/projects/bulk_update_order\",\n \"project-like\": \"/projects/%s/like\",\n \"project-unlike\": \"/projects/%s/unlike\",\n \"project-watch\": \"/projects/%s/watch\",\n \"project-unwatch\": \"/projects/%s/unwatch\",\n \"project-contact\": \"contact\",\n \"project-transfer-validate-token\": \"/projects/%s/transfer_validate_token\",\n \"project-transfer-accept\": \"/projects/%s/transfer_accept\",\n \"project-transfer-reject\": \"/projects/%s/transfer_reject\",\n \"project-transfer-request\": \"/projects/%s/transfer_request\",\n \"project-transfer-start\": \"/projects/%s/transfer_start\",\n \"epic-statuses\": \"/epic-statuses\",\n \"userstory-statuses\": \"/userstory-statuses\",\n \"userstory-due-dates\": \"/userstory-due-dates\",\n \"userstory-due-dates-create-default\": \"/userstory-due-dates/create_default\",\n \"points\": \"/points\",\n \"task-statuses\": \"/task-statuses\",\n \"task-due-dates\": \"/task-due-dates\",\n \"task-due-dates-create-default\": \"/task-due-dates/create_default\",\n \"issue-statuses\": \"/issue-statuses\",\n \"issue-due-dates\": \"/issue-due-dates\",\n \"issue-due-dates-create-default\": \"/issue-due-dates/create_default\",\n \"issue-types\": \"/issue-types\",\n \"priorities\": \"/priorities\",\n \"severities\": \"/severities\",\n \"milestones\": \"/milestones\",\n \"epics\": \"/epics\",\n \"epic-upvote\": \"/epics/%s/upvote\",\n \"epic-downvote\": \"/epics/%s/downvote\",\n \"epic-watch\": \"/epics/%s/watch\",\n \"epic-unwatch\": \"/epics/%s/unwatch\",\n \"epic-related-userstories\": \"/epics/%s/related_userstories\",\n \"epic-related-userstories-bulk-create\": \"/epics/%s/related_userstories/bulk_create\",\n \"userstories\": \"/userstories\",\n \"bulk-create-us\": \"/userstories/bulk_create\",\n \"bulk-update-us-backlog-order\": \"/userstories/bulk_update_backlog_order\",\n \"bulk-update-us-milestone\": \"/userstories/bulk_update_milestone\",\n \"bulk-update-us-miles-order\": \"/userstories/bulk_update_sprint_order\",\n \"bulk-update-us-kanban-order\": \"/userstories/bulk_update_kanban_order\",\n \"bulk-update-us-milestone\": \"/userstories/bulk_update_milestone\",\n \"userstories-filters\": \"/userstories/filters_data\",\n \"userstory-upvote\": \"/userstories/%s/upvote\",\n \"userstory-downvote\": \"/userstories/%s/downvote\",\n \"userstory-watch\": \"/userstories/%s/watch\",\n \"userstory-unwatch\": \"/userstories/%s/unwatch\",\n \"tasks\": \"/tasks\",\n \"bulk-create-tasks\": \"/tasks/bulk_create\",\n \"bulk-update-task-taskboard-order\": \"/tasks/bulk_update_taskboard_order\",\n \"task-upvote\": \"/tasks/%s/upvote\",\n \"task-downvote\": \"/tasks/%s/downvote\",\n \"task-watch\": \"/tasks/%s/watch\",\n \"task-unwatch\": \"/tasks/%s/unwatch\",\n \"task-filters\": \"/tasks/filters_data\",\n \"issues\": \"/issues\",\n \"bulk-create-issues\": \"/issues/bulk_create\",\n \"issues-filters\": \"/issues/filters_data\",\n \"issue-upvote\": \"/issues/%s/upvote\",\n \"issue-downvote\": \"/issues/%s/downvote\",\n \"issue-watch\": \"/issues/%s/watch\",\n \"issue-unwatch\": \"/issues/%s/unwatch\",\n \"wiki\": \"/wiki\",\n \"wiki-restore\": \"/wiki/%s/restore\",\n \"wiki-links\": \"/wiki-links\",\n \"history/epic\": \"/history/epic\",\n \"history/us\": \"/history/userstory\",\n \"history/issue\": \"/history/issue\",\n \"history/task\": \"/history/task\",\n \"history/wiki\": \"/history/wiki/%s\",\n \"attachments/epic\": \"/epics/attachments\",\n \"attachments/us\": \"/userstories/attachments\",\n \"attachments/issue\": \"/issues/attachments\",\n \"attachments/task\": \"/tasks/attachments\",\n \"attachments/wiki_page\": \"/wiki/attachments\",\n \"custom-attributes/epic\": \"/epic-custom-attributes\",\n \"custom-attributes/userstory\": \"/userstory-custom-attributes\",\n \"custom-attributes/task\": \"/task-custom-attributes\",\n \"custom-attributes/issue\": \"/issue-custom-attributes\",\n \"custom-attributes-values/epic\": \"/epics/custom-attributes-values\",\n \"custom-attributes-values/userstory\": \"/userstories/custom-attributes-values\",\n \"custom-attributes-values/task\": \"/tasks/custom-attributes-values\",\n \"custom-attributes-values/issue\": \"/issues/custom-attributes-values\",\n \"webhooks\": \"/webhooks\",\n \"webhooks-test\": \"/webhooks/%s/test\",\n \"webhooklogs\": \"/webhooklogs\",\n \"webhooklogs-resend\": \"/webhooklogs/%s/resend\",\n \"epics-csv\": \"/epics/csv?uuid=%s\",\n \"userstories-csv\": \"/userstories/csv?uuid=%s\",\n \"tasks-csv\": \"/tasks/csv?uuid=%s\",\n \"issues-csv\": \"/issues/csv?uuid=%s\",\n \"timeline-profile\": \"/timeline/profile\",\n \"timeline-user\": \"/timeline/user\",\n \"timeline-project\": \"/timeline/project\",\n \"search\": \"/search\",\n \"exporter\": \"/exporter\",\n \"importer\": \"/importer/load_dump\",\n \"feedback\": \"/feedback\",\n \"locales\": \"/locales\",\n \"applications\": \"/applications\",\n \"application-tokens\": \"/application-tokens\",\n \"stats-discover\": \"/stats/discover\",\n \"importers-trello-auth-url\": \"/importers/trello/auth_url\",\n \"importers-trello-authorize\": \"/importers/trello/authorize\",\n \"importers-trello-list-projects\": \"/importers/trello/list_projects\",\n \"importers-trello-list-users\": \"/importers/trello/list_users\",\n \"importers-trello-import-project\": \"/importers/trello/import_project\",\n \"importers-jira-auth-url\": \"/importers/jira/auth_url\",\n \"importers-jira-authorize\": \"/importers/jira/authorize\",\n \"importers-jira-list-projects\": \"/importers/jira/list_projects\",\n \"importers-jira-list-users\": \"/importers/jira/list_users\",\n \"importers-jira-import-project\": \"/importers/jira/import_project\",\n \"importers-github-auth-url\": \"/importers/github/auth_url\",\n \"importers-github-authorize\": \"/importers/github/authorize\",\n \"importers-github-list-projects\": \"/importers/github/list_projects\",\n \"importers-github-list-users\": \"/importers/github/list_users\",\n \"importers-github-import-project\": \"/importers/github/import_project\",\n \"importers-asana-auth-url\": \"/importers/asana/auth_url\",\n \"importers-asana-authorize\": \"/importers/asana/authorize\",\n \"importers-asana-list-projects\": \"/importers/asana/list_projects\",\n \"importers-asana-list-users\": \"/importers/asana/list_users\",\n \"importers-asana-import-project\": \"/importers/asana/import_project\"\n };\n\n initUrls = function($log, $urls) {\n $log.debug(\"Initialize api urls\");\n return $urls.update(urls);\n };\n\n initResources = function($log, $rs) {\n var i, len, provider, providers, results;\n $log.debug(\"Initialize resources\");\n providers = _.toArray(arguments).slice(2);\n results = [];\n for (i = 0, len = providers.length; i < len; i++) {\n provider = providers[i];\n results.push(provider($rs));\n }\n return results;\n };\n\n module = angular.module(\"taigaResources\", [\"taigaBase\"]);\n\n module.service(\"$tgResources\", ResourcesService);\n\n module.run([\"$log\", \"$tgUrls\", initUrls]);\n\n module.run([\"$log\", \"$tgResources\", \"$tgProjectsResourcesProvider\", \"$tgCustomAttributesResourcesProvider\", \"$tgCustomAttributesValuesResourcesProvider\", \"$tgMembershipsResourcesProvider\", \"$tgNotifyPoliciesResourcesProvider\", \"$tgInvitationsResourcesProvider\", \"$tgRolesResourcesProvider\", \"$tgUserSettingsResourcesProvider\", \"$tgSprintsResourcesProvider\", \"$tgEpicsResourcesProvider\", \"$tgUserstoriesResourcesProvider\", \"$tgTasksResourcesProvider\", \"$tgIssuesResourcesProvider\", \"$tgWikiResourcesProvider\", \"$tgSearchResourcesProvider\", \"$tgMdRenderResourcesProvider\", \"$tgHistoryResourcesProvider\", \"$tgKanbanResourcesProvider\", \"$tgModulesResourcesProvider\", \"$tgWebhooksResourcesProvider\", \"$tgWebhookLogsResourcesProvider\", \"$tgLocalesResourcesProvider\", \"$tgUsersResourcesProvider\", initResources]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/search.coffee\n */\n\n(function() {\n var SearchBoxDirective, SearchController, SearchDirective, bindOnce, debounce, debounceLeading, groupBy, mixOf, module, taiga, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n mixOf = this.taiga.mixOf;\n\n debounceLeading = this.taiga.debounceLeading;\n\n trim = this.taiga.trim;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaSearch\", []);\n\n SearchController = (function(superClass) {\n extend(SearchController, superClass);\n\n SearchController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function SearchController(scope1, repo, rs, params, q, location, appMetaService, navUrls, translate, errorHandlingService, projectService1) {\n var description, loadSearchData, title;\n this.scope = scope1;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n this.scope.sectionName = \"Search\";\n this.loadInitialData();\n title = this.translate.instant(\"SEARCH.PAGE_TITLE\", {\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"SEARCH.PAGE_DESCRIPTION\", {\n projectName: this.scope.project.name,\n projectDescription: this.scope.project.description\n });\n this.appMetaService.setAll(title, description);\n this.scope.searchTerm = null;\n loadSearchData = debounceLeading(100, (function(_this) {\n return function(t) {\n return _this.loadSearchData(t);\n };\n })(this));\n bindOnce(this.scope, \"projectId\", (function(_this) {\n return function(projectId) {\n if (!_this.scope.searchResults && _this.scope.searchTerm) {\n return _this.loadSearchData();\n }\n };\n })(this));\n this.scope.$watch(\"searchTerm\", (function(_this) {\n return function(term) {\n if (term !== void 0 && _this.scope.projectId) {\n return _this.loadSearchData(term);\n }\n };\n })(this));\n }\n\n SearchController.prototype.loadFilters = function() {\n var defered;\n defered = this.q.defer();\n defered.resolve();\n return defered.promise;\n };\n\n SearchController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.epicStatusById = groupBy(project.epic_statuses, function(x) {\n return x.id;\n });\n this.scope.issueStatusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n this.scope.taskStatusById = groupBy(project.task_statuses, function(x) {\n return x.id;\n });\n this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n this.scope.usStatusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n return project;\n };\n\n SearchController.prototype.loadSearchData = function(term) {\n if (term == null) {\n term = \"\";\n }\n this.scope.loading = true;\n return this._loadSearchData(term).then((function(_this) {\n return function(data) {\n _this.scope.searchResults = data;\n return _this.scope.loading = false;\n };\n })(this));\n };\n\n SearchController.prototype._loadSearchData = function(term) {\n if (term == null) {\n term = \"\";\n }\n if (this._promise) {\n this._promise.abort();\n }\n this._promise = this.rs.search[\"do\"](this.scope.projectId, term);\n return this._promise;\n };\n\n SearchController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.scope.projectId = project.id;\n return this.fillUsersAndRoles(project.members, project.roles);\n };\n\n return SearchController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"SearchController\", SearchController);\n\n SearchBoxDirective = function(projectService, $lightboxService, $navurls, $location, $route) {\n var link;\n link = function($scope, $el, $attrs) {\n var openLightbox, project, submit;\n project = null;\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var form, text, url;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n text = $el.find(\"#search-text\").val();\n url = $navurls.resolve(\"project-search\", {\n project: project.get(\"slug\")\n });\n return $scope.$apply(function() {\n $lightboxService.close($el);\n $location.path(url);\n $location.search(\"text\", text).path(url);\n return $route.reload();\n });\n };\n })(this));\n openLightbox = function() {\n project = projectService.project;\n return $lightboxService.open($el).then(function() {\n return $el.find(\"#search-text\").focus();\n });\n };\n $el.on(\"submit\", \"form\", submit);\n return openLightbox();\n };\n return {\n templateUrl: \"search/lightbox-search.html\",\n link: link\n };\n };\n\n SearchBoxDirective.$inject = [\"tgProjectService\", \"lightboxService\", \"$tgNavUrls\", \"$tgLocation\", \"$route\"];\n\n module.directive(\"tgSearchBox\", SearchBoxDirective);\n\n SearchDirective = function($log, $compile, $templatecache, $routeparams, $location, $analytics) {\n var link, linkTable;\n linkTable = function($scope, $el, $attrs, $ctrl) {\n var activeSectionName, applyAutoTab, getActiveSection, lastSearchResults, markSectionTabActive, renderFilterTabs, renderTableContent, tabsDom, templates;\n applyAutoTab = true;\n activeSectionName = \"userstories\";\n tabsDom = $el.find(\".search-filter\");\n lastSearchResults = null;\n getActiveSection = function(data) {\n var i, len, maxVal, name, ref, selectedSection, value;\n maxVal = 0;\n selectedSection = {};\n selectedSection.name = \"userstories\";\n selectedSection.value = [];\n if (!applyAutoTab) {\n selectedSection.name = activeSectionName;\n selectedSection.value = data[activeSectionName];\n return selectedSection;\n }\n if (data) {\n ref = [\"userstories\", \"epics\", \"issues\", \"tasks\", \"wikipages\"];\n for (i = 0, len = ref.length; i < len; i++) {\n name = ref[i];\n value = data[name];\n if (value.length > maxVal) {\n maxVal = value.length;\n selectedSection.name = name;\n selectedSection.value = value;\n break;\n }\n }\n }\n if (maxVal === 0) {\n return selectedSection;\n }\n return selectedSection;\n };\n renderFilterTabs = function(data) {\n var name, results, value;\n results = [];\n for (name in data) {\n value = data[name];\n tabsDom.find(\"li.\" + name).show();\n results.push(tabsDom.find(\"li.\" + name + \" .num\").html(value.length));\n }\n return results;\n };\n markSectionTabActive = function(section) {\n tabsDom.find(\"a.active\").removeClass(\"active\");\n tabsDom.find(\"li.\" + section.name + \" a\").addClass(\"active\");\n applyAutoTab = false;\n return activeSectionName = section.name;\n };\n templates = {\n epics: $templatecache.get(\"search-epics\"),\n issues: $templatecache.get(\"search-issues\"),\n tasks: $templatecache.get(\"search-tasks\"),\n userstories: $templatecache.get(\"search-userstories\"),\n wikipages: $templatecache.get(\"search-wikipages\")\n };\n renderTableContent = function(section) {\n var element, oldElements, oldScope, scope, template;\n oldElements = $el.find(\".search-result-table\").children();\n oldScope = oldElements.scope();\n if (oldScope) {\n oldScope.$destroy();\n oldElements.remove();\n }\n scope = $scope.$new();\n scope[section.name] = section.value;\n template = angular.element.parseHTML(trim(templates[section.name]));\n element = $compile(template)(scope);\n return $el.find(\".search-result-table\").html(element);\n };\n $scope.$watch(\"searchResults\", function(data) {\n var activeSection;\n lastSearchResults = data;\n if (!lastSearchResults) {\n return;\n }\n activeSection = getActiveSection(data);\n renderFilterTabs(data);\n renderTableContent(activeSection);\n return markSectionTabActive(activeSection);\n });\n $scope.$watch(\"searchTerm\", function(searchTerm) {\n if (searchTerm !== void 0) {\n $location.search(\"text\", searchTerm);\n }\n return $analytics.trackPage($location.url(), \"Search\");\n });\n return $el.on(\"click\", \".search-filter li > a\", function(event) {\n var section, sectionData, sectionName, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n sectionName = target.parent().data(\"name\");\n sectionData = !lastSearchResults ? [] : lastSearchResults[sectionName];\n section = {\n name: sectionName,\n value: sectionData\n };\n return $scope.$apply(function() {\n renderTableContent(section);\n return markSectionTabActive(section);\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, searchText;\n $ctrl = $el.controller();\n linkTable($scope, $el, $attrs, $ctrl);\n searchText = $routeparams.text;\n return $scope.$watch(\"projectId\", function(projectId) {\n if (projectId != null) {\n return $scope.searchTerm = searchText;\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSearch\", [\"$log\", \"$compile\", \"$templateCache\", \"$routeParams\", \"$tgLocation\", \"$tgAnalytics\", SearchDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/taskboard.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTaskboard\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/tasks.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTasks\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/team.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTeam\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/user-settings.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaUserSettings\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/userstories.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaUserStories\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/wiki.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaWiki\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/analytics.coffee\n */\n\n(function() {\n var AnalyticsService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n AnalyticsService = (function(superClass) {\n extend(AnalyticsService, superClass);\n\n AnalyticsService.$inject = [\"$rootScope\", \"$log\", \"$tgConfig\", \"$window\", \"$document\", \"$location\"];\n\n function AnalyticsService(rootscope, log, config, win, doc, location) {\n var conf;\n this.rootscope = rootscope;\n this.log = log;\n this.config = config;\n this.win = win;\n this.doc = doc;\n this.location = location;\n this.initialized = false;\n conf = this.config.get(\"analytics\", {});\n this.accountId = conf.accountId;\n this.pageEvent = conf.pageEvent || \"$routeChangeSuccess\";\n this.trackRoutes = conf.trackRoutes || true;\n this.ignoreFirstPageLoad = conf.ignoreFirstPageLoad || false;\n }\n\n AnalyticsService.prototype.initialize = function() {\n if (!this.accountId) {\n this.log.debug(\"Analytics: no acount id provided. Disabling.\");\n return;\n }\n this.injectAnalytics();\n this.win.ga(\"create\", this.accountId, \"auto\");\n this.win.ga(\"require\", \"ec\");\n this.win.ga(\"require\", \"displayfeatures\");\n if (this.trackRoutes && (!this.ignoreFirstPageLoad)) {\n this.win.ga(\"send\", \"pageview\", this.getUrl());\n }\n if (this.trackRoutes) {\n this.rootscope.$on(this.pageEvent, (function(_this) {\n return function() {\n return _this.trackPage(_this.getUrl(), \"Taiga\");\n };\n })(this));\n }\n this.initialized = true;\n return this.setUserId();\n };\n\n AnalyticsService.prototype.setUserId = function() {\n var ref, ref1;\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n return this.win.ga('set', 'userId', (ref = this.rootscope) != null ? (ref1 = ref.user) != null ? ref1.uuid : void 0 : void 0);\n };\n\n AnalyticsService.prototype.getUrl = function() {\n return this.location.path();\n };\n\n AnalyticsService.prototype.injectAnalytics = function() {\n var fn;\n fn = (function(i,s,o,g,r,a,m){i[\"GoogleAnalyticsObject\"]=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments);},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m);});\n return fn(window, document, \"script\", \"//www.google-analytics.com/analytics.js\", \"ga\");\n };\n\n AnalyticsService.prototype.trackPage = function(url, title) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n title = title || this.doc[0].title;\n return this.win.ga(\"send\", \"pageview\", {\n \"page\": url,\n \"title\": title\n });\n };\n\n AnalyticsService.prototype.trackEvent = function(category, action, label, value) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n return this.win.ga(\"send\", \"event\", category, action, label, value);\n };\n\n AnalyticsService.prototype.ecViewPlan = function(plan) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan.plan_id,\n 'name': plan.name,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'detail');\n return this.trackEvent(\"ecommerce\", \"view-product-detail\", plan.name, plan.plan_id);\n };\n\n AnalyticsService.prototype.ecClickPlan = function(plan) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan.plan_id,\n 'name': plan.name,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'click');\n return this.trackEvent(\"ecommerce\", \"click-product\", plan.name, plan.plan_id);\n };\n\n AnalyticsService.prototype.ecListPlans = function(arg, page) {\n var i, len, plan, plans, position;\n plans = arg[0];\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n position = 1;\n for (i = 0, len = plans.length; i < len; i++) {\n plan = plans[i];\n this.win.ga('ec:addImpression', {\n 'id': plan.plan_id,\n 'name': plan.name,\n 'list': page,\n 'position': position\n });\n position++;\n }\n return this.trackEvent(\"ecommerce\", \"list-plans\");\n };\n\n AnalyticsService.prototype.ecAddToCart = function(plan_id, plan_name, plan_price) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'add');\n return this.trackEvent('ecommerce', 'add-to-cart', 'Collect Payment Info', null);\n };\n\n AnalyticsService.prototype.ecConfirmChange = function(plan_id, plan_name, plan_price) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'checkout', {\n 'step': 1\n });\n return this.trackEvent(\"ecommerce\", \"start-checkout\", \"start\", 1);\n };\n\n AnalyticsService.prototype.ecPurchase = function(plan_id, plan_name, plan_price) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'checkout', {\n 'step': 2\n });\n this.trackEvent(\"ecommerce\", \"end-checkout\", \"end\", 2);\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'purchase', {\n 'id': plan_id,\n 'revenue': plan_price\n });\n return this.trackEvent('ecommerce', 'checkout', 'Plan checkout', null);\n };\n\n return AnalyticsService;\n\n })(taiga.Service);\n\n module.service(\"$tgAnalytics\", AnalyticsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: bind-scope.coffee\n */\n\n(function() {\n var BindScope, module;\n\n module = angular.module(\"taigaCommon\");\n\n BindScope = function(config) {\n var link;\n if (!config.debugInfo) {\n jQuery.fn.scope = function() {\n return this.data('scope');\n };\n }\n link = function($scope, $el) {\n if (!config.debugInfo) {\n return $el.data('scope', $scope).addClass('tg-scope');\n }\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBindScope\", [\"$tgConfig\", BindScope]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: compile-html.directive.coffee\n */\n\n(function() {\n var CompileHtmlDirective;\n\n CompileHtmlDirective = function($compile) {\n var link;\n link = function(scope, element, attrs) {\n return scope.$watch(attrs.tgCompileHtml, function(newValue, oldValue) {\n element.html(newValue);\n return $compile(element.contents())(scope);\n });\n };\n return {\n link: link\n };\n };\n\n CompileHtmlDirective.$inject = [\"$compile\"];\n\n angular.module(\"taigaCommon\").directive(\"tgCompileHtml\", CompileHtmlDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/components.coffee\n */\n\n(function() {\n var AssignedToDirective, AssignedToInlineDirective, AssignedUsersDirective, AssignedUsersInlineDirective, BlockButtonDirective, CreatedByDisplayDirective, DateRangeDirective, DateSelectorDirective, DeleteButtonDirective, ListItemAssignedtoDirective, ListItemEpicStatusDirective, ListItemIssueStatusDirective, ListItemPriorityDirective, ListItemSeverityDirective, ListItemTaskStatusDirective, ListItemTypeDirective, ListItemUsStatusDirective, SprintProgressBarDirective, TgMainTitleDirective, TgProgressBarDirective, UserDisplayDirective, WatchersDirective, bindOnce, module, normalizeString, taiga,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n normalizeString = this.taiga.normalizeString;\n\n module = angular.module(\"taigaCommon\");\n\n DateRangeDirective = function($translate) {\n var link, renderRange;\n renderRange = function($el, first, second) {\n var endDate, initDate, prettyDate;\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\");\n initDate = moment(first).format(prettyDate);\n endDate = moment(second).format(prettyDate);\n return $el.html(initDate + \"-\" + endDate);\n };\n link = function($scope, $el, $attrs) {\n var first, ref, second;\n ref = $attrs.tgDateRange.split(\",\"), first = ref[0], second = ref[1];\n return bindOnce($scope, first, function(valFirst) {\n return bindOnce($scope, second, function(valSecond) {\n return renderRange($el, valFirst, valSecond);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgDateRange\", [\"$translate\", DateRangeDirective]);\n\n DateSelectorDirective = function($rootscope, datePickerConfigService) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var initialize, selectedDate, unbind;\n selectedDate = null;\n initialize = function() {\n var datePickerConfig;\n datePickerConfig = datePickerConfigService.get();\n _.merge(datePickerConfig, {\n field: $el[0]\n });\n return $el.picker = new Pikaday(datePickerConfig);\n };\n unbind = $rootscope.$on(\"$translateChangeEnd\", (function(_this) {\n return function(ctx) {\n if ($el.picker) {\n $el.picker.destroy();\n }\n return initialize();\n };\n })(this));\n $attrs.$observe(\"pickerValue\", function(val) {\n $el.val(val);\n if (val != null) {\n if ($el.picker) {\n $el.picker.destroy();\n }\n initialize();\n }\n return $el.picker.setDate(val);\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n unbind();\n return $el.picker.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgDateSelector\", [\"$rootScope\", \"tgDatePickerConfigService\", DateSelectorDirective]);\n\n SprintProgressBarDirective = function() {\n var link, renderProgress;\n renderProgress = function($el, percentage, visual_percentage) {\n if ($el.hasClass(\".current-progress\")) {\n return $el.css(\"width\", percentage + \"%\");\n } else {\n $el.find(\".current-progress\").css(\"width\", visual_percentage + \"%\");\n return $el.find(\".number\").html(percentage + \" %\");\n }\n };\n link = function($scope, $el, $attrs) {\n bindOnce($scope, $attrs.tgSprintProgressbar, function(sprint) {\n var closedPoints, percentage, totalPoints, visual_percentage;\n closedPoints = sprint.closed_points;\n totalPoints = sprint.total_points;\n percentage = 0;\n if (totalPoints !== 0) {\n percentage = Math.round(100 * (closedPoints / totalPoints));\n }\n visual_percentage = 0;\n if (totalPoints !== 0) {\n visual_percentage = Math.round(98 * (closedPoints / totalPoints));\n }\n return renderProgress($el, percentage, visual_percentage);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintProgressbar\", SprintProgressBarDirective);\n\n CreatedByDisplayDirective = function($template, $compile, $translate, $navUrls, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n bindOnce($scope, $attrs.ngModel, function(model) {\n var avatar, ref;\n if (model != null) {\n avatar = avatarService.getAvatar(model.owner_extra_info);\n $scope.owner = model.owner_extra_info || {\n full_name_display: $translate.instant(\"COMMON.EXTERNAL_USER\")\n };\n $scope.owner.avatar = avatar.url;\n $scope.owner.bg = avatar.bg;\n $scope.url = ((ref = $scope.owner) != null ? ref.is_active : void 0) ? $navUrls.resolve(\"user-profile\", {\n username: $scope.owner.username\n }) : \"\";\n return $scope.date = moment(model.created_date).format($translate.instant(\"COMMON.DATETIME\"));\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n scope: true,\n templateUrl: \"common/components/created-by.html\"\n };\n };\n\n module.directive(\"tgCreatedByDisplay\", [\"$tgTemplate\", \"$compile\", \"$translate\", \"$tgNavUrls\", \"tgAvatarService\", CreatedByDisplayDirective]);\n\n UserDisplayDirective = function($template, $compile, $translate, $navUrls, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var avatar, id;\n id = $attrs.tgUserId;\n $scope.user = $scope.usersById[id] || {\n full_name_display: $translate.instant(\"COMMON.EXTERNAL_USER\")\n };\n avatar = avatarService.getAvatar($scope.usersById[id] || null);\n $scope.user.avatar = avatar.url;\n $scope.user.bg = avatar.bg;\n $scope.url = $scope.user.is_active ? $navUrls.resolve(\"user-profile\", {\n username: $scope.user.username\n }) : \"\";\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n scope: true,\n templateUrl: \"common/components/user-display.html\"\n };\n };\n\n module.directive(\"tgUserDisplay\", [\"$tgTemplate\", \"$compile\", \"$translate\", \"$tgNavUrls\", \"tgAvatarService\", UserDisplayDirective]);\n\n WatchersDirective = function($rootscope, $confirm, $repo, $modelTransform, $template, $compile, $translate) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var deleteWatcher, isEditable, renderWatchers, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = function(watchers) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.watchers = watchers;\n return item;\n });\n transform.then(function() {\n watchers = _.map(watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n };\n deleteWatcher = function(watcherIds) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.watchers = watcherIds;\n return item;\n });\n transform.then(function() {\n var item, watchers;\n item = $modelTransform.getObj();\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n item.revert();\n return $confirm.notify(\"error\");\n });\n };\n renderWatchers = function(watchers) {\n $scope.watchers = watchers;\n return $scope.isEditable = isEditable();\n };\n $el.on(\"click\", \".js-delete-watcher\", function(event) {\n var message, target, title, watcherId;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n watcherId = target.data(\"watcher-id\");\n title = $translate.instant(\"COMMON.WATCHERS.TITLE_LIGHTBOX_DELETE_WARTCHER\");\n message = $scope.usersById[watcherId].full_name_display;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var watcherIds;\n askResponse.finish();\n watcherIds = _.clone($model.$modelValue.watchers, false);\n watcherIds = _.pull(watcherIds, watcherId);\n return deleteWatcher(watcherIds);\n };\n })(this));\n });\n $scope.$on(\"watcher:added\", function(ctx, watcherId) {\n var watchers;\n watchers = _.clone($model.$modelValue.watchers, false);\n watchers.push(watcherId);\n watchers = _.uniq(watchers);\n return save(watchers);\n });\n $scope.$watch($attrs.ngModel, function(item) {\n var watchers;\n if (item == null) {\n return;\n }\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n watchers = _.filter(watchers, function(it) {\n return !!it;\n });\n return renderWatchers(watchers);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n scope: true,\n templateUrl: \"common/components/watchers.html\",\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgWatchers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", \"$translate\", WatchersDirective]);\n\n AssignedUsersDirective = function($rootscope, $confirm, $repo, $modelTransform, $template, $compile, $translate, $currentUserService) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var assignToMe, deleteAssignedUser, isAssigned, isEditable, openAssignedUsers, renderAssignedUsers, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n isAssigned = function() {\n return $scope.assignedUsers.length > 0;\n };\n save = function(assignedUsers, assignedToUser) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.assigned_users = assignedUsers;\n if (!item.assigned_to) {\n item.assigned_to = assignedToUser;\n }\n return item;\n });\n transform.then(function() {\n var result;\n assignedUsers = _.map(assignedUsers, function(assignedUserId) {\n return $scope.usersById[assignedUserId];\n });\n renderAssignedUsers(assignedUsers);\n return result = $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n };\n openAssignedUsers = function() {\n var item;\n item = _.clone($model.$modelValue, false);\n return $rootscope.$broadcast(\"assigned-user:add\", item);\n };\n assignToMe = function() {\n var assignedUsers, currentUserId;\n if (!isEditable()) {\n return;\n }\n currentUserId = $currentUserService.getUser().get('id');\n assignedUsers = _.clone($model.$modelValue.assigned_users, false);\n assignedUsers.push(currentUserId);\n assignedUsers = _.uniq(assignedUsers);\n return save(assignedUsers, currentUserId);\n };\n deleteAssignedUser = function(assignedUserIds) {\n var transform;\n transform = $modelTransform.save(function(item) {\n var ref;\n item.assigned_users = assignedUserIds;\n if ((ref = item.assigned_to, indexOf.call(assignedUserIds, ref) < 0) && assignedUserIds.length > 0) {\n item.assigned_to = assignedUserIds[0];\n }\n if (assignedUserIds.length === 0) {\n item.assigned_to = null;\n }\n return item;\n });\n transform.then(function() {\n var assignedUsers, item;\n item = $modelTransform.getObj();\n assignedUsers = _.map(item.assignedUsers, function(assignedUserId) {\n return $scope.usersById[assignedUserId];\n });\n renderAssignedUsers(assignedUsers);\n return $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n item.revert();\n return $confirm.notify(\"error\");\n });\n };\n renderAssignedUsers = function(assignedUsers) {\n $scope.assignedUsers = assignedUsers;\n $scope.isEditable = isEditable();\n $scope.isAssigned = isAssigned();\n $scope.openAssignedUsers = openAssignedUsers;\n return $scope.assignToMe = assignToMe;\n };\n $el.on(\"click\", \".remove-user\", function(event) {\n var assignedUserId, message, target, title;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n assignedUserId = target.data(\"assigned-user-id\");\n title = $translate.instant(\"COMMON.ASSIGNED_USERS.TITLE_LIGHTBOX_DELETE_ASSIGNED\");\n message = $scope.usersById[assignedUserId].full_name_display;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var assignedUserIds;\n askResponse.finish();\n assignedUserIds = _.clone($model.$modelValue.assigned_users, false);\n assignedUserIds = _.pull(assignedUserIds, assignedUserId);\n return deleteAssignedUser(assignedUserIds);\n };\n })(this));\n });\n $scope.$on(\"assigned-user:deleted\", function(ctx, assignedUserId) {\n var assignedUsersIds;\n assignedUsersIds = _.clone($model.$modelValue.assigned_users, false);\n assignedUsersIds = _.pull(assignedUsersIds, assignedUserId);\n assignedUsersIds = _.uniq(assignedUsersIds);\n return deleteAssignedUser(assignedUsersIds);\n });\n $scope.$on(\"assigned-user:added\", function(ctx, assignedUserId) {\n var assignedUsers;\n assignedUsers = _.clone($model.$modelValue.assigned_users, false);\n assignedUsers.push(assignedUserId);\n assignedUsers = _.uniq(assignedUsers);\n return save(assignedUsers, assignedUserId);\n });\n $scope.$watch($attrs.ngModel, function(item) {\n var assignedUsers;\n if (item == null) {\n return;\n }\n assignedUsers = _.map(item.assigned_users, function(assignedUserId) {\n return $scope.usersById[assignedUserId];\n });\n assignedUsers = _.filter(assignedUsers, function(it) {\n return !!it;\n });\n return renderAssignedUsers(assignedUsers);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n scope: true,\n templateUrl: \"common/components/assigned-users.html\",\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgAssignedUsers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", \"$translate\", \"tgCurrentUserService\", AssignedUsersDirective]);\n\n AssignedToDirective = function($rootscope, $confirm, $repo, $loading, $modelTransform, $template, $translate, $compile, $currentUserService, avatarService) {\n var link, template;\n template = $template.get(\"common/components/assigned-to.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, renderAssignedTo, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = function(userId) {\n var currentLoading, item, transform;\n item = $model.$modelValue.clone();\n item.assigned_to = userId;\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(item) {\n item.assigned_to = userId;\n return item;\n });\n transform.then(function() {\n currentLoading.finish();\n renderAssignedTo($modelTransform.getObj());\n return $rootscope.$broadcast(\"object:updated\");\n });\n transform.then(null, function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n });\n return transform;\n };\n renderAssignedTo = function(assignedObject) {\n var avatar, bg, ctx, fullName, html, isIocaine, isUnassigned;\n avatar = avatarService.getAvatar(assignedObject != null ? assignedObject.assigned_to_extra_info : void 0);\n bg = null;\n if ((assignedObject != null ? assignedObject.assigned_to : void 0) != null) {\n fullName = assignedObject.assigned_to_extra_info.full_name_display;\n isUnassigned = false;\n bg = avatar.bg;\n } else {\n fullName = $translate.instant(\"COMMON.ASSIGNED_TO.ASSIGN\");\n isUnassigned = true;\n }\n isIocaine = assignedObject != null ? assignedObject.is_iocaine : void 0;\n ctx = {\n fullName: fullName,\n avatar: avatar.url,\n bg: bg,\n isUnassigned: isUnassigned,\n isEditable: isEditable(),\n isIocaine: isIocaine,\n fullNameVisible: !(isUnassigned && !$currentUserService.isAuthenticated())\n };\n html = $compile(template(ctx))($scope);\n return $el.html(html);\n };\n $el.on(\"click\", \".user-assigned\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"assigned-to:add\", $model.$modelValue);\n });\n });\n $el.on(\"click\", \".assign-to-me\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n $model.$modelValue.assigned_to = $currentUserService.getUser().get('id');\n return save($currentUserService.getUser().get('id'));\n });\n $el.on(\"click\", \".remove-user\", function(event) {\n var title;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n title = $translate.instant(\"COMMON.ASSIGNED_TO.CONFIRM_UNASSIGNED\");\n return $confirm.ask(title).then((function(_this) {\n return function(response) {\n response.finish();\n $model.$modelValue.assigned_to = null;\n return save(null);\n };\n })(this));\n });\n $scope.$on(\"assigned-to:added\", function(ctx, userId, item) {\n if (item.id !== $model.$modelValue.id) {\n return;\n }\n return save(userId);\n });\n $scope.$watch($attrs.ngModel, function(instance) {\n return renderAssignedTo(instance);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgAssignedTo\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$translate\", \"$compile\", \"tgCurrentUserService\", \"tgAvatarService\", AssignedToDirective]);\n\n AssignedToInlineDirective = function($rootscope, $confirm, $repo, $loading, $modelTransform, $template, $translate, $compile, $currentUserService, avatarService) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var filterUsers, isEditable, renderUser, renderUserlist;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n filterUsers = function(text, user) {\n var username;\n username = user.full_name_display.toUpperCase();\n username = normalizeString(username);\n text = text.toUpperCase();\n text = normalizeString(text);\n return _.includes(username, text);\n };\n renderUserlist = function(text) {\n var users, visibleUsers;\n users = _.clone($scope.activeUsers, true);\n if ($scope.selected != null) {\n users = _.reject(users, {\n \"id\": $scope.selected.id\n });\n }\n users = _.sortBy(users, function(o) {\n if (o.id === $scope.user.id) {\n return 0;\n } else {\n return o.id;\n }\n });\n if (text != null) {\n users = _.filter(users, _.partial(filterUsers, text));\n }\n visibleUsers = _.slice(users, 0, 5);\n visibleUsers = _.map(visibleUsers, function(user) {\n return user.avatar = avatarService.getAvatar(user);\n });\n $scope.users = _.slice(users, 0, 5);\n return $scope.showMore = users.length > 5;\n };\n renderUser = function(assignedObject) {\n var assigned_to_extra_info;\n if (assignedObject != null ? assignedObject.assigned_to : void 0) {\n $scope.selected = assignedObject.assigned_to;\n assigned_to_extra_info = $scope.usersById[$scope.selected];\n $scope.fullName = assigned_to_extra_info != null ? assigned_to_extra_info.full_name_display : void 0;\n $scope.isUnassigned = false;\n $scope.avatar = avatarService.getAvatar(assigned_to_extra_info);\n $scope.bg = $scope.avatar.bg;\n $scope.isIocaine = assignedObject != null ? assignedObject.is_iocaine : void 0;\n } else {\n $scope.fullName = $translate.instant(\"COMMON.ASSIGNED_TO.ASSIGN\");\n $scope.isUnassigned = true;\n $scope.avatar = avatarService.getAvatar(null);\n $scope.bg = null;\n $scope.isIocaine = false;\n }\n $scope.fullNameVisible = !($scope.isUnassigned && !$currentUserService.isAuthenticated());\n return $scope.isEditable = isEditable();\n };\n $el.on(\"click\", \".users-dropdown\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n renderUserlist();\n $scope.$apply();\n return $el.find(\".pop-users\").popover().open();\n });\n $el.on(\"click\", \".users-search\", function(event) {\n return event.stopPropagation();\n });\n $el.on(\"click\", \".assign-to-me\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n $model.$modelValue.assigned_to = $currentUserService.getUser().get('id');\n renderUser($model.$modelValue);\n return $scope.$apply();\n });\n $el.on(\"click\", \".remove-user\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n $model.$modelValue.assigned_to = null;\n renderUser();\n return $scope.$apply();\n });\n $scope.$watch(\"usersSearch\", function(searchingText) {\n if (searchingText != null) {\n renderUserlist(searchingText);\n return $el.find('input').focus();\n }\n });\n $el.on(\"click\", \".user-list-single\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n $model.$modelValue.assigned_to = target.data(\"user-id\");\n renderUser($model.$modelValue);\n return $scope.$apply();\n });\n $scope.$watch($attrs.ngModel, function(instance) {\n return renderUser(instance);\n });\n $scope.$on(\"isiocaine:changed\", function(ctx, instance) {\n return renderUser(instance);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/components/assigned-to-inline.html\"\n };\n };\n\n module.directive(\"tgAssignedToInline\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$translate\", \"$compile\", \"tgCurrentUserService\", \"tgAvatarService\", AssignedToInlineDirective]);\n\n AssignedUsersInlineDirective = function($rootscope, $confirm, $repo, $loading, $modelTransform, $template, $translate, $compile, $currentUserService, avatarService) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var applyToModel, currentAssignedIds, currentAssignedTo, filterUsers, isAssigned, renderUsers, renderUsersList;\n currentAssignedIds = [];\n currentAssignedTo = null;\n isAssigned = function() {\n return currentAssignedIds.length > 0;\n };\n filterUsers = function(text, user) {\n var username;\n username = user.full_name_display.toUpperCase();\n username = normalizeString(username);\n text = text.toUpperCase();\n text = normalizeString(text);\n return _.includes(username, text);\n };\n renderUsersList = function(text) {\n var selected, users, visible;\n users = _.clone($scope.activeUsers, true);\n users = _.sortBy(users, function(o) {\n if (o.id === $scope.user.id) {\n return 0;\n } else {\n return o.id;\n }\n });\n if (text != null) {\n users = _.filter(users, _.partial(filterUsers, text));\n }\n selected = [];\n _.map(users, function(user) {\n var ref;\n if (ref = user.id, indexOf.call(currentAssignedIds, ref) >= 0) {\n user.avatar = avatarService.getAvatar(user);\n return selected.push(user);\n }\n });\n visible = [];\n _.map(users, function(user) {\n var ref;\n if (ref = user.id, indexOf.call(currentAssignedIds, ref) < 0) {\n user.avatar = avatarService.getAvatar(user);\n return visible.push(user);\n }\n });\n $scope.selected = _.slice(selected, 0, 5);\n if ($scope.selected.length < 5) {\n $scope.users = _.slice(visible, 0, 5 - $scope.selected.length);\n } else {\n $scope.users = [];\n }\n return $scope.showMore = users.length > 5;\n };\n renderUsers = function() {\n var assignedUsers;\n assignedUsers = _.map(currentAssignedIds, function(assignedUserId) {\n return $scope.usersById[assignedUserId];\n });\n assignedUsers = _.filter(assignedUsers, function(it) {\n return !!it;\n });\n $scope.hiddenUsers = currentAssignedIds.length > 3 ? currentAssignedIds.length - 3 : 0;\n $scope.assignedUsers = _.slice(assignedUsers, 0, 3);\n return $scope.isAssigned = isAssigned();\n };\n applyToModel = function() {\n _.map(currentAssignedIds, function(userId) {\n if (!$scope.usersById[userId]) {\n return currentAssignedIds.splice(currentAssignedIds.indexOf(userId), 1);\n }\n });\n if (currentAssignedIds.length === 0) {\n currentAssignedTo = null;\n } else if (currentAssignedIds.indexOf(currentAssignedTo) === -1 || !currentAssignedTo) {\n currentAssignedTo = currentAssignedIds[0];\n }\n $model.$modelValue.setAttr('assigned_users', currentAssignedIds);\n return $model.$modelValue.assigned_to = currentAssignedTo;\n };\n $el.on(\"click\", \".users-dropdown\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n renderUsersList();\n $scope.$apply();\n return $el.find(\".pop-users\").popover().open();\n });\n $el.on(\"click\", \".users-search\", function(event) {\n return event.stopPropagation();\n });\n $el.on(\"click\", \".assign-to-me\", function(event) {\n event.preventDefault();\n currentAssignedIds.push($currentUserService.getUser().get('id'));\n renderUsers();\n applyToModel();\n $scope.usersSearch = null;\n return $scope.$apply();\n });\n $scope.$watch(\"usersSearch\", function(searchingText) {\n if (searchingText != null) {\n renderUsersList(searchingText);\n return $el.find('input').focus();\n }\n });\n $el.on(\"click\", \".user-list-single\", function(event) {\n var index, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n index = currentAssignedIds.indexOf(target.data(\"user-id\"));\n if (index === -1) {\n currentAssignedIds.push(target.data(\"user-id\"));\n } else {\n currentAssignedIds.splice(index, 1);\n }\n renderUsers();\n applyToModel();\n $el.find(\".pop-users\").popover().close();\n $scope.usersSearch = null;\n return $scope.$apply();\n });\n $el.on(\"click\", \".remove-user\", function(event) {\n var index, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n index = currentAssignedIds.indexOf(target.data(\"user-id\"));\n if (index > -1) {\n currentAssignedIds.splice(index, 1);\n }\n renderUsers();\n applyToModel();\n return $scope.$apply();\n });\n $scope.$watch($attrs.ngModel, function(item) {\n var assigned_to;\n if (item == null) {\n return;\n }\n currentAssignedIds = [];\n assigned_to = null;\n if (item.assigned_users != null) {\n currentAssignedIds = item.assigned_users;\n }\n assigned_to = item.assigned_to;\n return renderUsers();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/components/assigned-users-inline.html\"\n };\n };\n\n module.directive(\"tgAssignedUsersInline\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$translate\", \"$compile\", \"tgCurrentUserService\", \"tgAvatarService\", AssignedUsersInlineDirective]);\n\n BlockButtonDirective = function($rootscope, $loading, $template) {\n var link, template;\n template = $template.get(\"common/components/block-button.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n $scope.$watch($attrs.ngModel, function(item) {\n if (!item) {\n return;\n }\n if (isEditable()) {\n $el.find('.item-block').addClass('editable');\n }\n if (item.is_blocked) {\n $el.find('.item-block').removeClass('is-active');\n return $el.find('.item-unblock').addClass('is-active');\n } else {\n $el.find('.item-block').addClass('is-active');\n return $el.find('.item-unblock').removeClass('is-active');\n }\n });\n $el.on(\"click\", \".item-block\", function(event) {\n event.preventDefault();\n return $rootscope.$broadcast(\"block\", $model.$modelValue);\n });\n $el.on(\"click\", \".item-unblock\", function(event) {\n var currentLoading, finish;\n event.preventDefault();\n currentLoading = $loading().target($el.find(\".item-unblock\")).start();\n finish = function() {\n return currentLoading.finish();\n };\n return $rootscope.$broadcast(\"unblock\", $model.$modelValue, finish);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgBlockButton\", [\"$rootScope\", \"$tgLoading\", \"$tgTemplate\", BlockButtonDirective]);\n\n DeleteButtonDirective = function($log, $repo, $confirm, $location, $template) {\n var link, template;\n template = $template.get(\"common/components/delete-button.html\");\n link = function($scope, $el, $attrs, $model) {\n if (!$attrs.onDeleteGoToUrl) {\n return $log.error(\"DeleteButtonDirective requires on-delete-go-to-url set in scope.\");\n }\n if (!$attrs.onDeleteTitle) {\n return $log.error(\"DeleteButtonDirective requires on-delete-title set in scope.\");\n }\n $el.on(\"click\", \".button-delete\", function(event) {\n var subtitle, title;\n title = $attrs.onDeleteTitle;\n subtitle = $model.$modelValue.subject;\n return $confirm.askOnDelete(title, subtitle).then((function(_this) {\n return function(askResponse) {\n var promise;\n promise = $repo.remove($model.$modelValue);\n promise.then(function() {\n var url;\n askResponse.finish();\n url = $scope.$eval($attrs.onDeleteGoToUrl);\n return $location.path(url);\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgDeleteButton\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgTemplate\", DeleteButtonDirective]);\n\n ListItemEpicStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var epic;\n epic = $scope.$eval($attrs.tgListitemEpicStatus);\n return bindOnce($scope, \"epicStatusById\", function(epicStatusById) {\n return $el.html(epicStatusById[epic.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemEpicStatus\", ListItemEpicStatusDirective);\n\n ListItemUsStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var us;\n us = $scope.$eval($attrs.tgListitemUsStatus);\n return bindOnce($scope, \"usStatusById\", function(usStatusById) {\n return $el.html(usStatusById[us.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemUsStatus\", ListItemUsStatusDirective);\n\n ListItemTaskStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var task;\n task = $scope.$eval($attrs.tgListitemTaskStatus);\n return bindOnce($scope, \"taskStatusById\", function(taskStatusById) {\n return $el.html(taskStatusById[task.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemTaskStatus\", ListItemTaskStatusDirective);\n\n ListItemAssignedtoDirective = function($template, $translate, avatarService) {\n var link, template;\n template = $template.get(\"common/components/list-item-assigned-to-avatar.html\", true);\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, \"usersById\", function(usersById) {\n var avatar, ctx, item, member;\n item = $scope.$eval($attrs.tgListitemAssignedto);\n ctx = {\n name: $translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\")\n };\n member = usersById[item.assigned_to];\n avatar = avatarService.getAvatar(member);\n ctx.imgurl = avatar.url;\n ctx.bg = avatar.bg;\n if (member) {\n ctx.name = member.full_name_display;\n }\n return $el.html(template(ctx));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemAssignedto\", [\"$tgTemplate\", \"$translate\", \"tgAvatarService\", ListItemAssignedtoDirective]);\n\n ListItemIssueStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemIssueStatus);\n return bindOnce($scope, \"issueStatusById\", function(issueStatusById) {\n return $el.html(issueStatusById[issue.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemIssueStatus\", ListItemIssueStatusDirective);\n\n ListItemTypeDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(issueTypeById, issue) {\n var domNode, type;\n type = issueTypeById[issue.type];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", type.color);\n return domNode.attr(\"title\", type.name);\n };\n bindOnce($scope, \"issueTypeById\", function(issueTypeById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemType);\n return render(issueTypeById, issue);\n });\n return $scope.$watch($attrs.tgListitemType, function(issue) {\n return render($scope.issueTypeById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemType\", ListItemTypeDirective);\n\n ListItemPriorityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(priorityById, issue) {\n var domNode, priority;\n priority = priorityById[issue.priority];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", priority.color);\n return domNode.attr(\"title\", priority.name);\n };\n bindOnce($scope, \"priorityById\", function(priorityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemPriority);\n return render(priorityById, issue);\n });\n return $scope.$watch($attrs.tgListitemPriority, function(issue) {\n return render($scope.priorityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemPriority\", ListItemPriorityDirective);\n\n ListItemSeverityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(severityById, issue) {\n var domNode, severity;\n severity = severityById[issue.severity];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", severity.color);\n return domNode.attr(\"title\", severity.name);\n };\n bindOnce($scope, \"severityById\", function(severityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemSeverity);\n return render(severityById, issue);\n });\n return $scope.$watch($attrs.tgListitemSeverity, function(issue) {\n return render($scope.severityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemSeverity\", ListItemSeverityDirective);\n\n TgProgressBarDirective = function($template) {\n var link, render, template;\n template = $template.get(\"common/components/progress-bar.html\", true);\n render = function(el, percentage) {\n return el.html(template({\n percentage: percentage\n }));\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch($attrs.tgProgressBar, function(percentage) {\n percentage = _.max([0, percentage]);\n percentage = _.min([100, percentage]);\n return render($el, percentage);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProgressBar\", [\"$tgTemplate\", TgProgressBarDirective]);\n\n TgMainTitleDirective = function($translate) {\n var link;\n link = function($scope, $el, $attrs) {\n $attrs.$observe(\"i18nSectionName\", function(i18nSectionName) {\n return $scope.sectionName = i18nSectionName;\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/main-title.html\",\n scope: {\n projectName: \"=projectName\"\n }\n };\n };\n\n module.directive(\"tgMainTitle\", [\"$translate\", TgMainTitleDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/confirm.coffee\n */\n\n(function() {\n var ConfirmService, NOTIFICATION_MSG, bindMethods, cancelTimeout, debounce, module, taiga, timeout,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n timeout = this.taiga.timeout;\n\n cancelTimeout = this.taiga.cancelTimeout;\n\n debounce = this.taiga.debounce;\n\n bindMethods = this.taiga.bindMethods;\n\n NOTIFICATION_MSG = {\n \"success\": {\n title: \"NOTIFICATION.OK\",\n message: \"NOTIFICATION.SAVED\"\n },\n \"error\": {\n title: \"NOTIFICATION.WARNING\",\n message: \"NOTIFICATION.WARNING_TEXT\"\n },\n \"light-error\": {\n title: \"NOTIFICATION.WARNING\",\n message: \"NOTIFICATION.WARNING_TEXT\"\n }\n };\n\n ConfirmService = (function(superClass) {\n extend(ConfirmService, superClass);\n\n ConfirmService.$inject = [\"$q\", \"lightboxService\", \"$tgLoading\", \"$translate\"];\n\n function ConfirmService(q, lightboxService, loading, translate) {\n this.q = q;\n this.lightboxService = lightboxService;\n this.loading = loading;\n this.translate = translate;\n bindMethods(this);\n }\n\n ConfirmService.prototype.hide = function(el) {\n if (el) {\n this.lightboxService.close(el);\n return el.off(\".confirm-dialog\");\n }\n };\n\n ConfirmService.prototype.ask = function(title, subtitle, message, lightboxSelector) {\n var defered, el, onEsc;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-generic-ask\";\n }\n defered = this.q.defer();\n el = angular.element(lightboxSelector);\n if (title) {\n el.find(\".title\").text(title);\n }\n if (subtitle) {\n el.find(\".subtitle\").text(subtitle);\n }\n if (message) {\n el.find(\".message\").html(message);\n }\n el.on(\"click.confirm-dialog\", \".button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n currentLoading = _this.loading().target(target).start();\n return defered.resolve({\n finish: function(ok) {\n if (ok == null) {\n ok = true;\n }\n currentLoading.finish();\n if (ok) {\n return _this.hide(el);\n }\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \".button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n onEsc = (function(_this) {\n return function() {\n return _this.hide(el);\n };\n })(this);\n this.lightboxService.open(el, null, onEsc);\n return defered.promise;\n };\n\n ConfirmService.prototype.askOnDelete = function(title, message, subtitle) {\n if (subtitle == null) {\n subtitle = this.translate.instant(\"NOTIFICATION.ASK_DELETE\");\n }\n return this.ask(title, subtitle, message);\n };\n\n ConfirmService.prototype.askChoice = function(title, subtitle, choices, replacement, warning, lightboxSelector) {\n var choicesField, defered, el;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-ask-choice\";\n }\n defered = this.q.defer();\n el = angular.element(lightboxSelector);\n el.find(\".title\").text(title);\n el.find(\".subtitle\").text(subtitle);\n if (replacement) {\n el.find(\".replacement\").text(replacement);\n } else {\n el.find(\".replacement\").remove();\n }\n if (warning) {\n el.find(\".warning\").text(warning);\n } else {\n el.find(\".warning\").remove();\n }\n choicesField = el.find(\".choices\");\n choicesField.html('');\n _.each(choices, function(value, key) {\n value = _.escape(value);\n return choicesField.append(angular.element(\"\"));\n });\n el.on(\"click.confirm-dialog\", \"a.button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n currentLoading = _this.loading().target(target).start();\n return defered.resolve({\n selected: choicesField.val(),\n finish: function(ok) {\n if (ok == null) {\n ok = true;\n }\n currentLoading.finish();\n if (ok) {\n return _this.hide(el);\n }\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \".button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.error = function(message) {\n var defered, el;\n defered = this.q.defer();\n el = angular.element(\".lightbox-generic-error\");\n el.find(\".title\").html(message);\n el.on(\"click.confirm-dialog\", \".button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \".close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.success = function(title, message, icon) {\n var defered, detailImage, el, svgContainer, useSVG;\n defered = this.q.defer();\n el = angular.element(\".lightbox-generic-success\");\n el.find(\"img\").remove();\n el.find(\"svg\").remove();\n if (icon) {\n if (icon.type === \"img\") {\n detailImage = $('').addClass('lb-icon').attr('src', icon.name);\n } else if (icon.type === \"svg\") {\n detailImage = document.createElement(\"div\");\n taiga.addClass(detailImage, \"icon\");\n taiga.addClass(detailImage, icon.name);\n taiga.addClass(detailImage, \"lb-icon\");\n svgContainer = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n useSVG = document.createElementNS('http://www.w3.org/2000/svg', 'use');\n useSVG.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + icon.name);\n detailImage.appendChild(svgContainer).appendChild(useSVG);\n }\n if (detailImage) {\n el.find('section').prepend(detailImage);\n }\n }\n if (title) {\n el.find(\".title\").html(title);\n }\n if (message) {\n el.find(\".message\").html(message);\n }\n el.on(\"click.confirm-dialog\", \".button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \".close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.loader = function(title, message, spin) {\n var el;\n if (spin == null) {\n spin = false;\n }\n el = angular.element(\".lightbox-generic-loading\");\n if (title) {\n el.find(\".title\").html(title);\n }\n if (message) {\n el.find(\".message\").html(message);\n }\n if (spin) {\n el.find(\".spin\").removeClass(\"hidden\");\n }\n return {\n start: (function(_this) {\n return function() {\n return _this.lightboxService.open(el);\n };\n })(this),\n stop: (function(_this) {\n return function() {\n return _this.lightboxService.close(el);\n };\n })(this),\n update: (function(_this) {\n return function(status, title, message, percent) {\n if (title) {\n el.find(\".title\").html(title);\n }\n if (message) {\n el.find(\".message\").html(message);\n }\n if (percent) {\n el.find(\".spin\").addClass(\"hidden\");\n el.find(\".progress-bar-wrapper\").removeClass(\"hidden\");\n el.find(\".progress-bar-wrapper > .bar\").width(percent + '%');\n return el.find(\".progress-bar-wrapper > span\").html(percent + '%').css('left', (percent - 9) + '%');\n } else {\n el.find(\".spin\").removeClass(\"hidden\");\n return el.find(\".progress-bar-wrapper\").addClass(\"hidden\");\n }\n };\n })(this)\n };\n };\n\n ConfirmService.prototype.notify = function(type, message, title, time) {\n var body, el, selector;\n selector = \".notification-message-\" + type;\n el = angular.element(selector);\n if (el.hasClass(\"active\")) {\n return;\n }\n if (title) {\n el.find(\"h4\").html(title);\n } else {\n el.find(\"h4\").html(this.translate.instant(NOTIFICATION_MSG[type].title));\n }\n if (message) {\n el.find(\"p\").html(message);\n } else {\n el.find(\"p\").html(this.translate.instant(NOTIFICATION_MSG[type].message));\n }\n body = angular.element(\"body\");\n body.find(\".notification-message .notification-light\").removeClass('active').addClass('inactive');\n body.find(selector).removeClass('inactive').addClass('active');\n if (this.tsem) {\n cancelTimeout(this.tsem);\n }\n if (!time) {\n time = type === 'error' || type === 'light-error' ? 3500 : 1500;\n }\n this.tsem = timeout(time, (function(_this) {\n return function() {\n body.find(selector).removeClass('active').addClass('inactive').one('animationend', function() {\n return $(this).removeClass('inactive');\n });\n return delete _this.tsem;\n };\n })(this));\n return el.on(\"click\", \".icon-close, .close\", (function(_this) {\n return function(event) {\n return body.find(selector).removeClass('active').addClass('inactive');\n };\n })(this));\n };\n\n return ConfirmService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaCommon\");\n\n module.service(\"$tgConfirm\", ConfirmService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/custom-field-values.coffee\n */\n\n(function() {\n var CustomAttributeValueDirective, CustomAttributesValuesController, CustomAttributesValuesDirective, DATE_TYPE, MULTILINE_TYPE, RICHTEXT_TYPE, TEXT_TYPE, TYPE_CHOICES, URL_TYPE, bindMethods, bindOnce, debounce, generateHash, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n bindMethods = this.taiga.bindMethods;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n generateHash = taiga.generateHash;\n\n module = angular.module(\"taigaCommon\");\n\n TEXT_TYPE = \"text\";\n\n RICHTEXT_TYPE = \"url\";\n\n MULTILINE_TYPE = \"multiline\";\n\n DATE_TYPE = \"date\";\n\n URL_TYPE = \"url\";\n\n TYPE_CHOICES = [\n {\n key: TEXT_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_TEXT\"\n }, {\n key: MULTILINE_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_MULTI\"\n }, {\n key: DATE_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_DATE\"\n }, {\n key: URL_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_URL\"\n }, {\n key: RICHTEXT_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT\"\n }\n ];\n\n CustomAttributesValuesController = (function(superClass) {\n extend(CustomAttributesValuesController, superClass);\n\n CustomAttributesValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\"];\n\n function CustomAttributesValuesController(scope1, rootscope, repo, rs, confirm, q) {\n this.scope = scope1;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.q = q;\n bindMethods(this);\n this.type = null;\n this.objectId = null;\n this.projectId = null;\n this.customAttributes = [];\n this.customAttributesValues = null;\n }\n\n CustomAttributesValuesController.prototype.initialize = function(type, objectId) {\n this.project = this.scope.project;\n this.type = type;\n this.objectId = objectId;\n return this.projectId = this.scope.projectId;\n };\n\n CustomAttributesValuesController.prototype.loadCustomAttributesValues = function() {\n if (!this.objectId) {\n return this.customAttributesValues;\n }\n return this.rs.customAttributesValues[this.type].get(this.objectId).then((function(_this) {\n return function(customAttributesValues) {\n _this.customAttributes = _this.project[_this.type + \"_custom_attributes\"];\n _this.customAttributesValues = customAttributesValues;\n return customAttributesValues;\n };\n })(this));\n };\n\n CustomAttributesValuesController.prototype.getAttributeValue = function(attribute) {\n var attributeValue;\n attributeValue = _.clone(attribute, false);\n attributeValue.value = this.customAttributesValues.attributes_values[attribute.id];\n return attributeValue;\n };\n\n CustomAttributesValuesController.prototype.updateAttributeValue = function(attributeValue) {\n var attributesValues, onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"custom-attributes-values:edit\");\n };\n })(this);\n onError = (function(_this) {\n return function(response) {\n _this.confirm.notify(\"error\");\n return _this.q.reject();\n };\n })(this);\n attributesValues = _.clone(this.customAttributesValues.attributes_values, true);\n attributesValues[attributeValue.id] = attributeValue.value;\n this.customAttributesValues.attributes_values = attributesValues;\n this.customAttributesValues.id = this.objectId;\n return this.repo.save(this.customAttributesValues).then(onSuccess, onError);\n };\n\n return CustomAttributesValuesController;\n\n })(taiga.Controller);\n\n CustomAttributesValuesDirective = function($templates, $storage) {\n var collapsedHash, link, template, templateFn;\n template = $templates.get(\"custom-attributes/custom-attributes-values.html\", true);\n collapsedHash = function(type) {\n return generateHash([\"custom-attributes-collapsed\", type]);\n };\n link = function($scope, $el, $attrs, $ctrls) {\n var $ctrl, $model, hash;\n $ctrl = $ctrls[0];\n $model = $ctrls[1];\n hash = collapsedHash($attrs.type);\n $scope.collapsed = $storage.get(hash) || false;\n bindOnce($scope, $attrs.ngModel, function(value) {\n $ctrl.initialize($attrs.type, value.id);\n return $ctrl.loadCustomAttributesValues();\n });\n $scope.toggleCollapse = function() {\n $scope.collapsed = !$scope.collapsed;\n return $storage.set(hash, $scope.collapsed);\n };\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n templateFn = function($el, $attrs) {\n return template({\n requiredEditionPerm: $attrs.requiredEditionPerm\n });\n };\n return {\n require: [\"tgCustomAttributesValues\", \"ngModel\"],\n controller: CustomAttributesValuesController,\n controllerAs: \"ctrl\",\n restrict: \"AE\",\n scope: true,\n link: link,\n template: templateFn\n };\n };\n\n module.directive(\"tgCustomAttributesValues\", [\"$tgTemplate\", \"$tgStorage\", \"$translate\", CustomAttributesValuesDirective]);\n\n CustomAttributeValueDirective = function($template, $selectedText, $compile, $translate, datePickerConfigService, wysiwygService) {\n var link, template, templateEdit;\n template = $template.get(\"custom-attributes/custom-attribute-value.html\", true);\n templateEdit = $template.get(\"custom-attributes/custom-attribute-value-edit.html\", true);\n link = function($scope, $el, $attrs, $ctrl) {\n var attributeValue, isEditable, prettyDate, render, setFocusAndSelectOnInputField, submit;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n render = function(attributeValue, edit) {\n var ctx, datePickerConfig, editable, html, scope, value;\n if (edit == null) {\n edit = false;\n }\n if (attributeValue.type === DATE_TYPE && attributeValue.value) {\n value = moment(attributeValue.value, \"YYYY-MM-DD\").format(prettyDate);\n } else {\n value = attributeValue.value;\n }\n editable = isEditable();\n ctx = {\n id: attributeValue.id,\n name: attributeValue.name,\n description: attributeValue.description,\n value: value,\n isEditable: editable,\n type: attributeValue.type\n };\n scope = $scope.$new();\n scope.attributeHtml = wysiwygService.getHTML(value);\n if (editable && (edit || !value)) {\n html = templateEdit(ctx);\n html = $compile(html)(scope);\n $el.html(html);\n if (attributeValue.type === DATE_TYPE) {\n datePickerConfig = datePickerConfigService.get();\n _.merge(datePickerConfig, {\n field: $el.find(\"input[name=value]\")[0],\n onSelect: (function(_this) {\n return function(date) {\n var selectedDate;\n return selectedDate = date;\n };\n })(this),\n onOpen: (function(_this) {\n return function() {\n if (typeof selectedDate !== \"undefined\" && selectedDate !== null) {\n return $el.picker.setDate(selectedDate);\n }\n };\n })(this)\n });\n return $el.picker = new Pikaday(datePickerConfig);\n }\n } else {\n html = template(ctx);\n html = $compile(html)(scope);\n return $el.html(html);\n }\n };\n isEditable = function() {\n var permissions, requiredEditionPerm;\n permissions = $scope.project.my_permissions;\n requiredEditionPerm = $attrs.requiredEditionPerm;\n return permissions.indexOf(requiredEditionPerm) > -1;\n };\n $scope.saveCustomRichText = (function(_this) {\n return function(markdown, callback) {\n attributeValue.value = markdown;\n return $ctrl.updateAttributeValue(attributeValue).then(function() {\n callback();\n return render(attributeValue, false);\n });\n };\n })(this);\n $scope.cancelCustomRichText = (function(_this) {\n return function() {\n render(attributeValue, false);\n return null;\n };\n })(this);\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var form, input;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n input = $el.find(\"input[name=value], textarea[name='value']\");\n attributeValue.value = input.val();\n if (attributeValue.type === DATE_TYPE) {\n if (moment(attributeValue.value, prettyDate).isValid()) {\n attributeValue.value = moment(attributeValue.value, prettyDate).format(\"YYYY-MM-DD\");\n }\n }\n return $scope.$apply(function() {\n return $ctrl.updateAttributeValue(attributeValue).then(function() {\n return render(attributeValue, false);\n });\n });\n };\n })(this));\n setFocusAndSelectOnInputField = function() {\n return $el.find(\"input[name='value'], textarea[name='value']\").focus().select();\n };\n attributeValue = $scope.$eval($attrs.tgCustomAttributeValue);\n if (attributeValue.value === null || attributeValue.value === void 0) {\n attributeValue.value = \"\";\n }\n $scope.customAttributeValue = attributeValue;\n render(attributeValue);\n $el.on(\"click\", \".js-value-view-mode span a\", function(event) {\n return event.stopPropagation();\n });\n $el.on(\"click\", \".js-value-view-mode\", function() {\n if (!isEditable()) {\n return;\n }\n if ($selectedText.get().length) {\n return;\n }\n render(attributeValue, true);\n return setFocusAndSelectOnInputField();\n });\n $el.on(\"click\", \".js-edit-description\", function(event) {\n event.preventDefault();\n render(attributeValue, true);\n return setFocusAndSelectOnInputField();\n });\n $el.on(\"keyup\", \"input[name=value], textarea[name='value']\", function(event) {\n if (event.keyCode === 13 && event.currentTarget.type !== \"textarea\") {\n return submit(event);\n } else if (event.keyCode === 27) {\n return render(attributeValue, false);\n }\n });\n $el.on(\"submit\", \"form\", submit);\n $el.on(\"click\", \".js-save-description\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"^tgCustomAttributesValues\",\n restrict: \"AE\"\n };\n };\n\n module.directive(\"tgCustomAttributeValue\", [\"$tgTemplate\", \"$selectedText\", \"$compile\", \"$translate\", \"tgDatePickerConfigService\", \"tgWysiwygService\", CustomAttributeValueDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/analytics.coffee\n */\n\n(function() {\n var EmojisService, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n EmojisService = (function(superClass) {\n extend(EmojisService, superClass);\n\n EmojisService.$inject = [];\n\n function EmojisService() {\n this.replaceEmojiNameByHtmlImgs = bind(this.replaceEmojiNameByHtmlImgs, this);\n this.replaceEmojiNameByImgs = bind(this.replaceEmojiNameByImgs, this);\n this.replaceImgsByEmojiName = bind(this.replaceImgsByEmojiName, this);\n this.getEmojiByName = bind(this.getEmojiByName, this);\n this.getEmojiById = bind(this.getEmojiById, this);\n this.searchByName = bind(this.searchByName, this);\n this.emojis = _.map(taiga.emojis, function(it) {\n it.image = (\"/\" + window._version + \"/emojis/\") + it.image;\n return it;\n });\n this.emojisById = _.keyBy(this.emojis, 'id');\n this.emojisByName = _.keyBy(this.emojis, 'name');\n }\n\n EmojisService.prototype.searchByName = function(name) {\n return _.filter(this.emojis, function(it) {\n return it.name.indexOf(name) !== -1;\n });\n };\n\n EmojisService.prototype.getEmojiById = function(id) {\n return this.emojisById[id];\n };\n\n EmojisService.prototype.getEmojiByName = function(name) {\n return this.emojisByName[name];\n };\n\n EmojisService.prototype.replaceImgsByEmojiName = function(html) {\n var emoji, emojiId, emojiIds, i, len, regexImgs;\n emojiIds = taiga.getMatches(html, /emojis\\/([^\"]+).png\"/gi);\n for (i = 0, len = emojiIds.length; i < len; i++) {\n emojiId = emojiIds[i];\n regexImgs = new RegExp(']+\\>', 'g');\n emoji = this.getEmojiById(emojiId);\n html = html.replace(regexImgs, ':' + emoji.name + ':');\n }\n return html;\n };\n\n EmojisService.prototype.replaceEmojiNameByImgs = function(text) {\n var emoji, emojiId, emojiIds, i, len, regexImgs;\n emojiIds = taiga.getMatches(text, /:([\\w +-]*):/g);\n for (i = 0, len = emojiIds.length; i < len; i++) {\n emojiId = emojiIds[i];\n regexImgs = new RegExp(':' + emojiId + ':', 'g');\n emoji = this.getEmojiByName(emojiId);\n if (emoji) {\n text = text.replace(regexImgs, '![alt](' + emoji.image + ')');\n }\n }\n return text;\n };\n\n EmojisService.prototype.replaceEmojiNameByHtmlImgs = function(text) {\n var emoji, emojiId, emojiIds, i, len, regexImgs;\n emojiIds = taiga.getMatches(text, /:([\\w +-]*):/g);\n for (i = 0, len = emojiIds.length; i < len; i++) {\n emojiId = emojiIds[i];\n regexImgs = new RegExp(':' + _.escapeRegExp(emojiId) + ':', 'g');\n emoji = this.getEmojiByName(emojiId);\n if (emoji) {\n text = text.replace(regexImgs, '');\n }\n }\n return text;\n };\n\n return EmojisService;\n\n })(taiga.Service);\n\n module.service(\"$tgEmojis\", EmojisService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/estimation.coffee\n */\n\n(function() {\n var EstimationsService, LbUsEstimationDirective, UsEstimationDirective, groupBy, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaCommon\");\n\n LbUsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $template, $compile) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n $scope.$watch($attrs.ngModel, function(us) {\n var estimationProcess;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId, points) {\n us.points = points;\n estimationProcess.render();\n return $scope.$apply(function() {\n return $model.$setViewValue(us);\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable,\n loading: false\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n html = $compile(html)($scope);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgLbUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgTemplate\", \"$compile\", LbUsEstimationDirective]);\n\n UsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $template, $compile, $modelTransform, $confirm) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var save;\n save = function(points) {\n var onError, transform;\n transform = $modelTransform.save((function(_this) {\n return function(us) {\n us.points = points;\n return us;\n };\n })(this));\n onError = (function(_this) {\n return function() {\n return $confirm.notify(\"error\");\n };\n })(this);\n return transform.then(null, onError);\n };\n $scope.$watchCollection(function() {\n return $model.$modelValue && $model.$modelValue.points;\n }, function() {\n var estimationProcess, us;\n us = $model.$modelValue;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId, points) {\n estimationProcess.loading = roleId;\n estimationProcess.render();\n return save(points).then(function() {\n estimationProcess.loading = false;\n $rootScope.$broadcast(\"object:updated\");\n return estimationProcess.render();\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable,\n loading: estimationProcess.loading\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n html = $compile(html)($scope);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgTemplate\", \"$compile\", \"$tgQueueModelTransformation\", \"$tgConfirm\", UsEstimationDirective]);\n\n EstimationsService = function($template, $repo, $confirm, $q, $qqueue) {\n var EstimationProcess, create, pointsTemplate;\n pointsTemplate = $template.get(\"common/estimation/us-estimation-points.html\", true);\n EstimationProcess = (function() {\n function EstimationProcess($el1, us1, project1) {\n this.$el = $el1;\n this.us = us1;\n this.project = project1;\n this.bindClickEvents = bind(this.bindClickEvents, this);\n this.isEditable = this.project.my_permissions.indexOf(\"modify_us\") !== -1;\n this.roles = this.project.roles;\n this.points = this.project.points;\n this.loading = false;\n this.pointsById = groupBy(this.points, function(x) {\n return x.id;\n });\n this.onSelectedPointForRole = function(roleId, pointId) {};\n this.render = function() {};\n }\n\n EstimationProcess.prototype.save = function(roleId, pointId) {\n var deferred;\n deferred = $q.defer();\n $qqueue.add((function(_this) {\n return function() {\n var onError, onSuccess;\n onSuccess = function() {\n deferred.resolve();\n return _this.render();\n };\n onError = function() {\n $confirm.notify(\"error\");\n _this.us.revert();\n _this.render();\n return deferred.reject();\n };\n return $repo.save(_this.us).then(onSuccess, onError);\n };\n })(this));\n return deferred.promise;\n };\n\n EstimationProcess.prototype.calculateTotalPoints = function() {\n var notNullValues, values;\n values = _.map(this.us.points, (function(_this) {\n return function(v, k) {\n var ref;\n return (ref = _this.pointsById[v]) != null ? ref.value : void 0;\n };\n })(this));\n if (values.length === 0) {\n return \"?\";\n }\n notNullValues = _.filter(values, function(v) {\n return v != null;\n });\n if (notNullValues.length === 0) {\n return \"?\";\n }\n return _.reduce(notNullValues, function(acc, num) {\n return acc + num;\n });\n };\n\n EstimationProcess.prototype.calculateRoles = function() {\n var computableRoles, roles;\n computableRoles = _.filter(this.project.roles, \"computable\");\n roles = _.map(computableRoles, (function(_this) {\n return function(role) {\n var pointId, pointObj;\n pointId = _this.us.points[role.id];\n pointObj = _this.pointsById[pointId];\n role = _.clone(role, true);\n role.points = (pointObj != null) && (pointObj.name != null) ? pointObj.name : \"?\";\n return role;\n };\n })(this));\n return roles;\n };\n\n EstimationProcess.prototype.bindClickEvents = function() {\n this.$el.on(\"click\", \".total.clickable\", (function(_this) {\n return function(event) {\n var roleId, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n roleId = target.data(\"role-id\");\n _this.renderPointsSelector(roleId, target);\n target.siblings().removeClass('active');\n return target.addClass('active');\n };\n })(this));\n return this.$el.on(\"click\", \".point\", (function(_this) {\n return function(event) {\n var pointId, points, roleId, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n roleId = target.data(\"role-id\");\n pointId = target.data(\"point-id\");\n _this.$el.find(\".popover\").popover().close();\n points = _.clone(_this.us.points, true);\n points[roleId] = pointId;\n return _this.onSelectedPointForRole(roleId, pointId, points);\n };\n })(this));\n };\n\n EstimationProcess.prototype.renderPointsSelector = function(roleId, target) {\n var horizontalList, html, maxPointLength, points, pop;\n points = _.map(this.points, (function(_this) {\n return function(point) {\n point = _.clone(point, true);\n point.selected = _this.us.points[roleId] === point.id ? false : true;\n return point;\n };\n })(this));\n maxPointLength = 5;\n horizontalList = _.some(points, (function(_this) {\n return function(point) {\n return point.name.length > maxPointLength;\n };\n })(this));\n html = pointsTemplate({\n \"points\": points,\n roleId: roleId,\n horizontal: horizontalList\n });\n this.$el.find(\".popover\").popover().close();\n this.$el.find(\".pop-points-open\").remove();\n if (target != null) {\n this.$el.find(target).append(html);\n } else {\n this.$el.append(html);\n }\n this.$el.find(\".pop-points-open\").popover().open(function() {\n return $(this).removeClass(\"active\").closest(\"li\").removeClass(\"active\");\n });\n this.$el.find(\".pop-points-open\").show();\n pop = this.$el.find(\".pop-points-open\");\n if (pop.offset().top + pop.height() > document.body.clientHeight) {\n return pop.addClass('pop-bottom');\n }\n };\n\n return EstimationProcess;\n\n })();\n create = function($el, us, project) {\n var estimationProcess;\n $el.unbind(\"click\");\n estimationProcess = new EstimationProcess($el, us, project);\n if (estimationProcess.isEditable) {\n estimationProcess.bindClickEvents();\n }\n return estimationProcess;\n };\n return {\n create: create\n };\n };\n\n module.factory(\"$tgEstimationsService\", [\"$tgTemplate\", \"$tgRepo\", \"$tgConfirm\", \"$q\", \"$tgQqueue\", EstimationsService]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/filters.coffee\n */\n\n(function() {\n var byRefFilter, darkerFilter, defaultFilter, emojify, inArray, markdownToHTML, module, momentFormat, momentFromNow, sizeFormat, taiga, toMutableFilter, unslugify, yesNoFilter;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n defaultFilter = function() {\n return function(value, defaultValue) {\n if (value === [null, void 0]) {\n return defaultValue;\n }\n return value;\n };\n };\n\n module.filter(\"default\", defaultFilter);\n\n yesNoFilter = function($translate) {\n return function(value) {\n if (value) {\n return $translate.instant(\"COMMON.YES\");\n }\n return $translate.instant(\"COMMON.NO\");\n };\n };\n\n module.filter(\"yesNo\", [\"$translate\", yesNoFilter]);\n\n unslugify = function() {\n return taiga.unslugify;\n };\n\n module.filter(\"unslugify\", unslugify);\n\n momentFormat = function() {\n return function(input, format) {\n if (input) {\n return moment(input).format(format);\n }\n return \"\";\n };\n };\n\n module.filter(\"momentFormat\", momentFormat);\n\n momentFromNow = function() {\n return function(input, without_suffix) {\n if (input) {\n return moment(input).fromNow(without_suffix || false);\n }\n return \"\";\n };\n };\n\n module.filter(\"momentFromNow\", momentFromNow);\n\n sizeFormat = (function(_this) {\n return function() {\n return _this.taiga.sizeFormat;\n };\n })(this);\n\n module.filter(\"sizeFormat\", sizeFormat);\n\n toMutableFilter = function() {\n var memoizedMutable, toMutable;\n toMutable = function(js) {\n return js.toJS();\n };\n memoizedMutable = _.memoize(toMutable);\n return function(input) {\n if (input instanceof Immutable.List) {\n return memoizedMutable(input);\n }\n return input;\n };\n };\n\n module.filter(\"toMutable\", toMutableFilter);\n\n byRefFilter = function($filterFilter) {\n return function(userstories, filter) {\n var cleanRef;\n if (filter != null ? filter.startsWith(\"#\") : void 0) {\n cleanRef = filter.substr(1);\n return _.filter(userstories, (function(_this) {\n return function(us) {\n return String(us.ref).startsWith(cleanRef);\n };\n })(this));\n }\n return $filterFilter(userstories, filter);\n };\n };\n\n module.filter(\"byRef\", [\"filterFilter\", byRefFilter]);\n\n darkerFilter = function() {\n return function(color, luminosity) {\n var black, c, i, j, len, newColor, ref, white;\n color = new String(color).replace(/[^0-9a-f]/gi, '');\n if (color.length < 6) {\n color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];\n }\n luminosity = luminosity || 0;\n newColor = \"#\";\n c = 0;\n i = 0;\n black = 0;\n white = 255;\n ref = [0, 1, 2];\n for (j = 0, len = ref.length; j < len; j++) {\n i = ref[j];\n c = parseInt(color.substr(i * 2, 2), 16);\n c = Math.round(Math.min(Math.max(black, c + (luminosity * white)), white)).toString(16);\n newColor += (\"00\" + c).substr(c.length);\n }\n return newColor;\n };\n };\n\n module.filter(\"darker\", darkerFilter);\n\n markdownToHTML = function(wysiwigService) {\n return function(input) {\n if (input) {\n return wysiwigService.getHTML(input);\n }\n return \"\";\n };\n };\n\n module.filter(\"markdownToHTML\", [\"tgWysiwygService\", markdownToHTML]);\n\n inArray = function($filter) {\n return function(list, arrayFilter, element) {\n var filter;\n if (arrayFilter) {\n filter = $filter(\"filter\");\n return filter(list, function(listItem) {\n return arrayFilter.indexOf(listItem[element]) !== -1;\n });\n }\n };\n };\n\n module.filter(\"inArray\", [\"$filter\", inArray]);\n\n emojify = function($emojis) {\n return function(input) {\n if (input) {\n return $emojis.replaceEmojiNameByHtmlImgs(_.escape(input));\n }\n return \"\";\n };\n };\n\n module.filter(\"emojify\", [\"$tgEmojis\", emojify]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/lightboxes.coffee\n */\n\n(function() {\n var AssignedToLightboxDirective, AssignedUsersLightboxDirective, BlockLightboxDirective, BlockingMessageInputDirective, CreateBulkUserstoriesDirective, CreateEditDirective, LightboxDirective, LightboxKeyboardNavigationService, LightboxLeaveProjectWarningDirective, LightboxService, RelateToEpicLightboxDirective, SetDueDateDirective, WatchersLightboxDirective, bindOnce, debounce, debounceLeading, groupBy, module, normalizeString, sizeFormat, timeout, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n module = angular.module(\"taigaCommon\");\n\n bindOnce = this.taiga.bindOnce;\n\n timeout = this.taiga.timeout;\n\n debounce = this.taiga.debounce;\n\n sizeFormat = this.taiga.sizeFormat;\n\n trim = this.taiga.trim;\n\n normalizeString = this.taiga.normalizeString;\n\n LightboxService = (function(superClass) {\n extend(LightboxService, superClass);\n\n function LightboxService(animationFrame, q, rootScope) {\n this.animationFrame = animationFrame;\n this.q = q;\n this.rootScope = rootScope;\n }\n\n LightboxService.prototype.open = function($el, onClose, onEsc, ignoreEsc) {\n var defered, docEl, lightboxContent;\n this.onClose = onClose;\n if (_.isString($el)) {\n $el = $($el);\n }\n defered = this.q.defer();\n lightboxContent = $el.children().not(\".close\");\n lightboxContent.hide();\n this.animationFrame.add(function() {\n return $el.css('display', 'flex');\n });\n this.animationFrame.add(function() {\n $el.addClass(\"open\");\n return $el.one(\"transitionend\", (function(_this) {\n return function() {\n var firstField;\n firstField = $el.find('input:not(.no-focus),textarea:not(.no-focus)').first();\n if (firstField.length) {\n return firstField.focus();\n } else if (document.activeElement) {\n return $(document.activeElement).blur();\n }\n };\n })(this));\n });\n this.animationFrame.add((function(_this) {\n return function() {\n lightboxContent.show();\n return defered.resolve();\n };\n })(this));\n if (!ignoreEsc) {\n docEl = angular.element(document);\n docEl.on(\"keydown.lightbox\", (function(_this) {\n return function(e) {\n var code;\n code = e.keyCode ? e.keyCode : e.which;\n if (code === 27) {\n if (onEsc) {\n return _this.rootScope.$applyAsync(onEsc);\n } else {\n return _this.close($el);\n }\n }\n };\n })(this));\n }\n return defered.promise;\n };\n\n LightboxService.prototype.close = function($el) {\n return new Promise((function(_this) {\n return function(resolve) {\n var docEl, scope;\n if (_.isString($el)) {\n $el = $($el);\n }\n docEl = angular.element(document);\n docEl.off(\".lightbox\");\n docEl.off(\".keyboard-navigation\");\n $el.addClass('close-started');\n _this.animationFrame.add(function() {\n $el.addClass('close');\n return $el.one(\"transitionend\", function() {\n $el.removeAttr('style');\n $el.removeClass(\"open\").removeClass('close').removeClass('close-started');\n if (_this.onClose) {\n _this.rootScope.$apply(_this.onClose);\n }\n return resolve();\n });\n });\n if ($el.hasClass(\"remove-on-close\")) {\n scope = $el.data(\"scope\");\n if (scope) {\n scope.$destroy();\n }\n return $el.remove();\n }\n };\n })(this));\n };\n\n LightboxService.prototype.getLightboxOpen = function() {\n return $(\".lightbox.open:not(.close-started)\");\n };\n\n LightboxService.prototype.closeAll = function() {\n var docEl, i, len, lightboxEl, ref, results;\n docEl = angular.element(document);\n ref = docEl.find(\".lightbox.open\");\n results = [];\n for (i = 0, len = ref.length; i < len; i++) {\n lightboxEl = ref[i];\n results.push(this.close($(lightboxEl)));\n }\n return results;\n };\n\n return LightboxService;\n\n })(taiga.Service);\n\n module.service(\"lightboxService\", [\"animationFrame\", \"$q\", \"$rootScope\", LightboxService]);\n\n LightboxKeyboardNavigationService = (function(superClass) {\n extend(LightboxKeyboardNavigationService, superClass);\n\n function LightboxKeyboardNavigationService() {\n return LightboxKeyboardNavigationService.__super__.constructor.apply(this, arguments);\n }\n\n LightboxKeyboardNavigationService.prototype.stop = function() {\n var docEl;\n docEl = angular.element(document);\n return docEl.off(\".keyboard-navigation\");\n };\n\n LightboxKeyboardNavigationService.prototype.dispatch = function($el, code) {\n var activeElement, next, prev;\n activeElement = $el.find(\".selected\");\n if (code === 13) {\n if ($el.find(\".user-list-single\").length === 1) {\n return $el.find('.user-list-single:first').trigger(\"click\");\n } else {\n return activeElement.trigger(\"click\");\n }\n } else if (code === 40) {\n if (!activeElement.length) {\n return $el.find('.user-list-single:not(\".is-active\"):first').addClass('selected');\n } else {\n next = activeElement.next('.user-list-single');\n if (next.length) {\n activeElement.removeClass('selected');\n return next.addClass('selected');\n }\n }\n } else if (code === 38) {\n if (!activeElement.length) {\n return $el.find('.user-list-single:last').addClass('selected');\n } else {\n prev = activeElement.prev('.user-list-single:not(\".is-active\")');\n if (prev.length) {\n activeElement.removeClass('selected');\n return prev.addClass('selected');\n }\n }\n }\n };\n\n LightboxKeyboardNavigationService.prototype.init = function($el) {\n var docEl;\n this.stop();\n docEl = angular.element(document);\n return docEl.on(\"keydown.keyboard-navigation\", (function(_this) {\n return function(event) {\n var code;\n code = event.keyCode ? event.keyCode : event.which;\n if (code === 40 || code === 38 || code === 13) {\n event.preventDefault();\n return _this.dispatch($el, code);\n }\n };\n })(this));\n };\n\n return LightboxKeyboardNavigationService;\n\n })(taiga.Service);\n\n module.service(\"lightboxKeyboardNavigationService\", LightboxKeyboardNavigationService);\n\n LightboxDirective = function(lightboxService) {\n var link;\n link = function($scope, $el, $attrs) {\n if (!$attrs.$attr.visible) {\n return $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n }\n };\n return {\n restrict: \"C\",\n link: link\n };\n };\n\n module.directive(\"lightbox\", [\"lightboxService\", LightboxDirective]);\n\n BlockLightboxDirective = function($rootscope, $tgrepo, $confirm, lightboxService, $loading, $modelTransform, $translate) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var block, title, unblock;\n title = $translate.instant($attrs.title);\n $el.find(\"h2.title\").text(title);\n unblock = (function(_this) {\n return function(finishCallback) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.is_blocked = false;\n item.blocked_note = \"\";\n return item;\n });\n transform.then(function() {\n $confirm.notify(\"success\");\n $rootscope.$broadcast(\"object:updated\");\n return finishCallback();\n });\n transform.then(null, function() {\n $confirm.notify(\"error\");\n return item.revert();\n });\n transform[\"finally\"](function() {\n return finishCallback();\n });\n return transform;\n };\n })(this);\n block = function() {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find(\".button-green\")).start();\n transform = $modelTransform.save(function(item) {\n item.is_blocked = true;\n item.blocked_note = $el.find(\".reason\").val();\n return item;\n });\n transform.then(function() {\n $confirm.notify(\"success\");\n return $rootscope.$broadcast(\"object:updated\");\n });\n transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return transform[\"finally\"](function() {\n currentLoading.finish();\n return lightboxService.close($el);\n });\n };\n $scope.$on(\"block\", function() {\n $el.find(\".reason\").val($model.$modelValue.blocked_note);\n return lightboxService.open($el);\n });\n $scope.$on(\"unblock\", (function(_this) {\n return function(event, model, finishCallback) {\n return unblock(finishCallback);\n };\n })(this));\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return $el.on(\"click\", \".button-green\", function(event) {\n event.preventDefault();\n return block();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-block.html\",\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgLbBlock\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"lightboxService\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$translate\", BlockLightboxDirective]);\n\n BlockingMessageInputDirective = function($log, $template, $compile) {\n var link, template, templateFn;\n template = $template.get(\"common/lightbox/lightbox-blocking-message-input.html\", true);\n link = function($scope, $el, $attrs, $model) {\n if (!$attrs.watch) {\n return $log.error(\"No watch attribute on tg-blocking-message-input directive\");\n }\n return $scope.$watch($attrs.watch, function(value) {\n if (value === !void 0 && value === true) {\n return $el.find(\".blocked-note\").removeClass(\"hidden\");\n } else {\n return $el.find(\".blocked-note\").addClass(\"hidden\");\n }\n });\n };\n templateFn = function($el, $attrs) {\n return template({\n ngmodel: $attrs.ngModel\n });\n };\n return {\n template: templateFn,\n link: link,\n require: \"ngModel\",\n restrict: \"EA\"\n };\n };\n\n module.directive(\"tgBlockingMessageInput\", [\"$log\", \"$tgTemplate\", \"$compile\", BlockingMessageInputDirective]);\n\n CreateBulkUserstoriesDirective = function($repo, $rs, $rootscope, lightboxService, $loading, $model) {\n var link;\n link = function($scope, $el, attrs) {\n var form, submit, submitButton;\n form = null;\n $scope.$on(\"usform:bulk\", function(ctx, projectId, status) {\n if (form) {\n form.reset();\n }\n $scope[\"new\"] = {\n projectId: projectId,\n statusId: status,\n bulk: \"\"\n };\n return lightboxService.open($el);\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n form = $el.find(\"form\").checksley({\n onlyOneErrorElement: true\n });\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $rs.userstories.bulkCreate($scope[\"new\"].projectId, $scope[\"new\"].statusId, $scope[\"new\"].bulk);\n promise.then(function(result) {\n result = _.map(result.data, (function(_this) {\n return function(x) {\n return $model.make_model('userstories', x);\n };\n })(this));\n currentLoading.finish();\n $rootscope.$broadcast(\"usform:bulk:success\", result);\n return lightboxService.close($el);\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateBulkUserstories\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$tgModel\", CreateBulkUserstoriesDirective]);\n\n AssignedToLightboxDirective = function(lightboxService, lightboxKeyboardNavigationService, $template, $compile, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var closeLightbox, filterUsers, render, selectedItem, selectedUser, usersTemplate;\n selectedUser = null;\n selectedItem = null;\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true);\n filterUsers = function(text, user) {\n var username;\n username = user.full_name_display.toUpperCase();\n username = normalizeString(username);\n text = text.toUpperCase();\n text = normalizeString(text);\n return _.includes(username, text);\n };\n render = function(selected, text) {\n var ctx, html, users, visibleUsers;\n users = _.clone($scope.activeUsers, true);\n if (selected != null) {\n users = _.reject(users, {\n \"id\": selected.id\n });\n }\n users = _.sortBy(users, function(o) {\n if (o.id === $scope.user.id) {\n return 0;\n } else {\n return o.id;\n }\n });\n if (text != null) {\n users = _.filter(users, _.partial(filterUsers, text));\n }\n visibleUsers = _.slice(users, 0, 5);\n visibleUsers = _.map(visibleUsers, function(user) {\n return user.avatar = avatarService.getAvatar(user);\n });\n if (selected) {\n if (selected) {\n selected.avatar = avatarService.getAvatar(selected);\n }\n }\n ctx = {\n selected: selected,\n users: _.slice(users, 0, 5),\n showMore: users.length > 5\n };\n html = usersTemplate(ctx);\n html = $compile(html)($scope);\n return $el.find(\".assigned-to-list\").html(html);\n };\n closeLightbox = function() {\n lightboxKeyboardNavigationService.stop();\n return lightboxService.close($el);\n };\n $scope.$on(\"assigned-to:add\", function(ctx, item) {\n var assignedToId;\n selectedItem = item;\n assignedToId = item.assigned_to;\n selectedUser = $scope.usersById[assignedToId];\n render(selectedUser);\n return lightboxService.open($el).then(function() {\n $el.find('input').focus();\n return lightboxKeyboardNavigationService.init($el);\n });\n });\n $scope.$watch(\"usersSearch\", function(searchingText) {\n if (searchingText != null) {\n render(selectedUser, searchingText);\n return $el.find('input').focus();\n }\n });\n $el.on(\"click\", \".user-list-single\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n closeLightbox();\n return $scope.$apply(function() {\n $scope.$broadcast(\"assigned-to:added\", target.data(\"user-id\"), selectedItem);\n return $scope.usersSearch = null;\n });\n });\n $el.on(\"click\", \".remove-assigned-to\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n closeLightbox();\n return $scope.$apply(function() {\n $scope.usersSearch = null;\n return $scope.$broadcast(\"assigned-to:added\", null, selectedItem);\n });\n });\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n closeLightbox();\n return $scope.$apply(function() {\n return $scope.usersSearch = null;\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-assigned-to.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbAssignedto\", [\"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", \"tgAvatarService\", AssignedToLightboxDirective]);\n\n AssignedUsersLightboxDirective = function($repo, lightboxService, lightboxKeyboardNavigationService, $template, $compile, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var closeLightbox, filterUsers, render, selectedItem, selectedUsers, usersTemplate;\n selectedUsers = [];\n selectedItem = null;\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-users-users.html\", true);\n filterUsers = function(text, user) {\n var username;\n username = user.full_name_display.toUpperCase();\n username = normalizeString(username);\n text = text.toUpperCase();\n text = normalizeString(text);\n return _.includes(username, text);\n };\n render = function(assignedUsersIds, text) {\n var ctx, html, selected, users, visible;\n users = _.clone($scope.activeUsers, true);\n users = _.sortBy(users, function(o) {\n if (o.id === $scope.user.id) {\n return 0;\n } else {\n return o.id;\n }\n });\n if (text != null) {\n users = _.filter(users, _.partial(filterUsers, text));\n }\n selected = [];\n _.map(users, function(user) {\n var ref;\n if (ref = user.id, indexOf.call(assignedUsersIds, ref) >= 0) {\n user.avatar = avatarService.getAvatar(user);\n return selected.push(user);\n }\n });\n visible = [];\n _.map(users, function(user) {\n var ref;\n if (ref = user.id, indexOf.call(assignedUsersIds, ref) < 0) {\n user.avatar = avatarService.getAvatar(user);\n return visible.push(user);\n }\n });\n ctx = {\n selected: selected,\n users: _.slice(visible, 0, 5),\n showMore: users.length > 5\n };\n html = usersTemplate(ctx);\n html = $compile(html)($scope);\n return $el.find(\".assigned-to-list\").html(html);\n };\n closeLightbox = function() {\n lightboxKeyboardNavigationService.stop();\n return lightboxService.close($el);\n };\n $scope.$on(\"assigned-user:add\", function(ctx, item) {\n selectedItem = item;\n selectedUsers = item.assigned_users;\n render(selectedUsers);\n return lightboxService.open($el).then(function() {\n $el.find(\"input\").focus();\n return lightboxKeyboardNavigationService.init($el);\n });\n });\n $scope.$watch(\"usersSearch\", function(searchingText) {\n if (searchingText != null) {\n render(selectedUsers, searchingText);\n return $el.find('input').focus();\n }\n });\n $el.on(\"click\", \".user-list-single\", debounce(200, function(event) {\n var target;\n closeLightbox();\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return $scope.$apply(function() {\n $scope.usersSearch = null;\n return $scope.$broadcast(\"assigned-user:added\", target.data(\"user-id\"), selectedItem);\n });\n }));\n $el.on(\"click\", \".remove-assigned-to\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n event.stopPropagation();\n $scope.$apply(function() {\n $scope.usersSearch = null;\n return $scope.$broadcast(\"assigned-user:deleted\", target.data(\"user-id\"), selectedItem);\n });\n return closeLightbox();\n });\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n return closeLightbox();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-assigned-users.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbAssignedUsers\", [\"$tgRepo\", \"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", \"tgAvatarService\", AssignedUsersLightboxDirective]);\n\n WatchersLightboxDirective = function($repo, lightboxService, lightboxKeyboardNavigationService, $template, $compile, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var closeLightbox, getFilteredUsers, render, selectedItem, usersTemplate;\n selectedItem = null;\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true);\n getFilteredUsers = function(text) {\n var _filterUsers, users;\n if (text == null) {\n text = \"\";\n }\n _filterUsers = function(text, user) {\n var username;\n if (selectedItem && _.find(selectedItem.watchers, function(x) {\n return x === user.id;\n })) {\n return false;\n }\n username = user.full_name_display.toUpperCase();\n text = text.toUpperCase();\n return _.includes(username, text);\n };\n users = _.clone($scope.activeUsers, true);\n users = _.filter(users, _.partial(_filterUsers, text));\n return users;\n };\n render = function(users) {\n var ctx, html, visibleUsers;\n visibleUsers = _.slice(users, 0, 5);\n visibleUsers = _.map(visibleUsers, function(user) {\n user.avatar = avatarService.getAvatar(user);\n return user;\n });\n ctx = {\n selected: false,\n users: visibleUsers,\n showMore: users.length > 5\n };\n html = usersTemplate(ctx);\n html = $compile(html)($scope);\n return $el.find(\".ticket-watchers\").html(html);\n };\n closeLightbox = function() {\n lightboxKeyboardNavigationService.stop();\n return lightboxService.close($el);\n };\n $scope.$on(\"watcher:add\", function(ctx, item) {\n var users;\n selectedItem = item;\n users = getFilteredUsers();\n render(users);\n return lightboxService.open($el).then(function() {\n $el.find(\"input\").focus();\n return lightboxKeyboardNavigationService.init($el);\n });\n });\n $scope.$watch(\"usersSearch\", function(searchingText) {\n var users;\n if (searchingText == null) {\n return;\n }\n users = getFilteredUsers(searchingText);\n render(users);\n return $el.find(\"input\").focus();\n });\n $el.on(\"click\", \".user-list-single\", debounce(200, function(event) {\n var target;\n closeLightbox();\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return $scope.$apply(function() {\n $scope.usersSearch = null;\n return $scope.$broadcast(\"watcher:added\", target.data(\"user-id\"));\n });\n }));\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n closeLightbox();\n return $scope.$apply(function() {\n return $scope.usersSearch = null;\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-users.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbWatchers\", [\"$tgRepo\", \"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", \"tgAvatarService\", WatchersLightboxDirective]);\n\n LightboxLeaveProjectWarningDirective = function(lightboxService, $template, $compile) {\n var link;\n link = function($scope, $el, attrs) {\n return lightboxService.open($el);\n };\n return {\n templateUrl: 'common/lightbox/lightbox-leave-project-warning.html',\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgLightboxLeaveProjectWarning\", [\"lightboxService\", LightboxLeaveProjectWarningDirective]);\n\n SetDueDateDirective = function($rootscope, lightboxService, $loading, $translate, $confirm, $modelTransform) {\n var link;\n link = function($scope, $el, attrs) {\n var prettyDate, remove, save;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n lightboxService.open($el);\n if ($scope.object.due_date) {\n $scope.new_due_date = moment($scope.object.due_date).format(prettyDate);\n }\n $el.on(\"click\", \".suggestion\", function(event) {\n var quantity, target, unit, value;\n target = angular.element(event.currentTarget);\n quantity = target.data('quantity');\n unit = target.data('unit');\n value = moment().add(quantity, unit).format(prettyDate);\n return $el.find(\".due-date\").val(value);\n });\n save = function() {\n var currentLoading, new_due_date, transform;\n currentLoading = $loading().target($el.find(\".submit-button\")).start();\n if ($scope.notAutoSave) {\n new_due_date = $('.due-date').val();\n $scope.object.due_date = new_due_date ? moment(new_due_date, prettyDate).format(\"YYYY-MM-DD\") : null;\n $scope.$apply();\n currentLoading.finish();\n lightboxService.close($el);\n return;\n }\n transform = $modelTransform.save(function(object) {\n new_due_date = $('.due-date').val();\n object.due_date = new_due_date ? moment(new_due_date, prettyDate).format(\"YYYY-MM-DD\") : null;\n return object;\n });\n transform.then(function() {\n return $confirm.notify(\"success\");\n });\n transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return transform[\"finally\"](function() {\n currentLoading.finish();\n lightboxService.close($el);\n return $rootscope.$broadcast(\"object:updated\");\n });\n };\n $el.on(\"click\", \".submit-button\", function(event) {\n event.preventDefault();\n return save();\n });\n remove = function() {\n var message, subtitle, title;\n title = $translate.instant(\"LIGHTBOX.DELETE_DUE_DATE.TITLE\");\n subtitle = $translate.instant(\"LIGHTBOX.DELETE_DUE_DATE.SUBTITLE\");\n message = moment($scope.object.due_date).format(prettyDate);\n return $confirm.askOnDelete(title, message, subtitle).then(function(askResponse) {\n askResponse.finish();\n $('.due-date').val(null);\n $scope.object.due_date_reason = null;\n if ($scope.notAutoSave) {\n $scope.object.due_date = null;\n return lightboxService.close($el);\n } else {\n return save();\n }\n });\n };\n return $el.on(\"click\", \".delete-due-date\", function(event) {\n event.preventDefault();\n return remove();\n });\n };\n return {\n templateUrl: 'common/lightbox/lightbox-due-date.html',\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgLbSetDueDate\", [\"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$translate\", \"$tgConfirm\", \"$tgQueueModelTransformation\", SetDueDateDirective]);\n\n groupBy = this.taiga.groupBy;\n\n CreateEditDirective = function($log, $repo, $model, $rs, $rootScope, lightboxService, $loading, $translate, $confirm, $q, attachmentsService, $template, $compile) {\n var link;\n link = function($scope, $el, attrs) {\n var addExisting, attachmentsToAdd, attachmentsToDelete, checkClose, close, createAttachments, deleteAttachments, docEl, form, getSchema, isDisabledExisting, mount, objType, render, resetAttachments, saveItem, schema, schemas, setStatus, sprintChangeConfirmAndSave, submit;\n schema = null;\n objType = null;\n form = null;\n attachmentsToAdd = Immutable.List();\n attachmentsToDelete = Immutable.List();\n schemas = {\n us: {\n objName: 'User Story',\n model: 'userstories',\n params: {\n include_attachments: true,\n include_tasks: true\n },\n data: function(project) {\n return {\n statusList: _.sortBy(project.us_statuses, \"order\")\n };\n },\n initialData: function(data) {\n return {\n project: data.project.id,\n subject: \"\",\n description: \"\",\n tags: [],\n points: {},\n status: data.statusId ? data.statusId : data.project.default_us_status,\n is_archived: false\n };\n }\n },\n task: {\n objName: 'Task',\n model: 'tasks',\n params: {\n include_attachments: true\n },\n data: function(project) {\n return {\n statusList: _.sortBy(project.task_statuses, \"order\")\n };\n },\n initialData: function(data) {\n return {\n project: data.project.id,\n subject: \"\",\n description: \"\",\n assigned_to: null,\n tags: [],\n milestone: data.sprintId,\n status: data.project.default_task_status,\n user_story: data.usId,\n is_archived: false\n };\n }\n },\n issue: {\n objName: 'Issue',\n model: 'issues',\n params: {\n include_attachments: true\n },\n data: function(project) {\n return {\n project: project,\n statusList: _.sortBy(project.issue_statuses, \"order\"),\n typeById: groupBy(project.issue_types, function(x) {\n return x.id;\n }),\n typeList: _.sortBy(project.issue_types, \"order\"),\n severityById: groupBy(project.severities, function(x) {\n return x.id;\n }),\n severityList: _.sortBy(project.severities, \"order\"),\n priorityById: groupBy(project.priorities, function(x) {\n return x.id;\n }),\n priorityList: _.sortBy(project.priorities, \"order\"),\n milestonesById: groupBy(project.milestones, function(x) {\n return x.id;\n })\n };\n },\n initialData: function(data) {\n return {\n assigned_to: null,\n milestone: data.sprintId,\n priority: data.project.default_priority,\n project: data.project.id,\n severity: data.project.default_severity,\n status: data.project.default_issue_status,\n subject: \"\",\n tags: [],\n type: data.project.default_issue_type\n };\n }\n }\n };\n $scope.setMode = function(value) {\n return $scope.mode = value;\n };\n $scope.$on(\"genericform:new\", function(ctx, params) {\n getSchema(params);\n $scope.mode = 'new';\n $scope.getOrCreate = false;\n return mount(params);\n });\n $scope.$on(\"genericform:new-or-existing\", function(ctx, params) {\n getSchema(params);\n $scope.mode = 'add-existing';\n $scope.getOrCreate = true;\n $scope.existingFilterText = '';\n $rs[schema.model].listInAllProjects({\n project: $scope.project.id\n }, true).then(function(data) {\n return $scope.existingItems = angular.copy(data);\n });\n return mount(params);\n });\n $scope.$on(\"genericform:edit\", function(ctx, params) {\n getSchema(params);\n $scope.mode = 'edit';\n $scope.getOrCreate = false;\n return mount(params);\n });\n getSchema = function(params) {\n _.map(params, function(value, key) {\n return $scope[key] = value;\n });\n if (!$scope.objType || !schemas[$scope.objType]) {\n return $log.error(\"Invalid objType `\" + $scope.objType + \"` for `genericform` event\");\n }\n return schema = schemas[$scope.objType];\n };\n mount = function(params) {\n $scope.objName = schema.objName;\n if ($scope.mode === 'edit') {\n $scope.obj = params.obj;\n $scope.attachments = Immutable.fromJS(params.attachments);\n } else {\n $scope.obj = $model.make_model(schema.model, schema.initialData(params));\n $scope.attachments = Immutable.List();\n }\n _.map(schema.data($scope.project), function(value, key) {\n return $scope[key] = value;\n });\n if (form) {\n form.reset();\n }\n resetAttachments();\n setStatus($scope.obj.status);\n render();\n $scope.lightboxOpen = true;\n return lightboxService.open($el, null, null, true);\n };\n resetAttachments = function() {\n attachmentsToAdd = Immutable.List();\n return attachmentsToDelete = Immutable.List();\n };\n $scope.addAttachment = function(attachment) {\n return attachmentsToAdd = attachmentsToAdd.push(attachment);\n };\n $scope.deleteAttachment = function(attachment) {\n attachmentsToAdd = attachmentsToAdd.filter(function(it) {\n return it.get('name') !== attachment.get('name');\n });\n if (attachment.get(\"id\")) {\n return attachmentsToDelete = attachmentsToDelete.push(attachment);\n }\n };\n $scope.addTag = function(tag, color) {\n var inserted, itemtags, projectTags, tags, value;\n value = trim(tag.toLowerCase());\n tags = $scope.project.tags;\n projectTags = $scope.project.tags_colors;\n if (tags == null) {\n tags = [];\n }\n if (projectTags == null) {\n projectTags = {};\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n projectTags[tag] = color || null;\n $scope.project.tags = tags;\n itemtags = _.clone($scope.obj.tags);\n inserted = _.find(itemtags, function(it) {\n return it[0] === value;\n });\n if (!inserted) {\n itemtags.push([value, color]);\n return $scope.obj.tags = itemtags;\n }\n };\n $scope.deleteTag = function(tag) {\n var itemtags, tags, value;\n value = trim(tag[0].toLowerCase());\n tags = $scope.project.tags;\n itemtags = _.clone($scope.obj.tags);\n _.remove(itemtags, function(tag) {\n return tag[0] === value;\n });\n $scope.obj.tags = itemtags;\n return _.pull($scope.obj.tags, value);\n };\n createAttachments = function(obj) {\n var promises;\n promises = _.map(attachmentsToAdd.toJS(), function(attachment) {\n return attachmentsService.upload(attachment.file, obj.id, $scope.obj.project, $scope.objType);\n });\n return $q.all(promises);\n };\n deleteAttachments = function(obj) {\n var promises;\n promises = _.map(attachmentsToDelete.toJS(), function(attachment) {\n return attachmentsService[\"delete\"]($scope.objType, attachment.id);\n });\n return $q.all(promises);\n };\n addExisting = function(item) {\n var currentLoading, onError, onSuccess;\n currentLoading = $loading().target($el.find(\".add-existing-button\")).start();\n if (item.milestone) {\n currentLoading.finish();\n lightboxService.close($el);\n return sprintChangeConfirmAndSave(item);\n } else {\n onSuccess = function() {\n currentLoading.finish();\n lightboxService.close($el);\n return $rootScope.$broadcast($scope.objType + \"form:add:success\", item);\n };\n onError = function() {\n currentLoading.finish();\n return lightboxService.close($el);\n };\n return saveItem(item, onSuccess, onError);\n }\n };\n sprintChangeConfirmAndSave = function(item) {\n var message, newSprintName, oldSprintName, title;\n oldSprintName = $scope.milestonesById[item.milestone].name;\n newSprintName = $scope.milestonesById[$scope.relatedObjectId].name;\n title = $translate.instant(\"ISSUES.CONFIRM_CHANGE_FROM_SPRINT.TITLE\");\n message = $translate.instant(\"ISSUES.CONFIRM_CHANGE_FROM_SPRINT.MESSAGE\", {\n issue: item.subject,\n oldSprintName: oldSprintName,\n newSprintName: newSprintName\n });\n return $confirm.ask(title, null, message).then(function(askResponse) {\n var onError, onSuccess;\n onSuccess = function() {\n askResponse.finish();\n lightboxService.close($el);\n return $rootScope.$broadcast($scope.objType + \"form:add:success\", item);\n };\n onError = function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n };\n return saveItem(item, onSuccess, onError);\n });\n };\n saveItem = function(item, onSuccess, onError) {\n item.setAttr($scope.relatedField, $scope.relatedObjectId);\n return $repo.save(item, true).then(onSuccess, onError);\n };\n isDisabledExisting = function(item) {\n return item && item[$scope.relatedField] === $scope.relatedObjectId;\n };\n $scope.isDisabledExisting = function(selectedItem) {\n return isDisabledExisting(selectedItem);\n };\n $scope.addExisting = function(selectedItem) {\n return addExisting(selectedItem);\n };\n submit = debounce(2000, function(event) {\n var broadcastEvent, currentLoading, prettyDate, promise;\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target($el.find(\".submit-button\")).start();\n if ($scope.mode === 'new') {\n promise = $repo.create(schema.model, $scope.obj);\n broadcastEvent = $scope.objType + \"form:new:success\";\n } else {\n if ($scope.obj.due_date instanceof moment) {\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n $scope.obj.due_date = $scope.obj.due_date.format(\"YYYY-MM-DD\");\n }\n promise = $repo.save($scope.obj, true);\n broadcastEvent = $scope.objType + \"form:edit:success\";\n }\n promise.then(function(data) {\n return deleteAttachments(data).then(function() {\n return createAttachments(data).then(function() {\n currentLoading.finish();\n close();\n return $rs[schema.model].getByRef(data.project, data.ref, schema.params).then(function(obj) {\n return $rootScope.$broadcast(broadcastEvent, obj);\n });\n });\n });\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n });\n checkClose = function() {\n if (!$scope.obj.isModified()) {\n close();\n return $scope.$apply(function() {\n return $scope.obj.revert();\n });\n } else {\n return $confirm.ask($translate.instant(\"LIGHTBOX.CREATE_EDIT.CONFIRM_CLOSE\")).then(function(result) {\n result.finish();\n return close();\n });\n }\n };\n close = function() {\n lightboxService.close($el);\n return $scope.lightboxOpen = false;\n };\n docEl = angular.element(document);\n docEl.on(\"keydown.lightbox-create-edit\", function(event) {\n var code;\n if ($scope.lightboxOpen) {\n event.stopPropagation();\n code = event.keyCode ? event.keyCode : event.which;\n if (code === 27) {\n return checkClose();\n }\n }\n });\n $el.on(\"submit\", \"form\", submit);\n $el.find('.close').on(\"click\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return checkClose();\n });\n $el.on(\"click\", \".status-dropdown\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n setStatus(angular.element(event.currentTarget).data(\"status-id\"));\n $scope.$apply();\n $scope.$broadcast(\"status:changed\", $scope.obj.status);\n return $el.find(\".pop-status\").popover().close();\n });\n $el.on(\"click\", \".users-dropdown\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-users\").popover().open();\n });\n $el.on(\"click\", \".team-requirement\", function(event) {\n $scope.obj.team_requirement = !$scope.obj.team_requirement;\n return $scope.$apply();\n });\n $el.on(\"click\", \".client-requirement\", function(event) {\n $scope.obj.client_requirement = !$scope.obj.client_requirement;\n return $scope.$apply();\n });\n $el.on(\"click\", \".is-blocked\", function(event) {\n $scope.obj.is_blocked = !$scope.obj.is_blocked;\n return $scope.$apply();\n });\n $el.on(\"click\", \".iocaine\", function(event) {\n $scope.obj.is_iocaine = !$scope.obj.is_iocaine;\n return $scope.$broadcast(\"isiocaine:changed\", $scope.obj);\n });\n $scope.isTeamRequirement = function() {\n var ref;\n return (ref = $scope.obj) != null ? ref.team_requirement : void 0;\n };\n $scope.isClientRequirement = function() {\n var ref;\n return (ref = $scope.obj) != null ? ref.client_requirement : void 0;\n };\n setStatus = function(id) {\n $scope.obj.status = id;\n $scope.selectedStatus = _.find($scope.statusList, function(item) {\n return item.id === id;\n });\n return $scope.obj.is_closed = $scope.selectedStatus.is_closed;\n };\n return render = function(sprint) {\n var compiledTemplate, template, templateScope;\n template = $template.get(\"common/lightbox/lightbox-create-edit/lb-create-edit.html\");\n templateScope = $scope.$new();\n compiledTemplate = $compile(template)(templateScope);\n return $el.html(compiledTemplate);\n };\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateEdit\", [\"$log\", \"$tgRepo\", \"$tgModel\", \"$tgResources\", \"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$translate\", \"$tgConfirm\", \"$q\", \"tgAttachmentsService\", \"$tgTemplate\", \"$compile\", CreateEditDirective]);\n\n debounceLeading = this.taiga.debounceLeading;\n\n RelateToEpicLightboxDirective = function($rootScope, $confirm, lightboxService, $tgCurrentUserService, tgResources, $tgResources, $epicsService, tgAnalytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var existingEpicForm, filterEpics, loadProjects, newEpicForm, selectProject, us;\n us = null;\n $scope.projects = null;\n $scope.projectEpics = Immutable.List();\n $scope.loading = false;\n $scope.selectedProject = $scope.project.id;\n newEpicForm = $el.find(\".new-epic-form\").checksley();\n existingEpicForm = $el.find(\".existing-epic-form\").checksley();\n loadProjects = function() {\n if ($scope.projects === null) {\n return $scope.projects = $tgCurrentUserService.projects.get(\"unblocked\");\n }\n };\n filterEpics = function(selectedProjectId, filterText) {\n return tgResources.epics.listInAllProjects({\n is_epics_activated: true,\n project__blocked_code: 'null',\n project: selectedProjectId,\n q: filterText\n }, true).then(function(data) {\n var excludeIds, filteredData;\n excludeIds = [];\n if (us.epics) {\n excludeIds = us.epics.map(function(epic) {\n return epic.id;\n });\n }\n filteredData = data.filter(function(epic) {\n return excludeIds.indexOf(epic.get('id')) === -1;\n });\n return $scope.projectEpics = filteredData;\n });\n };\n selectProject = function(selectedProjectId) {\n $scope.selectedEpic = null;\n $scope.searchEpic = \"\";\n return filterEpics(selectedProjectId, $scope.searchEpic);\n };\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n $scope.$on(\"relate-to-epic:add\", function(ctx, item) {\n us = item;\n $scope.selectedEpic = null;\n $scope.searchEpic = \"\";\n loadProjects();\n return filterEpics($scope.selectedProject, $scope.searchEpic).then(function() {\n return lightboxService.open($el).then(function() {\n return $el.find('input').focus;\n });\n });\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n $scope.selectProject = function(selectedProjectId) {\n return selectProject(selectedProjectId);\n };\n $scope.onUpdateSearchEpic = debounceLeading(300, function() {\n $scope.selectedEpic = null;\n return filterEpics($scope.selectedProject, $scope.searchEpic);\n });\n $scope.saveRelatedEpic = function(selectedEpicId, onSavedRelatedEpic) {\n var onError, onSuccess, usId;\n if (!existingEpicForm.validate()) {\n return;\n }\n $scope.loading = true;\n onError = function(data) {\n $scope.loading = false;\n $confirm.notify(\"error\");\n return existingEpicForm.setErrors(data);\n };\n onSuccess = function(data) {\n tgAnalytics.trackEvent(\"user story related epic\", \"create\", \"create related epic on user story\", 1);\n $scope.loading = false;\n $rootScope.$broadcast(\"related-epics:changed\", us);\n return lightboxService.close($el);\n };\n usId = us.id;\n return tgResources.epics.addRelatedUserstory(selectedEpicId, usId).then(onSuccess, onError);\n };\n return $scope.createEpic = function(selectedProjectId, epicSubject) {\n var onCreateEpic, onError, onSuccess;\n if (!newEpicForm.validate()) {\n return;\n }\n this.loading = true;\n onError = function(data) {\n $scope.loading = false;\n $confirm.notify(\"error\");\n return newEpicForm.setErrors(errors);\n };\n onSuccess = function() {\n tgAnalytics.trackEvent(\"user story related epic\", \"create\", \"create related epic on user story\", 1);\n $scope.loading = false;\n $rootScope.$broadcast(\"related-epics:changed\", us);\n return lightboxService.close($el);\n };\n onCreateEpic = function(epic) {\n var epicId, usId;\n epicId = epic.get('id');\n usId = us.id;\n return tgResources.epics.addRelatedUserstory(epicId, usId).then(onSuccess, onError);\n };\n return $epicsService.createEpic({\n subject: epicSubject\n }, null, selectedProjectId).then(onCreateEpic, onError);\n };\n };\n return {\n templateUrl: \"common/lightbox/lightbox-relate-to-epic.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbRelatetoepic\", [\"$rootScope\", \"$tgConfirm\", \"lightboxService\", \"tgCurrentUserService\", \"tgResources\", \"$tgResources\", \"tgEpicsService\", \"$tgAnalytics\", RelateToEpicLightboxDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/loader.coffee\n */\n\n(function() {\n var Loader, LoaderDirective, module, sizeFormat, taiga, timeout;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaCommon\");\n\n LoaderDirective = function(tgLoader, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n tgLoader.onStart(function() {\n $(document.body).addClass(\"loader-active\");\n return $el.addClass(\"active\");\n });\n return tgLoader.onEnd(function() {\n $(document.body).removeClass(\"loader-active\");\n return $el.removeClass(\"active\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLoader\", [\"tgLoader\", \"$rootScope\", LoaderDirective]);\n\n Loader = function($rootscope) {\n var autoClose, config, lastResponseDate, open, pageLoaded, requestCount, start, startLoadTime;\n config = {\n minTime: 300\n };\n open = false;\n startLoadTime = 0;\n requestCount = 0;\n lastResponseDate = 0;\n pageLoaded = function(force) {\n var diff, endTime, timeoutValue;\n if (force == null) {\n force = false;\n }\n if (startLoadTime) {\n timeoutValue = 0;\n if (!force) {\n endTime = new Date().getTime();\n diff = endTime - startLoadTime;\n if (diff < config.minTime) {\n timeoutValue = config.minTime - diff;\n }\n }\n timeout(timeoutValue, function() {\n $rootscope.$broadcast(\"loader:end\");\n open = false;\n return window.prerenderReady = true;\n });\n }\n startLoadTime = 0;\n requestCount = 0;\n return lastResponseDate = 0;\n };\n autoClose = function() {\n var intervalAuto;\n return intervalAuto = setInterval((function() {\n if (lastResponseDate && requestCount === 0) {\n pageLoaded();\n return clearInterval(intervalAuto);\n }\n }), 50);\n };\n start = function() {\n startLoadTime = new Date().getTime();\n $rootscope.$broadcast(\"loader:start\");\n return open = true;\n };\n return {\n pageLoaded: pageLoaded,\n open: function() {\n return open;\n },\n start: function(auto) {\n if (auto == null) {\n auto = false;\n }\n if (!open) {\n start();\n if (auto) {\n return autoClose();\n }\n }\n },\n onStart: function(fn) {\n return $rootscope.$on(\"loader:start\", fn);\n },\n onEnd: function(fn) {\n return $rootscope.$on(\"loader:end\", fn);\n },\n logRequest: function() {\n return requestCount++;\n },\n logResponse: function() {\n requestCount--;\n return lastResponseDate = new Date().getTime();\n }\n };\n };\n\n Loader.$inject = [\"$rootScope\"];\n\n module.factory(\"tgLoader\", Loader);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/lightboxes.coffee\n */\n\n(function() {\n var LoadingDirective, TgLoadingService, module,\n slice = [].slice;\n\n module = angular.module(\"taigaCommon\");\n\n TgLoadingService = function($compile) {\n var spinner;\n spinner = \"loading...\";\n return function() {\n var service;\n service = {\n settings: {\n target: null,\n scope: null,\n classes: [],\n timeout: 0,\n template: null\n },\n target: function(target) {\n service.settings.target = target;\n return service;\n },\n scope: function(scope) {\n service.settings.scope = scope;\n return service;\n },\n template: function(template) {\n service.settings.template = template;\n return service;\n },\n removeClasses: function() {\n var classess;\n classess = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n service.settings.classes = classess;\n return service;\n },\n timeout: function(timeout) {\n service.settings.timeout = timeout;\n return service;\n },\n start: function() {\n var target, timeoutId;\n target = service.settings.target;\n service.settings.classes.map(function(className) {\n return target.removeClass(className);\n });\n if (!target.hasClass('loading') && !service.settings.template) {\n service.settings.template = target.html();\n }\n timeoutId = setTimeout((function() {\n if (!target.hasClass('loading')) {\n target.addClass('loading');\n return target.html(spinner);\n }\n }), service.settings.timeout);\n service.settings.timeoutId = timeoutId;\n return service;\n },\n finish: function() {\n var removeClasses, target, timeoutId;\n target = service.settings.target;\n timeoutId = service.settings.timeoutId;\n if (timeoutId) {\n clearTimeout(timeoutId);\n removeClasses = service.settings.classes;\n removeClasses.map(function(className) {\n return service.settings.target.addClass(className);\n });\n target.html(service.settings.template);\n target.removeClass('loading');\n if (service.settings.scope) {\n $compile(target.contents())(service.settings.scope);\n }\n }\n return service;\n }\n };\n return service;\n };\n };\n\n TgLoadingService.$inject = [\"$compile\"];\n\n module.factory(\"$tgLoading\", TgLoadingService);\n\n LoadingDirective = function($loading) {\n var link;\n link = function($scope, $el, attr) {\n var currentLoading, template;\n currentLoading = null;\n template = $el.html();\n return $scope.$watch(attr.tgLoading, (function(_this) {\n return function(showLoading) {\n if (showLoading) {\n return currentLoading = $loading().target($el).timeout(100).template(template).scope($scope).start();\n } else if (currentLoading) {\n return currentLoading.finish();\n }\n };\n })(this));\n };\n return {\n priority: 99999,\n link: link\n };\n };\n\n module.directive(\"tgLoading\", [\"$tgLoading\", LoadingDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/popovers.coffee\n */\n\n(function() {\n var RelatedTaskStatusDirective, UsStatusDirective, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaCommon\");\n\n UsStatusDirective = function($repo, $template) {\n\n /*\n Print the status of a US and a popover to change it.\n - tg-us-status: The user story\n - on-update: Method call after US is updated\n \n Example:\n \n div.status(tg-us-status=\"us\" on-update=\"ctrl.loadSprintState()\")\n a.us-status(href=\"\", title=\"Status Name\")\n \n NOTE: This directive need 'usStatusById' and 'project'.\n */\n var link, template;\n template = $template.get(\"common/popover/popover-us-status.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, render, us;\n $ctrl = $el.controller();\n render = function(us) {\n var usStatusById, usStatusDom, usStatusDomParent;\n usStatusDomParent = $el.find(\".us-status\");\n usStatusDom = $el.find(\".us-status .us-status-bind\");\n usStatusById = $scope.usStatusById;\n if (usStatusById[us.status]) {\n usStatusDom.text(usStatusById[us.status].name);\n return usStatusDomParent.css(\"color\", usStatusById[us.status].color);\n }\n };\n $el.on(\"click\", \".us-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target, us;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n us = $scope.$eval($attrs.tgUsStatus);\n us.status = target.data(\"status-id\");\n render(us);\n $el.find(\".pop-status\").popover().close();\n return $scope.$apply(function() {\n return $repo.save(us).then(function() {\n return $scope.$eval($attrs.onUpdate);\n });\n });\n }));\n $scope.$on(\"userstories:loaded\", function() {\n return render($scope.$eval($attrs.tgUsStatus));\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n us = $scope.$eval($attrs.tgUsStatus);\n render(us);\n return bindOnce($scope, \"project\", function(project) {\n var html;\n html = template({\n \"statuses\": project.us_statuses\n });\n $el.append(html);\n if ($scope.project.my_permissions.indexOf(\"modify_us\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUsStatus\", [\"$tgRepo\", \"$tgTemplate\", UsStatusDirective]);\n\n RelatedTaskStatusDirective = function($repo, $template) {\n\n /*\n Print the status of a related task and a popover to change it.\n - tg-related-task-status: The related task\n - on-update: Method call after US is updated\n \n Example:\n \n div.status(tg-related-task-status=\"task\" on-update=\"ctrl.loadSprintState()\")\n a.task-status(href=\"\", title=\"Status Name\")\n \n NOTE: This directive need 'taskStatusById' and 'project'.\n */\n var link, selectionTemplate, updateTaskStatus;\n selectionTemplate = $template.get(\"common/popover/popover-related-task-status.html\", true);\n updateTaskStatus = function($el, task, taskStatusById) {\n var taskStatusDom, taskStatusDomParent;\n taskStatusDomParent = $el.find(\".us-status\");\n taskStatusDom = $el.find(\".task-status .task-status-bind\");\n if (taskStatusById[task.status]) {\n taskStatusDom.text(taskStatusById[task.status].name);\n return taskStatusDomParent.css('color', taskStatusById[task.status].color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task;\n $ctrl = $el.controller();\n task = $scope.$eval($attrs.tgRelatedTaskStatus);\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n autoSave = !notAutoSave;\n $el.on(\"click\", \".task-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n task.status = target.data(\"status-id\");\n $el.find(\".pop-status\").popover().close();\n updateTaskStatus($el, task, $scope.taskStatusById);\n if (autoSave) {\n return $scope.$apply(function() {\n return $repo.save(task).then(function() {\n $scope.$eval($attrs.onUpdate);\n return $scope.$emit(\"related-tasks:status-changed\");\n });\n });\n }\n }));\n $scope.$watch($attrs.tgRelatedTaskStatus, function() {\n task = $scope.$eval($attrs.tgRelatedTaskStatus);\n return updateTaskStatus($el, task, $scope.taskStatusById);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.task_statuses\n }));\n updateTaskStatus($el, task, $scope.taskStatusById);\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskStatus\", [\"$tgRepo\", \"$tgTemplate\", RelatedTaskStatusDirective]);\n\n $.fn.popover = function() {\n var $el, close, closeAll, closePopover, isVisible, open;\n $el = this;\n isVisible = (function(_this) {\n return function() {\n var docViewBottom, docViewLeft, docViewRight, docViewTop, docViewWidth, elemBottom, elemLeft, elemRight, elemTop, elemWidth;\n $el.css({\n \"display\": \"block\",\n \"visibility\": \"hidden\"\n });\n docViewTop = $(window).scrollTop();\n docViewBottom = docViewTop + $(window).height();\n docViewWidth = $(window).width();\n docViewRight = docViewWidth;\n docViewLeft = 0;\n elemTop = $el.offset().top;\n elemBottom = elemTop + $el.height();\n elemWidth = $el.width();\n elemLeft = $el.offset().left;\n elemRight = $el.offset().left + elemWidth;\n $el.css({\n \"display\": \"none\",\n \"visibility\": \"visible\"\n });\n return (elemBottom <= docViewBottom) && (elemTop >= docViewTop) && (elemLeft >= docViewLeft) && (elemRight <= docViewRight);\n };\n })(this);\n closePopover = (function(_this) {\n return function(onClose) {\n if (onClose) {\n onClose.call($el);\n }\n $el.fadeOut(function() {\n return $el.removeClass(\"active\").removeClass(\"fix\");\n });\n return $el.off(\"popup:close\");\n };\n })(this);\n closeAll = (function(_this) {\n return function() {\n return $(\".popover.active\").each(function() {\n return $(this).trigger(\"popup:close\");\n });\n };\n })(this);\n open = (function(_this) {\n return function(onClose) {\n if ($el.hasClass(\"active\")) {\n return close();\n } else {\n closeAll();\n if (!isVisible()) {\n $el.addClass(\"fix\");\n }\n $el.fadeIn(function() {\n $el.addClass(\"active\");\n $(document.body).off(\"popover\");\n return $(document.body).one(\"click.popover\", function() {\n return closeAll();\n });\n });\n return $el.on(\"popup:close\", function(e) {\n return closePopover(onClose);\n });\n }\n };\n })(this);\n close = (function(_this) {\n return function() {\n return $el.trigger(\"popup:close\");\n };\n })(this);\n return {\n open: open,\n close: close,\n closeAll: closeAll\n };\n };\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/raven-logger.coffee\n */\n\n(function() {\n var ExceptionHandlerFactory, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n ExceptionHandlerFactory = function($log, config) {\n var ravenConfig;\n this.config = config;\n ravenConfig = this.config.get(\"ravenConfig\", null);\n if (ravenConfig) {\n $log.debug(\"Using the RavenJS exception handler.\");\n Raven.config(ravenConfig).install();\n return function(exception, cause) {\n $log.error.apply($log, arguments);\n return Raven.captureException(exception);\n };\n } else {\n $log.debug(\"Using the default logging exception handler.\");\n return function(exception, cause) {\n return $log.error.apply($log, arguments);\n };\n }\n };\n\n module.factory(\"$exceptionHandler\", [\"$log\", \"$tgConfig\", ExceptionHandlerFactory]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/tags.coffee\n */\n\n(function() {\n var ColorizeTagsBacklogDirective, LbTagLineDirective, TagsDirective, bindOnce, module, taiga, trim,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n TagsDirective = function() {\n var formatter, link, parser;\n formatter = function(v) {\n if (_.isArray(v)) {\n return v.join(\", \");\n }\n return \"\";\n };\n parser = function(v) {\n var result;\n if (!v) {\n return [];\n }\n result = _(v.split(\",\")).map(function(x) {\n return _.trim(x);\n });\n return result.value();\n };\n link = function($scope, $el, $attrs, $ctrl) {\n $ctrl.$formatters.push(formatter);\n $ctrl.$parsers.push(parser);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n require: \"ngModel\",\n link: link\n };\n };\n\n module.directive(\"tgTags\", TagsDirective);\n\n ColorizeTagsBacklogDirective = function($emojis) {\n var link, template;\n template = _.template(\"<% _.each(tags, function(tag) { %>\\n <% if (tag[1] !== null) { %>\\n \\\"\\n title=\\\"<%- tag[0] %>\\\">\\n <%= emojify(tag[0]) %>\\n \\n <% } %>\\n<% }) %>\\n<% _.each(tags, function(tag) { %>\\n <% if (tag[1] === null) { %>\\n \\\">\\n <%= emojify(tag[0]) %>\\n \\n <% } %>\\n<% }) %>\");\n link = function($scope, $el, $attrs, $ctrl) {\n var render;\n render = function(tags) {\n var html;\n html = template({\n tags: tags,\n emojify: function(text) {\n return $emojis.replaceEmojiNameByHtmlImgs(_.escape(text));\n }\n });\n return $el.html(html);\n };\n $scope.$watch($attrs.tgColorizeBacklogTags, function(tags) {\n if (tags != null) {\n return render(tags);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgColorizeBacklogTags\", [\"$tgEmojis\", ColorizeTagsBacklogDirective]);\n\n LbTagLineDirective = function($rs, $template, $compile) {\n var COMMA_KEY, ENTER_KEY, autocomplete, link, templateTags;\n ENTER_KEY = 13;\n COMMA_KEY = 188;\n templateTags = $template.get(\"common/tag/lb-tag-line-tags.html\", true);\n autocomplete = null;\n link = function($scope, $el, $attrs, $model) {\n var addValue, deleteValue, hideSaveButton, renderTags, resetInput, saveInputTag, showSaveButton, withoutColors;\n withoutColors = _.has($attrs, \"withoutColors\");\n renderTags = function(tags, tagsColors) {\n var color, ctx, html;\n if (tagsColors == null) {\n tagsColors = [];\n }\n color = !withoutColors ? tagsColors[t] : null;\n ctx = {\n tags: _.map(tags, function(t) {\n return {\n name: t,\n style: color ? \"border-left: 5px solid \" + color : \"\"\n };\n })\n };\n html = $compile(templateTags(ctx))($scope);\n return $el.find(\".tags-container\").html(html);\n };\n showSaveButton = function() {\n return $el.find(\".save\").removeClass(\"hidden\");\n };\n hideSaveButton = function() {\n return $el.find(\".save\").addClass(\"hidden\");\n };\n resetInput = function() {\n $el.find(\"input\").val(\"\");\n return autocomplete.close();\n };\n addValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n if (tags == null) {\n tags = [];\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n return hideSaveButton();\n };\n deleteValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n tags = _.pull(tags, value);\n return $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n };\n saveInputTag = function() {\n var value;\n value = $el.find(\"input\").val();\n addValue(value);\n return resetInput();\n };\n $el.on(\"keypress\", \"input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === ENTER_KEY) {\n event.preventDefault();\n return saveInputTag();\n } else if (String.fromCharCode(event.keyCode) === ',') {\n event.preventDefault();\n return saveInputTag();\n } else {\n if (target.val().length) {\n return showSaveButton();\n } else {\n return hideSaveButton();\n }\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return saveInputTag();\n });\n $el.on(\"click\", \".remove-tag\", function(event) {\n var target, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n value = target.siblings(\".tag-name\").text();\n return deleteValue(value);\n });\n bindOnce($scope, \"project\", function(project) {\n var input;\n input = $el.find(\"input\");\n autocomplete = new Awesomplete(input[0], {\n list: _.keys(project.tags_colors)\n });\n return input.on(\"awesomplete-selectcomplete\", function() {\n addValue(input.val());\n return input.val(\"\");\n });\n });\n $scope.$watch($attrs.ngModel, function(tags) {\n var ref, tagsColors;\n tagsColors = ((ref = $scope.project) != null ? ref.tags_colors : void 0) || [];\n return renderTags(tags, tagsColors);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/tag/lb-tag-line.html\"\n };\n };\n\n module.directive(\"tgLbTagLine\", [\"$tgResources\", \"$tgTemplate\", \"$compile\", LbTagLineDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog/lightboxes.coffee\n */\n\n(function() {\n var CreateEditSprint, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaBacklog\");\n\n CreateEditSprint = function($repo, $confirm, $rs, $rootscope, lightboxService, $loading, $translate) {\n var link;\n link = function($scope, $el, attrs) {\n var createSprint, form, getLastSprint, hasErrors, remove, resetSprint, submit, ussToAdd;\n hasErrors = false;\n createSprint = true;\n form = null;\n $scope.newSprint = {};\n ussToAdd = null;\n resetSprint = function() {\n if (form) {\n form.reset();\n }\n return $scope.newSprint = {\n project: null,\n name: null,\n estimated_start: null,\n estimated_finish: null\n };\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var broadcastEvent, currentLoading, estimated_end, estimated_start, newSprint, prettyDate, promise, submitButton, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n submitButton = $el.find(\".submit-button\");\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n hasErrors = true;\n $el.find(\".last-sprint-name\").addClass(\"disappear\");\n return;\n }\n hasErrors = false;\n broadcastEvent = null;\n estimated_start = $('.date-start').val();\n estimated_end = $('.date-end').val();\n if (createSprint) {\n newSprint = angular.copy($scope.newSprint);\n newSprint.estimated_start = moment(estimated_start, prettyDate).format(\"YYYY-MM-DD\");\n newSprint.estimated_finish = moment(estimated_end, prettyDate).format(\"YYYY-MM-DD\");\n promise = $repo.create(\"milestones\", newSprint);\n broadcastEvent = \"sprintform:create:success\";\n } else {\n newSprint = $scope.newSprint.realClone();\n newSprint.estimated_start = moment(estimated_start, prettyDate).format(\"YYYY-MM-DD\");\n newSprint.estimated_finish = moment(estimated_end, prettyDate).format(\"YYYY-MM-DD\");\n promise = $repo.save(newSprint);\n broadcastEvent = \"sprintform:edit:success\";\n }\n currentLoading = $loading().target(submitButton).start();\n promise.then(function(data) {\n currentLoading.finish();\n if (createSprint) {\n $scope.sprintsCounter += 1;\n }\n $scope.sprints = _.map($scope.sprints, function(it) {\n if (it.id === data.id) {\n return data;\n } else {\n return it;\n }\n });\n if (broadcastEvent === \"sprintform:create:success\" && ussToAdd) {\n $rootscope.$broadcast(broadcastEvent, data, ussToAdd);\n } else {\n $rootscope.$broadcast(broadcastEvent, data);\n }\n return lightboxService.close($el);\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"light-error\", data._error_message);\n } else if (data.__all__) {\n return $confirm.notify(\"light-error\", data.__all__[0]);\n }\n });\n };\n })(this));\n remove = function() {\n var message, title;\n title = $translate.instant(\"LIGHTBOX.DELETE_SPRINT.TITLE\");\n message = $scope.newSprint.name;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSuccess;\n onSuccess = function() {\n askResponse.finish();\n $scope.milestonesCounter -= 1;\n lightboxService.close($el);\n return $rootscope.$broadcast(\"sprintform:remove:success\", $scope.newSprint);\n };\n onError = function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n };\n return $repo.remove($scope.newSprint).then(onSuccess, onError);\n };\n })(this));\n };\n getLastSprint = function() {\n var openSprints, sortedSprints;\n openSprints = _.filter($scope.sprints, function(sprint) {\n return !sprint.closed;\n });\n sortedSprints = _.sortBy(openSprints, function(sprint) {\n return moment(sprint.estimated_finish, 'YYYY-MM-DD').format('X');\n });\n return sortedSprints[sortedSprints.length - 1];\n };\n $scope.$on(\"sprintform:create\", function(event, projectId, uss) {\n var estimatedFinish, estimatedStart, lastSprint, lastSprintNameDom, prettyDate, text;\n ussToAdd = uss;\n resetSprint();\n form = $el.find(\"form\").checksley();\n form.reset();\n createSprint = true;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n $scope.newSprint.project = projectId;\n $scope.newSprint.name = null;\n $scope.newSprint.slug = null;\n lastSprint = getLastSprint();\n estimatedStart = moment();\n if (lastSprint) {\n estimatedStart = moment(lastSprint.estimated_finish);\n } else if ($scope.newSprint.estimated_start) {\n estimatedStart = moment($scope.newSprint.estimated_start);\n }\n $scope.newSprint.estimated_start = estimatedStart.format(prettyDate);\n estimatedFinish = moment().add(2, \"weeks\");\n if (lastSprint) {\n estimatedFinish = moment(lastSprint.estimated_finish).add(2, \"weeks\");\n } else if ($scope.newSprint.estimated_finish) {\n estimatedFinish = moment($scope.newSprint.estimated_finish);\n }\n $scope.newSprint.estimated_finish = estimatedFinish.format(prettyDate);\n lastSprintNameDom = $el.find(\".last-sprint-name\");\n if ((lastSprint != null ? lastSprint.name : void 0) != null) {\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME\", {\n lastSprint: lastSprint.name\n });\n lastSprintNameDom.html(text);\n }\n $el.find(\".delete-sprint\").addClass(\"hidden\");\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.TITLE\");\n $el.find(\".title\").text(text);\n text = $translate.instant(\"COMMON.CREATE\");\n $el.find(\".button-green\").text(text);\n lightboxService.open($el);\n $el.find(\".sprint-name\").focus();\n return $el.find(\".last-sprint-name\").removeClass(\"disappear\");\n });\n $scope.$on(\"sprintform:edit\", function(ctx, sprint) {\n var editSprint, prettyDate, save;\n resetSprint();\n createSprint = false;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n $scope.$apply(function() {\n $scope.newSprint = sprint.realClone();\n $scope.newSprint.estimated_start = moment($scope.newSprint.estimated_start).format(prettyDate);\n return $scope.newSprint.estimated_finish = moment($scope.newSprint.estimated_finish).format(prettyDate);\n });\n $el.find(\".delete-sprint\").removeClass(\"hidden\");\n editSprint = $translate.instant(\"BACKLOG.EDIT_SPRINT\");\n $el.find(\".title\").text(editSprint);\n save = $translate.instant(\"COMMON.SAVE\");\n $el.find(\".button-green\").text(save);\n lightboxService.open($el);\n $el.find(\".sprint-name\").focus().select();\n return $el.find(\".last-sprint-name\").addClass(\"disappear\");\n });\n $el.on(\"keyup\", \".sprint-name\", function(event) {\n if ($el.find(\".sprint-name\").val().length > 0 || hasErrors) {\n return $el.find(\".last-sprint-name\").addClass(\"disappear\");\n } else {\n return $el.find(\".last-sprint-name\").removeClass(\"disappear\");\n }\n });\n $el.on(\"submit\", \"form\", submit);\n $el.on(\"click\", \".delete-sprint\", function(event) {\n event.preventDefault();\n return remove();\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return resetSprint();\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateEditSprint\", [\"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$translate\", CreateEditSprint]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog/main.coffee\n */\n\n(function() {\n var BacklogController, BacklogDirective, BurndownBacklogGraphDirective, TgBacklogProgressBarDirective, ToggleBurndownVisibility, UsPointsDirective, UsRolePointsSelectorDirective, bindMethods, bindOnce, generateHash, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n bindMethods = this.taiga.bindMethods;\n\n generateHash = this.taiga.generateHash;\n\n module = angular.module(\"taigaBacklog\");\n\n BacklogController = (function(superClass) {\n extend(BacklogController, superClass);\n\n BacklogController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"$tgLoading\", \"tgResources\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"$tgStorage\", \"tgFilterRemoteStorageService\", \"tgProjectService\"];\n\n BacklogController.prototype.storeCustomFiltersName = 'backlog-custom-filters';\n\n BacklogController.prototype.storeFiltersName = 'backlog-filters';\n\n BacklogController.prototype.backlogOrder = {};\n\n BacklogController.prototype.milestonesOrder = {};\n\n function BacklogController(scope1, rootscope, repo, confirm, rs, params1, q, location, appMetaService, navUrls, events, analytics, translate, loading, rs2, modelTransform, errorHandlingService, storage, filterRemoteStorageService, projectService) {\n var promise;\n this.scope = scope1;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params1;\n this.q = q;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.loading = loading;\n this.rs2 = rs2;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n this.projectService = projectService;\n bindMethods(this);\n this.backlogOrder = {};\n this.milestonesOrder = {};\n this.page = 1;\n this.disablePagination = false;\n this.firstLoadComplete = false;\n this.scope.userstories = [];\n if (this.applyStoredFilters(this.params.pslug, \"backlog-filters\")) {\n return;\n }\n this.scope.sectionName = this.translate.instant(\"BACKLOG.SECTION_NAME\");\n this.showTags = false;\n this.activeFilters = false;\n this.scope.showGraphPlaceholder = null;\n this.displayVelocity = false;\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n _this.firstLoadComplete = true;\n title = _this.translate.instant(\"BACKLOG.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"BACKLOG.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n _this.appMetaService.setAll(title, description);\n if (_this.rs.userstories.getShowTags(_this.scope.projectId)) {\n _this.showTags = true;\n return _this.scope.$broadcast(\"showTags\", _this.showTags);\n }\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n BacklogController.prototype.filtersReloadContent = function() {\n return this.loadUserstories(true);\n };\n\n BacklogController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"usform:bulk:success\", (function(_this) {\n return function() {\n _this.loadUserstories(true);\n _this.loadProjectStats();\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"sprintform:create:success\", (function(_this) {\n return function(e, data, ussToMove) {\n _this.loadSprints().then(function() {\n return _this.scope.$broadcast(\"sprintform:create:success:callback\", ussToMove);\n });\n _this.loadProjectStats();\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"sprint\", \"create\", \"create sprint on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"usform:new:success\", (function(_this) {\n return function() {\n _this.loadUserstories(true);\n _this.loadProjectStats();\n _this.rootscope.$broadcast(\"filters:update\");\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"create userstory on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"sprintform:edit:success\", (function(_this) {\n return function() {\n return _this.loadProjectStats();\n };\n })(this));\n this.scope.$on(\"sprintform:remove:success\", (function(_this) {\n return function(event, sprint) {\n _this.loadSprints();\n _this.loadProjectStats();\n _this.loadUserstories(true);\n if (sprint.closed) {\n _this.loadClosedSprints();\n }\n return _this.rootscope.$broadcast(\"filters:update\");\n };\n })(this));\n this.scope.$on(\"usform:edit:success\", (function(_this) {\n return function(event, data) {\n var index;\n index = _.findIndex(_this.scope.userstories, function(us) {\n return us.id === data.id;\n });\n _this.scope.userstories[index] = data;\n return _this.rootscope.$broadcast(\"filters:update\");\n };\n })(this));\n this.scope.$on(\"sprint:us:move\", this.moveUs);\n this.scope.$on(\"sprint:us:moved\", (function(_this) {\n return function() {\n _this.loadSprints();\n return _this.loadProjectStats();\n };\n })(this));\n this.scope.$on(\"backlog:load-closed-sprints\", this.loadClosedSprints);\n return this.scope.$on(\"backlog:unload-closed-sprints\", this.unloadClosedSprints);\n };\n\n BacklogController.prototype.initializeSubscription = function() {\n var routingKey1, routingKey2;\n routingKey1 = \"changes.project.\" + this.scope.projectId + \".userstories\";\n this.events.subscribe(this.scope, routingKey1, (function(_this) {\n return function(message) {\n _this.loadAllPaginatedUserstories();\n return _this.loadSprints();\n };\n })(this));\n routingKey2 = \"changes.project.\" + this.scope.projectId + \".milestones\";\n return this.events.subscribe(this.scope, routingKey2, (function(_this) {\n return function(message) {\n return _this.loadSprints();\n };\n })(this));\n };\n\n BacklogController.prototype.toggleShowTags = function() {\n return this.scope.$apply((function(_this) {\n return function() {\n _this.showTags = !_this.showTags;\n return _this.rs.userstories.storeShowTags(_this.scope.projectId, _this.showTags);\n };\n })(this));\n };\n\n BacklogController.prototype.toggleActiveFilters = function() {\n return this.activeFilters = !this.activeFilters;\n };\n\n BacklogController.prototype.toggleVelocityForecasting = function() {\n this.displayVelocity = !this.displayVelocity;\n if (!this.displayVelocity) {\n this.scope.visibleUserStories = _.map(this.scope.userstories, function(it) {\n return it.ref;\n });\n } else {\n this.scope.visibleUserStories = _.map(this.forecastedStories, function(it) {\n return it.ref;\n });\n }\n return scopeDefer(this.scope, (function(_this) {\n return function() {\n return _this.scope.$broadcast(\"userstories:loaded\");\n };\n })(this));\n };\n\n BacklogController.prototype.loadProjectStats = function() {\n return this.rs.projects.stats(this.scope.projectId).then((function(_this) {\n return function(stats) {\n var totalPoints;\n _this.scope.stats = stats;\n totalPoints = stats.total_points ? stats.total_points : stats.defined_points;\n if (totalPoints) {\n _this.scope.stats.completedPercentage = Math.round(100 * stats.closed_points / totalPoints);\n } else {\n _this.scope.stats.completedPercentage = 0;\n }\n _this.scope.showGraphPlaceholder = !((stats.total_points != null) && (stats.total_milestones != null));\n _this.calculateForecasting();\n return stats;\n };\n })(this));\n };\n\n BacklogController.prototype.setMilestonesOrder = function(sprints) {\n var it, j, len, results, sprint;\n results = [];\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n this.milestonesOrder[sprint.id] = {};\n results.push((function() {\n var l, len1, ref1, results1;\n ref1 = sprint.user_stories;\n results1 = [];\n for (l = 0, len1 = ref1.length; l < len1; l++) {\n it = ref1[l];\n results1.push(this.milestonesOrder[sprint.id][it.id] = it.sprint_order);\n }\n return results1;\n }).call(this));\n }\n return results;\n };\n\n BacklogController.prototype.unloadClosedSprints = function() {\n return this.scope.$apply((function(_this) {\n return function() {\n _this.scope.closedSprints = [];\n return _this.rootscope.$broadcast(\"closed-sprints:reloaded\", []);\n };\n })(this));\n };\n\n BacklogController.prototype.loadClosedSprints = function() {\n var params;\n params = {\n closed: true\n };\n return this.rs.sprints.list(this.scope.projectId, params).then((function(_this) {\n return function(result) {\n var j, len, sprint, sprints;\n sprints = result.milestones;\n _this.setMilestonesOrder(sprints);\n _this.scope.totalClosedMilestones = result.closed;\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\");\n }\n _this.scope.closedSprints = sprints;\n _this.scope.closedSprintsById = groupBy(sprints, function(x) {\n return x.id;\n });\n _this.rootscope.$broadcast(\"closed-sprints:reloaded\", sprints);\n return sprints;\n };\n })(this));\n };\n\n BacklogController.prototype.loadSprints = function() {\n var params;\n params = {\n closed: false\n };\n return this.rs.sprints.list(this.scope.projectId, params).then((function(_this) {\n return function(result) {\n var j, len, sprint, sprints;\n sprints = result.milestones;\n _this.setMilestonesOrder(sprints);\n _this.scope.totalMilestones = sprints;\n _this.scope.totalClosedMilestones = result.closed;\n _this.scope.totalOpenMilestones = result.open;\n _this.scope.totalMilestones = _this.scope.totalOpenMilestones + _this.scope.totalClosedMilestones;\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\");\n }\n _this.scope.sprints = sprints;\n if (!_this.scope.closedSprints) {\n _this.scope.closedSprints = [];\n }\n _this.scope.sprintsCounter = sprints.length;\n _this.scope.sprintsById = groupBy(sprints, function(x) {\n return x.id;\n });\n _this.rootscope.$broadcast(\"sprints:loaded\", sprints);\n _this.scope.currentSprint = _this.findCurrentSprint();\n return sprints;\n };\n })(this));\n };\n\n BacklogController.prototype.openSprints = function() {\n return _.filter(this.scope.sprints, (function(_this) {\n return function(sprint) {\n return !sprint.closed;\n };\n })(this)).reverse();\n };\n\n BacklogController.prototype.loadAllPaginatedUserstories = function() {\n var page;\n page = this.page;\n return this.loadUserstories(true, this.scope.userstories.length).then((function(_this) {\n return function() {\n return _this.page = page;\n };\n })(this));\n };\n\n BacklogController.prototype.loadUserstories = function(resetPagination, pageSize) {\n var params, promise;\n if (resetPagination == null) {\n resetPagination = false;\n }\n if (!this.scope.projectId) {\n return null;\n }\n this.loadingUserstories = true;\n this.disablePagination = true;\n params = _.clone(this.location.search());\n this.rs.userstories.storeQueryParams(this.scope.projectId, params);\n if (resetPagination) {\n this.page = 1;\n }\n params.page = this.page;\n promise = this.rs.userstories.listUnassigned(this.scope.projectId, params, pageSize);\n return promise.then((function(_this) {\n return function(result) {\n var header, it, j, len, ref1, userstories;\n userstories = result[0];\n header = result[1];\n if (resetPagination) {\n _this.scope.userstories = [];\n }\n _this.scope.userstories = _this.scope.userstories.concat(_.sortBy(userstories, \"backlog_order\"));\n _this.scope.visibleUserStories = _.map(_this.scope.userstories, function(it) {\n return it.ref;\n });\n ref1 = _this.scope.userstories;\n for (j = 0, len = ref1.length; j < len; j++) {\n it = ref1[j];\n _this.backlogOrder[it.id] = it.backlog_order;\n }\n _this.loadingUserstories = false;\n if (header('x-pagination-next')) {\n _this.disablePagination = false;\n _this.page++;\n }\n scopeDefer(_this.scope, function() {\n return _this.scope.$broadcast(\"userstories:loaded\");\n });\n return userstories;\n };\n })(this));\n };\n\n BacklogController.prototype.loadBacklog = function() {\n return this.q.all([this.loadProjectStats(), this.loadSprints(), this.loadUserstories()]).then(this.calculateForecasting);\n };\n\n BacklogController.prototype.calculateForecasting = function() {\n var backlog_points_sum, current_sum, j, len, ref1, results, stats, total_points, us;\n stats = this.scope.stats;\n total_points = stats.total_points;\n current_sum = stats.assigned_points;\n backlog_points_sum = 0;\n this.forecastedStories = [];\n ref1 = this.scope.userstories;\n results = [];\n for (j = 0, len = ref1.length; j < len; j++) {\n us = ref1[j];\n current_sum += us.total_points;\n backlog_points_sum += us.total_points;\n this.forecastedStories.push(us);\n if (stats.speed > 0 && backlog_points_sum > stats.speed) {\n break;\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n\n BacklogController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_backlog_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.closedMilestones = !!project.total_closed_milestones;\n this.scope.$emit('project:loaded', project);\n this.scope.points = _.sortBy(project.points, \"order\");\n this.scope.pointsById = groupBy(project.points, function(x) {\n return x.id;\n });\n this.scope.usStatusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n this.scope.usStatusList = _.sortBy(project.us_statuses, \"id\");\n return project;\n };\n\n BacklogController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.initializeSubscription();\n return this.loadBacklog().then((function(_this) {\n return function() {\n var milestone;\n return _this.generateFilters(milestone = \"null\");\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.scope.$emit(\"backlog:loaded\");\n };\n })(this));\n };\n\n BacklogController.prototype.prepareBulkUpdateData = function(uses, field) {\n if (field == null) {\n field = \"backlog_order\";\n }\n return _.map(uses, function(x) {\n return {\n \"us_id\": x.id,\n \"order\": x[field]\n };\n });\n };\n\n BacklogController.prototype.moveUs = function(ctx, usList, newUsIndex, newSprintId) {\n var afterDestination, beforeDestination, currentSprintId, data, it, j, key, l, len, len1, len2, len3, len4, len5, len6, len7, list, m, modifiedUs, n, newSprint, o, oldSprintId, options, orderField, orderList, p, previous, previousWithTheSameOrder, project, promise, q, r, ref1, ref2, setNextOrders, setOrders, setPreviousOrders, sprint, startIndex, us;\n oldSprintId = usList[0].milestone;\n project = usList[0].project;\n if (oldSprintId) {\n sprint = this.scope.sprintsById[oldSprintId] || this.scope.closedSprintsById[oldSprintId];\n }\n if (newSprintId) {\n newSprint = this.scope.sprintsById[newSprintId] || this.scope.closedSprintsById[newSprintId];\n }\n currentSprintId = newSprintId !== oldSprintId ? newSprintId : oldSprintId;\n orderList = null;\n orderField = \"\";\n if (newSprintId !== oldSprintId) {\n if (newSprintId === null) {\n for (key = j = 0, len = usList.length; j < len; key = ++j) {\n us = usList[key];\n _.remove(sprint.user_stories, function(it) {\n return it.id === us.id;\n });\n }\n orderField = \"backlog_order\";\n orderList = this.backlogOrder;\n beforeDestination = _.slice(this.scope.userstories, 0, newUsIndex);\n afterDestination = _.slice(this.scope.userstories, newUsIndex);\n this.scope.userstories = this.scope.userstories.concat(usList);\n } else {\n for (l = 0, len1 = usList.length; l < len1; l++) {\n us = usList[l];\n _.remove(this.scope.userstories, function(it) {\n return it.id === us.id;\n });\n }\n orderField = \"sprint_order\";\n orderList = this.milestonesOrder[newSprint.id];\n beforeDestination = _.slice(newSprint.user_stories, 0, newUsIndex);\n afterDestination = _.slice(newSprint.user_stories, newUsIndex);\n newSprint.user_stories = newSprint.user_stories.concat(usList);\n }\n } else {\n if (oldSprintId === null) {\n orderField = \"backlog_order\";\n orderList = this.backlogOrder;\n list = _.filter(this.scope.userstories, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(list, 0, newUsIndex);\n afterDestination = _.slice(list, newUsIndex);\n } else {\n orderField = \"sprint_order\";\n orderList = this.milestonesOrder[sprint.id];\n list = _.filter(newSprint.user_stories, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(list, 0, newUsIndex);\n afterDestination = _.slice(list, newUsIndex);\n }\n }\n previous = beforeDestination[beforeDestination.length - 1];\n setPreviousOrders = [];\n if (!previous) {\n startIndex = 0;\n } else if (previous) {\n startIndex = orderList[previous.id] + 1;\n previousWithTheSameOrder = _.filter(beforeDestination, function(it) {\n return it[orderField] === orderList[previous.id];\n });\n if (previousWithTheSameOrder.length > 1) {\n setPreviousOrders = _.map(previousWithTheSameOrder, function(it) {\n return {\n us_id: it.id,\n order: orderList[it.id]\n };\n });\n }\n }\n modifiedUs = [];\n for (key = m = 0, len2 = usList.length; m < len2; key = ++m) {\n us = usList[key];\n us.milestone = currentSprintId;\n us[orderField] = startIndex + key;\n orderList[us.id] = us[orderField];\n modifiedUs.push({\n us_id: us.id,\n order: us[orderField]\n });\n }\n startIndex = orderList[usList[usList.length - 1].id];\n for (key = n = 0, len3 = afterDestination.length; n < len3; key = ++n) {\n it = afterDestination[key];\n orderList[it.id] = startIndex + key + 1;\n }\n setNextOrders = _.map(afterDestination, (function(_this) {\n return function(it) {\n return {\n us_id: it.id,\n order: orderList[it.id]\n };\n };\n })(this));\n this.scope.userstories = _.sortBy(this.scope.userstories, (function(_this) {\n return function(it) {\n return _this.backlogOrder[it.id];\n };\n })(this));\n this.scope.visibleUserStories = _.map(this.scope.userstories, function(it) {\n return it.ref;\n });\n ref1 = this.scope.sprints;\n for (o = 0, len4 = ref1.length; o < len4; o++) {\n sprint = ref1[o];\n sprint.user_stories = _.sortBy(sprint.user_stories, (function(_this) {\n return function(it) {\n return _this.milestonesOrder[sprint.id][it.id];\n };\n })(this));\n }\n ref2 = this.scope.closedSprints;\n for (p = 0, len5 = ref2.length; p < len5; p++) {\n sprint = ref2[p];\n sprint.user_stories = _.sortBy(sprint.user_stories, (function(_this) {\n return function(it) {\n return _this.milestonesOrder[sprint.id][it.id];\n };\n })(this));\n }\n if (usList.length > 1 && (newSprintId !== oldSprintId)) {\n data = modifiedUs.concat(setPreviousOrders, setNextOrders);\n promise = this.rs.userstories.bulkUpdateMilestone(project, newSprintId, data);\n } else if (usList.length > 1) {\n data = modifiedUs.concat(setPreviousOrders, setNextOrders);\n promise = this.rs.userstories.bulkUpdateBacklogOrder(project, data);\n } else {\n setOrders = {};\n for (q = 0, len6 = setPreviousOrders.length; q < len6; q++) {\n it = setPreviousOrders[q];\n setOrders[it.us_id] = it.order;\n }\n for (r = 0, len7 = setNextOrders.length; r < len7; r++) {\n it = setNextOrders[r];\n setOrders[it.us_id] = it.order;\n }\n options = {\n headers: {\n \"set-orders\": JSON.stringify(setOrders)\n }\n };\n promise = this.repo.save(usList[0], true, {}, options, true);\n }\n promise.then((function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"sprint:us:moved\");\n if (_this.scope.closedSprintsById && _this.scope.closedSprintsById[oldSprintId]) {\n return _this.rootscope.$broadcast(\"backlog:load-closed-sprints\");\n }\n };\n })(this));\n return promise;\n };\n\n BacklogController.prototype.updateUserStoryStatus = function() {\n return this.generateFilters().then((function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"filters:update\");\n _this.loadProjectStats();\n if (_this.isFilterDataTypeSelected('status')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n BacklogController.prototype.editUserStory = function(projectId, ref, $event) {\n var currentLoading, target;\n target = $($event.target);\n currentLoading = this.loading().target(target).removeClasses(\"edit-story\").timeout(200).start();\n return this.rs.userstories.getByRef(projectId, ref).then((function(_this) {\n return function(us) {\n return _this.rs2.attachments.list(\"us\", us.id, projectId).then(function(attachments) {\n _this.rootscope.$broadcast(\"genericform:edit\", {\n 'objType': 'us',\n 'obj': us,\n 'attachments': attachments.toJS()\n });\n return currentLoading.finish();\n });\n };\n })(this));\n };\n\n BacklogController.prototype.deleteUserStory = function(us) {\n var message, title;\n title = this.translate.instant(\"US.TITLE_DELETE_ACTION\");\n message = us.subject;\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var promise;\n _this.scope.userstories = _.without(_this.scope.userstories, us);\n promise = _this.repo.remove(us);\n promise.then(function() {\n askResponse.finish();\n return _this.q.all([_this.loadProjectStats(), _this.loadSprints()]);\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return _this.confirm.notify(\"error\");\n });\n };\n })(this));\n };\n\n BacklogController.prototype.addNewUs = function(type) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"genericform:new\", {\n 'objType': 'us',\n 'project': this.scope.project\n });\n case \"bulk\":\n return this.rootscope.$broadcast(\"usform:bulk\", this.scope.projectId, this.scope.project.default_us_status);\n }\n };\n\n BacklogController.prototype.addNewSprint = function() {\n return this.rootscope.$broadcast(\"sprintform:create\", this.scope.projectId);\n };\n\n BacklogController.prototype.findCurrentSprint = function() {\n var currentDate;\n currentDate = new Date().getTime();\n return _.find(this.scope.sprints, function(sprint) {\n var end, start;\n start = moment(sprint.estimated_start, 'YYYY-MM-DD').format('x');\n end = moment(sprint.estimated_finish, 'YYYY-MM-DD').format('x');\n return currentDate >= start && currentDate <= end;\n });\n };\n\n return BacklogController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin, taiga.UsFiltersMixin));\n\n module.controller(\"BacklogController\", BacklogController);\n\n BacklogDirective = function($repo, $rootscope, $translate, $rs) {\n var doomLineTemplate, link, linkDoomLine, linkFilters, linkToolbar, openFilterInit, showHideFilter, showHideTags;\n doomLineTemplate = _.template(\"
    <%- text %>
    \");\n linkDoomLine = function($scope, $el, $attrs, $ctrl) {\n var addDoomLineDom, getUsItems, reloadDoomLine, removeDoomlineDom;\n reloadDoomLine = function() {\n var current_sum, domElement, i, j, len, ref1, results, stats, total_points, us;\n if ($scope.displayVelocity) {\n removeDoomlineDom();\n }\n if (($scope.stats != null) && ($scope.stats.total_points != null) && $scope.stats.total_points !== 0 && ($scope.displayVelocity == null)) {\n removeDoomlineDom();\n stats = $scope.stats;\n total_points = stats.total_points;\n current_sum = stats.assigned_points;\n if (!$scope.userstories) {\n return;\n }\n ref1 = $scope.userstories;\n results = [];\n for (i = j = 0, len = ref1.length; j < len; i = ++j) {\n us = ref1[i];\n current_sum += us.total_points;\n if (current_sum > total_points) {\n domElement = $el.find('.backlog-table-body .us-item-row')[i];\n addDoomLineDom(domElement);\n break;\n } else {\n results.push(void 0);\n }\n }\n return results;\n }\n };\n removeDoomlineDom = function() {\n return $el.find(\".doom-line\").remove();\n };\n addDoomLineDom = function(element) {\n var text;\n text = $translate.instant(\"BACKLOG.DOOMLINE\");\n return $(element).before(doomLineTemplate({\n \"text\": text\n }));\n };\n getUsItems = function() {\n var rowElements;\n rowElements = $el.find('.backlog-table-body .us-item-row');\n return _.map(rowElements, function(x) {\n return angular.element(x);\n });\n };\n $scope.$on(\"userstories:loaded\", reloadDoomLine);\n $scope.$on(\"userstories:forecast\", removeDoomlineDom);\n return $scope.$watch(\"stats\", reloadDoomLine);\n };\n linkToolbar = function($scope, $el, $attrs, $ctrl) {\n var checkSelected, getUsToMove, lastChecked, moveToCurrentSprint, moveToLatestSprint, moveUssToSprint, shiftPressed;\n getUsToMove = function() {\n var ussDom;\n ussDom = $el.find(\".backlog-table-body input:checkbox:checked\");\n return _.map(ussDom, function(item) {\n var itemScope;\n item = $(item).closest('.tg-scope');\n itemScope = item.scope();\n itemScope.us.milestone = $scope.sprints[0].id;\n return itemScope.us;\n });\n };\n moveUssToSprint = function(selectedUss, sprint) {\n var data, extraPoints, totalExtraPoints, ussCurrent;\n ussCurrent = _($scope.userstories);\n $scope.userstories = ussCurrent.without.apply(ussCurrent, selectedUss).value();\n extraPoints = _.map(selectedUss, function(v, k) {\n return v.total_points;\n });\n totalExtraPoints = _.reduce(extraPoints, function(acc, num) {\n return acc + num;\n });\n sprint.user_stories = _.union(sprint.user_stories, selectedUss);\n sprint.total_points += totalExtraPoints;\n data = _.map(selectedUss, function(us) {\n return {\n us_id: us.id,\n order: us.sprint_order\n };\n });\n $rs.userstories.bulkUpdateMilestone($scope.project.id, $scope.sprints[0].id, data).then((function(_this) {\n return function() {\n $ctrl.loadSprints();\n $ctrl.loadProjectStats();\n $ctrl.toggleVelocityForecasting();\n return $ctrl.calculateForecasting();\n };\n })(this));\n return $el.find(\".move-to-sprint\").hide();\n };\n moveToCurrentSprint = function(selectedUss) {\n return moveUssToSprint(selectedUss, $scope.currentSprint);\n };\n moveToLatestSprint = function(selectedUss) {\n return moveUssToSprint(selectedUss, $scope.sprints[0]);\n };\n $scope.$on(\"sprintform:create:success:callback\", function(e, ussToMove) {\n return _.partial(moveToCurrentSprint, ussToMove)();\n });\n shiftPressed = false;\n lastChecked = null;\n checkSelected = function(target) {\n var moveToSprintDom, selectedUsDom;\n lastChecked = target.closest(\".us-item-row\");\n target.closest('.us-item-row').toggleClass('ui-multisortable-multiple');\n moveToSprintDom = $el.find(\".move-to-sprint\");\n selectedUsDom = $el.find(\".backlog-table-body input:checkbox:checked\");\n if (selectedUsDom.length > 0 && $scope.sprints.length > 0) {\n return moveToSprintDom.show();\n } else {\n return moveToSprintDom.hide();\n }\n };\n $(window).on(\"keydown.shift-pressed keyup.shift-pressed\", function(event) {\n shiftPressed = !!event.shiftKey;\n return true;\n });\n $el.on(\"change\", \".backlog-table-body input:checkbox\", function(event) {\n var current, elements, nextAll, prevAll, target;\n if (lastChecked && shiftPressed) {\n elements = [];\n current = $(event.currentTarget).closest(\".us-item-row\");\n nextAll = lastChecked.nextAll();\n prevAll = lastChecked.prevAll();\n if (_.some(nextAll, function(next) {\n return next === current[0];\n })) {\n elements = lastChecked.nextUntil(current);\n } else if (_.some(prevAll, function(prev) {\n return prev === current[0];\n })) {\n elements = lastChecked.prevUntil(current);\n }\n _.map(elements, function(elm) {\n var input;\n input = $(elm).find(\"input:checkbox\");\n input.prop('checked', true);\n return checkSelected(input);\n });\n }\n target = angular.element(event.currentTarget);\n target.closest(\".us-item-row\").toggleClass('is-checked');\n return checkSelected(target);\n });\n $el.on(\"click\", \"#move-to-latest-sprint\", (function(_this) {\n return function(event) {\n var ussToMove;\n ussToMove = getUsToMove();\n return $scope.$apply(_.partial(moveToLatestSprint, ussToMove));\n };\n })(this));\n $el.on(\"click\", \"#move-to-current-sprint\", (function(_this) {\n return function(event) {\n var ussToMove;\n ussToMove = getUsToMove();\n return $scope.$apply(_.partial(moveToCurrentSprint, ussToMove));\n };\n })(this));\n $el.on(\"click\", \"#show-tags\", function(event) {\n event.preventDefault();\n $ctrl.toggleShowTags();\n return showHideTags($ctrl);\n });\n return $el.on(\"click\", \".forecasting-add-sprint\", function(event) {\n var ussToMove, ussToMoveList;\n ussToMoveList = $ctrl.forecastedStories;\n if ($scope.currentSprint) {\n ussToMove = _.map(ussToMoveList, function(us, index) {\n us.milestone = $scope.currentSprint.id;\n us.order = index;\n return us;\n });\n return $scope.$apply(_.partial(moveToCurrentSprint, ussToMove));\n } else {\n ussToMove = _.map(ussToMoveList, function(us, index) {\n us.order = index;\n return us;\n });\n return $rootscope.$broadcast(\"sprintform:create\", $scope.projectId, ussToMove);\n }\n });\n };\n showHideTags = function($ctrl) {\n var elm, text;\n elm = angular.element(\"#show-tags\");\n if ($ctrl.showTags) {\n elm.addClass(\"active\");\n text = $translate.instant(\"BACKLOG.TAGS.HIDE\");\n return elm.text(text);\n } else {\n elm.removeClass(\"active\");\n text = $translate.instant(\"BACKLOG.TAGS.SHOW\");\n return elm.text(text);\n }\n };\n openFilterInit = function($scope, $el, $ctrl) {\n var sidebar;\n sidebar = $el.find(\"sidebar.backlog-filter\");\n sidebar.addClass(\"active\");\n return $ctrl.activeFilters = true;\n };\n showHideFilter = function($scope, $el, $ctrl) {\n var hideText, showText, sidebar, target;\n sidebar = $el.find(\"sidebar.backlog-filter\");\n sidebar.one(\"transitionend\", function() {\n return timeout(150, function() {\n $rootscope.$broadcast(\"resize\");\n return $('.burndown').css(\"visibility\", \"visible\");\n });\n });\n target = angular.element(\"#show-filters-button\");\n $('.burndown').css(\"visibility\", \"hidden\");\n sidebar.toggleClass(\"active\");\n target.toggleClass(\"active\");\n hideText = $translate.instant(\"BACKLOG.FILTERS.HIDE\");\n showText = $translate.instant(\"BACKLOG.FILTERS.SHOW\");\n toggleText(target, [hideText, showText]);\n return $ctrl.toggleActiveFilters();\n };\n linkFilters = function($scope, $el, $attrs, $ctrl) {\n $scope.filtersSearch = {};\n return $el.on(\"click\", \"#show-filters-button\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n return showHideFilter($scope, $el, $ctrl);\n });\n });\n };\n link = function($scope, $el, $attrs, $rootscope) {\n var $ctrl, filters;\n $ctrl = $el.controller();\n linkToolbar($scope, $el, $attrs, $ctrl);\n linkFilters($scope, $el, $attrs, $ctrl);\n linkDoomLine($scope, $el, $attrs, $ctrl);\n filters = $ctrl.location.search();\n if (filters.status || filters.tags || filters.q || filters.assigned_to || filters.owner) {\n openFilterInit($scope, $el, $ctrl);\n }\n $scope.$on(\"showTags\", function() {\n return showHideTags($ctrl);\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return $(window).off(\".shift-pressed\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklog\", [\"$tgRepo\", \"$rootScope\", \"$translate\", \"$tgResources\", BacklogDirective]);\n\n UsRolePointsSelectorDirective = function($rootscope, $template, $compile, $translate) {\n var link, selectionTemplate;\n selectionTemplate = $template.get(\"backlog/us-role-points-popover.html\", true);\n link = function($scope, $el, $attrs) {\n bindOnce($scope, \"project\", function(project) {\n var numberOfRoles, roles;\n roles = _.filter(project.roles, \"computable\");\n numberOfRoles = _.size(roles);\n if (numberOfRoles > 1) {\n return $el.append($compile(selectionTemplate({\n \"roles\": roles\n }))($scope));\n } else {\n $el.find(\".icon-arrow-down\").remove();\n return $el.find(\".header-points\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"uspoints:select\", function(ctx, roleId, roleName) {\n $el.find(\".popover\").popover().close();\n return $el.find(\".header-points\").html(roleName + \"/Total\");\n });\n $scope.$on(\"uspoints:clear-selection\", function(ctx, roleId) {\n var text;\n $el.find(\".popover\").popover().close();\n text = $translate.instant(\"COMMON.FIELDS.POINTS\");\n return $el.find(\".header-points\").text(text);\n });\n $el.on(\"click\", function(event) {\n var target;\n target = angular.element(event.target);\n if (target.is(\"span\") || target.is(\"div\")) {\n event.stopPropagation();\n }\n return $el.find(\".popover\").popover().open();\n });\n $el.on(\"click\", \".clear-selection\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $rootscope.$broadcast(\"uspoints:clear-selection\");\n });\n $el.on(\"click\", \".role\", function(event) {\n var rolScope, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n rolScope = target.scope();\n return $rootscope.$broadcast(\"uspoints:select\", target.data(\"role-id\"), target.text());\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUsRolePointsSelector\", [\"$rootScope\", \"$tgTemplate\", \"$compile\", \"$translate\", UsRolePointsSelectorDirective]);\n\n UsPointsDirective = function($tgEstimationsService, $repo, $tgTemplate) {\n var link, rolesTemplate;\n rolesTemplate = $tgTemplate.get(\"common/estimation/us-points-roles-popover.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, bindClickElements, estimationProcess, filteringRoleId, renderRolesSelector, selectedRoleId, updatingSelectedRoleId;\n $ctrl = $el.controller();\n updatingSelectedRoleId = null;\n selectedRoleId = null;\n filteringRoleId = null;\n estimationProcess = null;\n $scope.$on(\"uspoints:select\", function(ctx, roleId, roleName) {\n var us;\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n selectedRoleId = roleId;\n return estimationProcess.render();\n });\n $scope.$on(\"uspoints:clear-selection\", function(ctx) {\n var us;\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n selectedRoleId = null;\n return estimationProcess.render();\n });\n $scope.$watch($attrs.tgBacklogUsPoints, function(us) {\n var roles;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n roles = estimationProcess.calculateRoles();\n if (roles.length === 0) {\n $el.find(\".icon-arrow-bottom\").remove();\n $el.find(\"a.us-points\").addClass(\"not-clickable\");\n } else if (roles.length === 1) {\n selectedRoleId = _.keys(us.points)[0];\n }\n if (estimationProcess.isEditable) {\n bindClickElements();\n }\n estimationProcess.onSelectedPointForRole = function(roleId, pointId, points) {\n us.points = points;\n estimationProcess.render();\n return this.save(roleId, pointId).then(function() {\n return $ctrl.loadProjectStats();\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, pointId, pointObj, template, text, title, totalPoints;\n totalPoints = this.calculateTotalPoints();\n if ((selectedRoleId == null) || roles.length === 1) {\n text = totalPoints;\n title = totalPoints;\n } else {\n pointId = this.us.points[selectedRoleId];\n pointObj = this.pointsById[pointId];\n text = pointObj.name + \" / \" + totalPoints + \"\";\n title = pointObj.name + \" / \" + totalPoints;\n }\n ctx = {\n totalPoints: totalPoints,\n roles: this.calculateRoles(),\n editable: this.isEditable,\n text: text,\n title: title\n };\n mainTemplate = \"common/estimation/us-estimation-total.html\";\n template = $tgTemplate.get(mainTemplate, true);\n html = template(ctx);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n renderRolesSelector = function() {\n var html, roles;\n roles = estimationProcess.calculateRoles();\n html = rolesTemplate({\n \"roles\": roles\n });\n $el.append(html);\n return $el.find(\".pop-role\").popover().open(function() {\n return $(this).remove();\n });\n };\n bindClickElements = function() {\n $el.on(\"click\", \"a.us-points\", function(event) {\n var us;\n event.preventDefault();\n event.stopPropagation();\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n updatingSelectedRoleId = selectedRoleId;\n if (selectedRoleId != null) {\n return estimationProcess.renderPointsSelector(selectedRoleId);\n } else {\n return renderRolesSelector();\n }\n });\n return $el.on(\"click\", \".role\", function(event) {\n var popRolesDom, target, us;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n updatingSelectedRoleId = target.data(\"role-id\");\n popRolesDom = $el.find(\".pop-role\");\n popRolesDom.find(\"a\").removeClass(\"active\");\n popRolesDom.find(\"a[data-role-id='\" + updatingSelectedRoleId + \"']\").addClass(\"active\");\n return estimationProcess.renderPointsSelector(updatingSelectedRoleId);\n });\n };\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogUsPoints\", [\"$tgEstimationsService\", \"$tgRepo\", \"$tgTemplate\", UsPointsDirective]);\n\n ToggleBurndownVisibility = function($storage) {\n var hide, link, show;\n hide = function() {\n $(\".js-burndown-graph\").removeClass(\"shown\");\n $(\".js-toggle-burndown-visibility-button\").removeClass(\"active\");\n return $(\".js-burndown-graph\").removeClass(\"open\");\n };\n show = function(firstLoad) {\n $(\".js-toggle-burndown-visibility-button\").addClass(\"active\");\n if (firstLoad) {\n return $(\".js-burndown-graph\").addClass(\"shown\");\n } else {\n return $(\".js-burndown-graph\").addClass(\"open\");\n }\n };\n link = function($scope, $el, $attrs) {\n var firstLoad, hash, toggleGraph;\n firstLoad = true;\n hash = generateHash([\"is-burndown-grpahs-collapsed\"]);\n $scope.isBurndownGraphCollapsed = $storage.get(hash) || false;\n toggleGraph = function() {\n if ($scope.isBurndownGraphCollapsed) {\n hide(firstLoad);\n } else {\n show(firstLoad);\n }\n return firstLoad = false;\n };\n $scope.$watch(\"showGraphPlaceholder\", function() {\n if ($scope.showGraphPlaceholder != null) {\n $scope.isBurndownGraphCollapsed = $scope.isBurndownGraphCollapsed || $scope.showGraphPlaceholder;\n return toggleGraph();\n }\n });\n $el.on(\"click\", \".js-toggle-burndown-visibility-button\", function() {\n $scope.isBurndownGraphCollapsed = !$scope.isBurndownGraphCollapsed;\n $storage.set(hash, $scope.isBurndownGraphCollapsed);\n return toggleGraph();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgToggleBurndownVisibility\", [\"$tgStorage\", ToggleBurndownVisibility]);\n\n BurndownBacklogGraphDirective = function($translate) {\n var link, redrawChart;\n redrawChart = function(element, dataToDraw) {\n var client_increment_line, colors, data, evolution_line, j, milestonesRange, optimal_line, options, ref1, results, team_increment_line, width, zero_line;\n width = element.width();\n element.height(width / 6);\n milestonesRange = (function() {\n results = [];\n for (var j = 0, ref1 = dataToDraw.milestones.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; 0 <= ref1 ? j++ : j--){ results.push(j); }\n return results;\n }).apply(this);\n data = [];\n zero_line = _.map(dataToDraw.milestones, function(ml) {\n return 0;\n });\n data.push({\n data: _.zip(milestonesRange, zero_line),\n lines: {\n fillColor: \"rgba(0,0,0,0)\"\n },\n points: {\n show: false\n }\n });\n optimal_line = _.map(dataToDraw.milestones, function(ml) {\n return ml.optimal;\n });\n data.push({\n data: _.zip(milestonesRange, optimal_line),\n lines: {\n fillColor: \"rgba(120,120,120,0.2)\"\n }\n });\n evolution_line = _.filter(_.map(dataToDraw.milestones, function(ml) {\n return ml.evolution;\n }), function(evolution) {\n return evolution != null;\n });\n data.push({\n data: _.zip(milestonesRange, evolution_line),\n lines: {\n fillColor: \"rgba(102,153,51,0.3)\"\n }\n });\n client_increment_line = _.map(dataToDraw.milestones, function(ml) {\n return -ml[\"team-increment\"] - ml[\"client-increment\"];\n });\n data.push({\n data: _.zip(milestonesRange, client_increment_line),\n lines: {\n fillColor: \"rgba(255,51,51,0.3)\"\n }\n });\n team_increment_line = _.map(dataToDraw.milestones, function(ml) {\n return -ml[\"team-increment\"];\n });\n data.push({\n data: _.zip(milestonesRange, team_increment_line),\n lines: {\n fillColor: \"rgba(153,51,51,0.3)\"\n }\n });\n colors = [\"rgba(0,0,0,1)\", \"rgba(120,120,120,0.2)\", \"rgba(102,153,51,1)\", \"rgba(153,51,51,1)\", \"rgba(255,51,51,1)\"];\n options = {\n grid: {\n borderWidth: {\n top: 0,\n right: 1,\n left: 0,\n bottom: 0\n },\n borderColor: \"#ccc\",\n hoverable: true\n },\n xaxis: {\n ticks: dataToDraw.milestones.length,\n axisLabel: $translate.instant(\"BACKLOG.CHART.XAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\",\n axisLabelPadding: 5,\n tickFormatter: function(val, axis) {\n return \"\";\n }\n },\n yaxis: {\n axisLabel: $translate.instant(\"BACKLOG.CHART.YAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\",\n axisLabelPadding: 5\n },\n series: {\n shadowSize: 0,\n lines: {\n show: true,\n fill: true\n },\n points: {\n show: true,\n fill: true,\n radius: 4,\n lineWidth: 2\n }\n },\n colors: colors,\n tooltip: true,\n tooltipOpts: {\n content: function(label, xval, yval, flotItem) {\n var ctx;\n if (flotItem.seriesIndex === 1) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.OPTIMAL\", ctx);\n } else if (flotItem.seriesIndex === 2) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.REAL\", ctx);\n } else if (flotItem.seriesIndex === 3) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_CLIENT\", ctx);\n } else {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_TEAM\", ctx);\n }\n }\n }\n };\n element.empty();\n return element.plot(data, options).data(\"plot\");\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch(\"stats\", function(value) {\n if ($scope.stats != null) {\n redrawChart(element, $scope.stats);\n return $scope.$on(\"resize\", function() {\n return redrawChart(element, $scope.stats);\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBurndownBacklogGraph\", [\"$translate\", BurndownBacklogGraphDirective]);\n\n TgBacklogProgressBarDirective = function($template, $compile) {\n var adjustPercentaje, link, render, template;\n template = $template.get(\"backlog/progress-bar.html\", true);\n render = function(scope, el, projectPointsPercentaje, closedPointsPercentaje) {\n var html;\n html = template({\n projectPointsPercentaje: projectPointsPercentaje,\n closedPointsPercentaje: closedPointsPercentaje\n });\n html = $compile(html)(scope);\n return el.html(html);\n };\n adjustPercentaje = function(percentage) {\n var adjusted;\n adjusted = _.max([0, percentage]);\n adjusted = _.min([100, adjusted]);\n return Math.round(adjusted);\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch($attrs.tgBacklogProgressBar, function(stats) {\n var closedPoints, closedPointsPercentaje, definedPoints, projectPointsPercentaje, totalPoints;\n if (stats != null) {\n totalPoints = stats.total_points ? stats.total_points : stats.defined_points;\n definedPoints = stats.defined_points;\n closedPoints = stats.closed_points;\n if (definedPoints > totalPoints) {\n projectPointsPercentaje = totalPoints * 100 / definedPoints;\n closedPointsPercentaje = closedPoints * 100 / definedPoints;\n } else {\n projectPointsPercentaje = 100;\n closedPointsPercentaje = closedPoints * 100 / totalPoints;\n }\n projectPointsPercentaje = adjustPercentaje(projectPointsPercentaje - 3);\n closedPointsPercentaje = adjustPercentaje(closedPointsPercentaje - 3);\n return render($scope, $el, projectPointsPercentaje, closedPointsPercentaje);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogProgressBar\", [\"$tgTemplate\", \"$compile\", TgBacklogProgressBarDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog/sortable.coffee\n */\n\n(function() {\n var BacklogSortableDirective, bindOnce, deleteElement, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBacklog\");\n\n deleteElement = function(el) {\n $(el).scope().$destroy();\n $(el).off();\n return $(el).remove();\n };\n\n BacklogSortableDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, \"project\", function(project) {\n var drake, initIsBacklog, scroll;\n if (!(project.my_permissions.indexOf(\"modify_us\") > -1)) {\n return;\n }\n initIsBacklog = false;\n drake = dragula([$el[0], $('.js-empty-backlog')[0]], {\n copySortSource: false,\n copy: false,\n isContainer: function(el) {\n return el.classList.contains('sprint-table');\n },\n moves: function(item) {\n if (!$(item).hasClass('row')) {\n return false;\n }\n return true;\n }\n });\n drake.on('drag', function(item, container) {\n var isChecked, parent;\n parent = $(item).parent();\n initIsBacklog = parent.hasClass('backlog-table-body');\n $(document.body).addClass(\"drag-active\");\n isChecked = $(item).find(\"input[type='checkbox']\").is(\":checked\");\n return window.dragMultiple.start(item, container);\n });\n drake.on('cloned', function(item) {\n return $(item).addClass('multiple-drag-mirror');\n });\n drake.on('dragend', function(item) {\n var dragMultipleItems, firstElement, index, isBacklog, parent, sameContainer, sprint, usList;\n parent = $(item).parent();\n $('.doom-line').remove();\n parent = $(item).parent();\n isBacklog = parent.hasClass('backlog-table-body') || parent.hasClass('js-empty-backlog');\n if (initIsBacklog || isBacklog) {\n sameContainer = initIsBacklog === isBacklog;\n } else {\n sameContainer = $(item).scope().sprint.id === parent.scope().sprint.id;\n }\n dragMultipleItems = window.dragMultiple.stop();\n $(document.body).removeClass(\"drag-active\");\n sprint = null;\n firstElement = dragMultipleItems.length ? dragMultipleItems[0] : item;\n if (isBacklog) {\n index = $(firstElement).index(\".backlog-table-body .row\");\n } else {\n index = $(firstElement).index();\n sprint = parent.scope().sprint.id;\n }\n if (!sameContainer) {\n if (dragMultipleItems.length) {\n usList = _.map(dragMultipleItems, function(item) {\n return item = $(item).scope().us;\n });\n } else {\n usList = [$(item).scope().us];\n }\n if (dragMultipleItems.length) {\n _.each(dragMultipleItems, function(item) {\n return deleteElement(item);\n });\n } else {\n deleteElement(item);\n }\n } else {\n if (dragMultipleItems.length) {\n usList = _.map(dragMultipleItems, function(item) {\n return item = $(item).scope().us;\n });\n } else {\n usList = [$(item).scope().us];\n }\n }\n return $scope.$emit(\"sprint:us:move\", usList, index, sprint);\n });\n scroll = autoScroll([window], {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogSortable\", BacklogSortableDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog/sprints.coffee\n */\n\n(function() {\n var BacklogSprintDirective, BacklogSprintHeaderDirective, ToggleExcludeClosedSprintsVisualization, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaBacklog\");\n\n BacklogSprintDirective = function($repo, $rootscope) {\n var link, slideOptions, sprintTableMinHeight, toggleSprint;\n sprintTableMinHeight = 50;\n slideOptions = {\n duration: 500,\n easing: 'linear'\n };\n toggleSprint = (function(_this) {\n return function($el) {\n var sprintArrow, sprintTable;\n sprintTable = $el.find(\".sprint-table\");\n sprintArrow = $el.find(\".compact-sprint\");\n sprintArrow.toggleClass('active');\n return sprintTable.toggleClass('open');\n };\n })(this);\n link = function($scope, $el, $attrs) {\n $scope.$watch($attrs.tgBacklogSprint, function(sprint) {\n sprint = $scope.$eval($attrs.tgBacklogSprint);\n if (sprint.closed) {\n return $el.addClass(\"sprint-closed\");\n } else {\n return toggleSprint($el);\n }\n });\n $el.on(\"click\", \".sprint-name > .compact-sprint\", function(event) {\n event.preventDefault();\n toggleSprint($el);\n return $el.find(\".sprint-table\").slideToggle(slideOptions);\n });\n $el.on(\"click\", \".edit-sprint\", function(event) {\n var sprint;\n event.preventDefault();\n sprint = $scope.$eval($attrs.tgBacklogSprint);\n return $rootscope.$broadcast(\"sprintform:edit\", sprint);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogSprint\", [\"$tgRepo\", \"$rootScope\", BacklogSprintDirective]);\n\n BacklogSprintHeaderDirective = function($navUrls, $template, $compile, $translate) {\n var link, template;\n template = $template.get(\"backlog/sprint-header.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, isVisible, prettyDate, render;\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\");\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_milestone\") !== -1;\n };\n isVisible = function() {\n return $scope.project.my_permissions.indexOf(\"view_milestones\") !== -1;\n };\n render = function(sprint) {\n var compiledTemplate, ctx, estimatedDateRange, finish, start, taskboardUrl, templateScope;\n taskboardUrl = $navUrls.resolve(\"project-taskboard\", {\n project: $scope.project.slug,\n sprint: sprint.slug\n });\n start = moment(sprint.estimated_start).format(prettyDate);\n finish = moment(sprint.estimated_finish).format(prettyDate);\n estimatedDateRange = start + \"-\" + finish;\n ctx = {\n name: sprint.name,\n taskboardUrl: taskboardUrl,\n estimatedDateRange: estimatedDateRange,\n closedPoints: sprint.closed_points || 0,\n totalPoints: sprint.total_points || 0,\n isVisible: isVisible(),\n isEditable: isEditable()\n };\n templateScope = $scope.$new();\n _.assign(templateScope, ctx);\n compiledTemplate = $compile(template)(templateScope);\n return $el.html(compiledTemplate);\n };\n $scope.$watch(\"sprint\", function(sprint) {\n return render(sprint);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\"\n };\n };\n\n module.directive(\"tgBacklogSprintHeader\", [\"$tgNavUrls\", \"$tgTemplate\", \"$compile\", \"$translate\", BacklogSprintHeaderDirective]);\n\n ToggleExcludeClosedSprintsVisualization = function($rootscope, $loading, $translate) {\n var excludeClosedSprints, link;\n excludeClosedSprints = true;\n link = function($scope, $el, $attrs) {\n var currentLoading, loadingElm;\n loadingElm = $(\"
    \");\n $el.after(loadingElm);\n currentLoading = null;\n $el.on(\"click\", function(event) {\n event.preventDefault();\n excludeClosedSprints = !excludeClosedSprints;\n currentLoading = $loading().target(loadingElm).start();\n if (excludeClosedSprints) {\n return $rootscope.$broadcast(\"backlog:unload-closed-sprints\");\n } else {\n return $rootscope.$broadcast(\"backlog:load-closed-sprints\");\n }\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return $scope.$on(\"closed-sprints:reloaded\", (function(_this) {\n return function(ctx, sprints) {\n var key, text;\n currentLoading.finish();\n if (sprints.length > 0) {\n key = \"BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS\";\n } else {\n key = \"BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS\";\n }\n text = $translate.instant(key);\n return $el.find(\".text\").text(text);\n };\n })(this));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogToggleClosedSprintsVisualization\", [\"$rootScope\", \"$tgLoading\", \"$translate\", ToggleExcludeClosedSprintsVisualization]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/taskboard/charts.coffee\n */\n\n(function() {\n var SprintGraphDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaTaskboard\");\n\n SprintGraphDirective = function($translate) {\n var link, redrawChart;\n redrawChart = function(element, dataToDraw) {\n var data, days, options, width;\n width = element.width();\n element.height(240);\n days = _.map(dataToDraw, function(x) {\n return moment(new Date(x.day).getTime());\n });\n data = [];\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.optimal_points;\n })),\n lines: {\n fillColor: \"rgba(120,120,120,0.2)\"\n }\n });\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.open_points;\n })),\n lines: {\n fillColor: \"rgba(102,153,51,0.3)\"\n }\n });\n options = {\n grid: {\n borderWidth: {\n top: 0,\n right: 1,\n left: 0,\n bottom: 0\n },\n borderColor: '#ccc',\n hoverable: true\n },\n xaxis: {\n tickSize: [1, \"day\"],\n min: days[0],\n max: _.last(days),\n mode: \"time\",\n daysNames: days,\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.XAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',\n axisLabelPadding: 5\n },\n yaxis: {\n min: 0,\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.YAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',\n axisLabelPadding: 5\n },\n series: {\n shadowSize: 0,\n lines: {\n show: true,\n fill: true\n },\n points: {\n show: true,\n fill: true,\n radius: 4,\n lineWidth: 2\n }\n },\n colors: [\"rgba(102,153,51,1)\", \"rgba(120,120,120,0.2)\"],\n tooltip: true,\n tooltipOpts: {\n content: function(label, xval, yval, flotItem) {\n var formattedDate, roundedValue;\n formattedDate = moment(xval).format($translate.instant(\"TASKBOARD.CHARTS.DATE\"));\n roundedValue = Math.round(yval);\n if (flotItem.seriesIndex === 1) {\n return $translate.instant(\"TASKBOARD.CHARTS.OPTIMAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n });\n } else {\n return $translate.instant(\"TASKBOARD.CHARTS.REAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n });\n }\n }\n }\n };\n element.empty();\n return element.plot(data, options).data(\"plot\");\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$on(\"resize\", function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n $scope.$on(\"taskboard:graph:toggle-visibility\", function() {\n $el.parent().toggleClass('open');\n return timeout(100, function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n });\n $scope.$watch('stats', function(value) {\n if ($scope.stats == null) {\n return;\n }\n return redrawChart(element, $scope.stats.days);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintGraph\", [\"$translate\", SprintGraphDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/taskboard/lightboxes.coffee\n */\n\n(function() {\n var CreateBulkTasksDirective, bindOnce, debounce, module, taiga, trim;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n module = angular.module(\"taigaTaskboard\");\n\n CreateBulkTasksDirective = function($repo, $rs, $rootscope, $loading, lightboxService, $model) {\n var link;\n link = function($scope, $el, attrs) {\n var submit, submitButton;\n $scope.form = {\n data: \"\",\n usId: null\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, data, form, projectId, promise, sprintId, usId;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n data = $scope.form.data;\n projectId = $scope.projectId;\n sprintId = $scope.form.sprintId;\n usId = $scope.form.usId;\n promise = $rs.tasks.bulkCreate(projectId, sprintId, usId, data);\n promise.then(function(result) {\n result = _.map(result, (function(_this) {\n return function(x) {\n return $model.make_model('tasks', x);\n };\n })(this));\n currentLoading.finish();\n $rootscope.$broadcast(\"taskform:bulk:success\", result);\n return lightboxService.close($el);\n });\n return promise.then(null, function() {\n return currentLoading.finish();\n });\n };\n })(this));\n $scope.$on(\"taskform:bulk\", function(ctx, sprintId, usId) {\n lightboxService.open($el);\n return $scope.form = {\n data: \"\",\n sprintId: sprintId,\n usId: usId\n };\n });\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateBulkTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", \"$tgLoading\", \"lightboxService\", \"$tgModel\", CreateBulkTasksDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/taskboard.coffee\n */\n\n(function() {\n var TaskboardController, TaskboardDirective, TaskboardSquishColumnDirective, bindMethods, bindOnce, debounceLeading, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n toggleText = this.taiga.toggleText;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n scopeDefer = this.taiga.scopeDefer;\n\n timeout = this.taiga.timeout;\n\n bindMethods = this.taiga.bindMethods;\n\n debounceLeading = this.taiga.debounceLeading;\n\n module = angular.module(\"taigaTaskboard\");\n\n TaskboardController = (function(superClass) {\n extend(TaskboardController, superClass);\n\n TaskboardController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"tgResources\", \"$routeParams\", \"$q\", \"tgAppMetaService\", \"$tgLocation\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"tgTaskboardTasks\", \"tgTaskboardIssues\", \"$tgStorage\", \"tgFilterRemoteStorageService\"];\n\n function TaskboardController(scope, rootscope, repo, confirm, rs1, rs2, params1, q1, appMetaService, location, navUrls, events, analytics, translate, errorHandlingService, taskboardTasksService, taskboardIssuesService, storage, filterRemoteStorageService) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs1;\n this.rs2 = rs2;\n this.params = params1;\n this.q = q1;\n this.appMetaService = appMetaService;\n this.location = location;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.taskboardTasksService = taskboardTasksService;\n this.taskboardIssuesService = taskboardIssuesService;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n bindMethods(this);\n this.taskboardTasksService.reset();\n this.scope.userstories = [];\n this.openFilter = false;\n if (this.applyStoredFilters(this.params.pslug, \"tasks-filters\")) {\n return;\n }\n this.scope.sectionName = this.translate.instant(\"TASKBOARD.SECTION_NAME\");\n this.initializeEventHandlers();\n taiga.defineImmutableProperty(this.scope, \"usTasks\", (function(_this) {\n return function() {\n return _this.taskboardTasksService.usTasks;\n };\n })(this));\n taiga.defineImmutableProperty(this.scope, \"milestoneIssues\", (function(_this) {\n return function() {\n return _this.taskboardIssuesService.milestoneIssues;\n };\n })(this));\n }\n\n TaskboardController.prototype.firstLoad = function() {\n var promise;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this._setMeta();\n };\n })(this));\n return promise.then(null, this.onInitialDataError.bind(this));\n };\n\n TaskboardController.prototype.setZoom = function(zoomLevel, zoom) {\n var previousZoomLevel;\n if (this.zoomLevel === zoomLevel) {\n return null;\n }\n this.isFirstLoad = !this.zoomLevel;\n previousZoomLevel = this.zoomLevel;\n this.zoomLevel = zoomLevel;\n this.zoom = zoom;\n if (this.isFirstLoad) {\n this.firstLoad().then((function(_this) {\n return function() {\n _this.isFirstLoad = false;\n return _this.taskboardTasksService.resetFolds();\n };\n })(this));\n } else if (this.zoomLevel > 1 && previousZoomLevel <= 1) {\n this.zoomLoading = true;\n this.q.all([this.loadTasks(), this.loadIssues()]).then((function(_this) {\n return function() {\n _this.zoomLoading = false;\n return _this.taskboardTasksService.resetFolds();\n };\n })(this));\n }\n if (this.zoomLevel === '0') {\n return this.rootscope.$broadcast(\"sprint:zoom0\");\n }\n };\n\n TaskboardController.prototype.changeQ = function(q) {\n this.replaceFilter(\"q\", q);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.removeFilter = function(filter) {\n this.unselectFilter(filter.dataType, filter.id);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.addFilter = function(newFilter) {\n this.selectFilter(newFilter.category.dataType, newFilter.filter.id);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.selectCustomFilter = function(customFilter) {\n this.replaceAllFilters(customFilter.filter);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.removeCustomFilter = function(customFilter) {\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, 'tasks-custom-filters').then((function(_this) {\n return function(userFilters) {\n delete userFilters[customFilter.id];\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, 'tasks-custom-filters').then(_this.generateFilters);\n };\n })(this));\n };\n\n TaskboardController.prototype.isFilterDataTypeSelected = function(filterDataType) {\n var filter, i, len, ref;\n ref = this.selectedFilters;\n for (i = 0, len = ref.length; i < len; i++) {\n filter = ref[i];\n if (filter['dataType'] === filterDataType) {\n return true;\n }\n }\n return false;\n };\n\n TaskboardController.prototype.saveCustomFilter = function(name) {\n var filters, urlfilters;\n filters = {};\n urlfilters = this.location.search();\n filters.tags = urlfilters.tags;\n filters.status = urlfilters.status;\n filters.assigned_to = urlfilters.assigned_to;\n filters.owner = urlfilters.owner;\n filters.role = urlfilters.role;\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, 'tasks-custom-filters').then((function(_this) {\n return function(userFilters) {\n userFilters[name] = filters;\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, 'tasks-custom-filters').then(_this.generateFilters);\n };\n })(this));\n };\n\n TaskboardController.prototype.generateFilters = function() {\n var loadFilters, urlfilters;\n this.storeFilters(this.params.pslug, this.location.search(), \"tasks-filters\");\n urlfilters = this.location.search();\n loadFilters = {};\n loadFilters.project = this.scope.projectId;\n loadFilters.milestone = this.scope.sprintId;\n loadFilters.tags = urlfilters.tags;\n loadFilters.status = urlfilters.status;\n loadFilters.assigned_to = urlfilters.assigned_to;\n loadFilters.owner = urlfilters.owner;\n loadFilters.role = urlfilters.role;\n loadFilters.q = urlfilters.q;\n return this.q.all([this.rs.tasks.filtersData(loadFilters), this.filterRemoteStorageService.getFilters(this.scope.projectId, 'tasks-custom-filters')]).then((function(_this) {\n return function(result) {\n var assignedTo, customFiltersRaw, data, owner, role, selected, statuses, tags, tagsWithAtLeastOneElement;\n data = result[0];\n customFiltersRaw = result[1];\n statuses = _.map(data.statuses, function(it) {\n it.id = it.id.toString();\n return it;\n });\n tags = _.map(data.tags, function(it) {\n it.id = it.name;\n return it;\n });\n tagsWithAtLeastOneElement = _.filter(tags, function(tag) {\n return tag.count > 0;\n });\n assignedTo = _.map(data.assigned_to, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.full_name || \"Unassigned\";\n return it;\n });\n role = _.map(data.roles, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.name || \"Unassigned\";\n return it;\n });\n owner = _.map(data.owners, function(it) {\n it.id = it.id.toString();\n it.name = it.full_name;\n return it;\n });\n _this.selectedFilters = [];\n if (loadFilters.status) {\n selected = _this.formatSelectedFilters(\"status\", statuses, loadFilters.status);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.tags) {\n selected = _this.formatSelectedFilters(\"tags\", tags, loadFilters.tags);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.assigned_to) {\n selected = _this.formatSelectedFilters(\"assigned_to\", assignedTo, loadFilters.assigned_to);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.owner) {\n selected = _this.formatSelectedFilters(\"owner\", owner, loadFilters.owner);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.role) {\n selected = _this.formatSelectedFilters(\"role\", role, loadFilters.role);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n _this.filterQ = loadFilters.q;\n _this.filters = [\n {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.STATUS\"),\n dataType: \"status\",\n content: statuses\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.TAGS\"),\n dataType: \"tags\",\n content: tags,\n hideEmpty: true,\n totalTaggedElements: tagsWithAtLeastOneElement.length\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.ASSIGNED_TO\"),\n dataType: \"assigned_to\",\n content: assignedTo\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.ROLE\"),\n dataType: \"role\",\n content: role\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.CREATED_BY\"),\n dataType: \"owner\",\n content: owner\n }\n ];\n _this.customFilters = [];\n return _.forOwn(customFiltersRaw, function(value, key) {\n return _this.customFilters.push({\n id: key,\n name: key,\n filter: value\n });\n });\n };\n })(this));\n };\n\n TaskboardController.prototype._setMeta = function() {\n var description, prettyDate, title;\n prettyDate = this.translate.instant(\"BACKLOG.SPRINTS.DATE\");\n title = this.translate.instant(\"TASKBOARD.PAGE_TITLE\", {\n projectName: this.scope.project.name,\n sprintName: this.scope.sprint.name\n });\n description = this.translate.instant(\"TASKBOARD.PAGE_DESCRIPTION\", {\n projectName: this.scope.project.name,\n sprintName: this.scope.sprint.name,\n startDate: moment(this.scope.sprint.estimated_start).format(prettyDate),\n endDate: moment(this.scope.sprint.estimated_finish).format(prettyDate),\n completedPercentage: this.scope.stats.completedPercentage || \"0\",\n completedPoints: this.scope.stats.completedPointsSum || \"--\",\n totalPoints: this.scope.stats.totalPointsSum || \"--\",\n openTasks: this.scope.stats.openTasks || \"--\",\n totalTasks: this.scope.stats.total_tasks || \"--\"\n });\n return this.appMetaService.setAll(title, description);\n };\n\n TaskboardController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"taskform:bulk:success\", (function(_this) {\n return function(event, tasks) {\n _this.refreshTagsColors().then(function() {\n return _this.taskboardTasksService.add(tasks);\n });\n return _this.analytics.trackEvent(\"task\", \"create\", \"bulk create task on taskboard\", 1);\n };\n })(this));\n this.scope.$on(\"taskform:new:success\", (function(_this) {\n return function(event, task) {\n _this.refreshTagsColors().then(function() {\n return _this.taskboardTasksService.add(task);\n });\n return _this.analytics.trackEvent(\"task\", \"create\", \"create task on taskboard\", 1);\n };\n })(this));\n this.scope.$on(\"taskform:edit:success\", (function(_this) {\n return function(event, task) {\n return _this.refreshTagsColors().then(function() {\n return _this.taskboardTasksService.replaceModel(task);\n });\n };\n })(this));\n this.scope.$on(\"issueform:new:success\", (function(_this) {\n return function(event, issue) {\n _this.refreshTagsColors().then(function() {\n return _this.taskboardIssuesService.add(issue);\n });\n return _this.analytics.trackEvent(\"issue\", \"create\", \"create issue on taskboard\", 1);\n };\n })(this));\n this.scope.$on(\"issueform:add:success\", (function(_this) {\n return function(event, issue) {\n return _this.refreshTagsColors().then(function() {\n return _this.taskboardIssuesService.add(issue);\n });\n };\n })(this));\n this.scope.$on(\"issueform:edit:success\", (function(_this) {\n return function(event, issue) {\n return _this.refreshTagsColors().then(function() {\n return _this.taskboardIssuesService.replaceModel(issue);\n });\n };\n })(this));\n this.scope.$on(\"taskboard:task:deleted\", (function(_this) {\n return function(event, task) {\n return _this.loadTasks();\n };\n })(this));\n this.scope.$on(\"taskboard:issue:deleted\", (function(_this) {\n return function(event, issue) {\n return _this.loadIssues();\n };\n })(this));\n this.scope.$on(\"taskboard:task:move\", this.taskMove);\n return this.scope.$on(\"assigned-to:added\", this.onAssignedToChanged);\n };\n\n TaskboardController.prototype.onAssignedToChanged = function(ctx, userid, model) {\n if (model.getName() === 'tasks') {\n model.assigned_to = userid;\n this.taskboardTasksService.replaceModel(model);\n this.repo.save(model).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_to') || _this.isFilterDataTypeSelected('role')) {\n return _this.loadTasks();\n }\n };\n })(this));\n }\n if (model.getName() === 'issues') {\n model.assigned_to = userid;\n this.taskboardIssuesService.replaceModel(model);\n return this.repo.save(model).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_to') || _this.isFilterDataTypeSelected('role')) {\n return _this.loadIssues();\n }\n };\n })(this));\n }\n };\n\n TaskboardController.prototype.initializeSubscription = function() {\n var routingKey, routingKey1;\n routingKey = \"changes.project.\" + this.scope.projectId + \".tasks\";\n this.events.subscribe(this.scope, routingKey, debounceLeading(500, (function(_this) {\n return function(message) {\n return _this.loadTaskboard();\n };\n })(this)));\n routingKey = \"changes.project.\" + this.scope.projectId + \".issues\";\n this.events.subscribe(this.scope, routingKey, debounceLeading(500, (function(_this) {\n return function(message) {\n return _this.loadIssues();\n };\n })(this)));\n routingKey1 = \"changes.project.\" + this.scope.projectId + \".userstories\";\n return this.events.subscribe(this.scope, routingKey1, (function(_this) {\n return function(message) {\n _this.refreshTagsColors();\n _this.loadSprintStats();\n return _this.loadSprint();\n };\n })(this));\n };\n\n TaskboardController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.is_backlog_activated) {\n _this.errorHandlingService.permissionDenied();\n }\n _this.scope.project = project;\n _this.scope.pointsList = _.sortBy(project.points, \"order\");\n _this.scope.pointsById = groupBy(project.points, function(e) {\n return e.id;\n });\n _this.scope.roleById = groupBy(project.roles, function(e) {\n return e.id;\n });\n _this.scope.taskStatusList = _.sortBy(project.task_statuses, \"order\");\n _this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n _this.scope.usStatusById = groupBy(project.us_statuses, function(e) {\n return e.id;\n });\n _this.scope.issueStatusById = groupBy(project.issue_statuses, function(e) {\n return e.id;\n });\n _this.scope.$emit('project:loaded', project);\n _this.fillUsersAndRoles(project.members, project.roles);\n return project;\n };\n })(this));\n };\n\n TaskboardController.prototype.loadSprintStats = function() {\n return this.rs.sprints.stats(this.scope.projectId, this.scope.sprintId).then((function(_this) {\n return function(stats) {\n var completedPointsSum, remainingPointsSum, remainingTasks, totalPointsSum;\n totalPointsSum = _.reduce(_.values(stats.total_points), (function(res, n) {\n return res + n;\n }), 0);\n completedPointsSum = _.reduce(_.values(stats.completed_points), (function(res, n) {\n return res + n;\n }), 0);\n remainingPointsSum = totalPointsSum - completedPointsSum;\n remainingTasks = stats.total_tasks - stats.completed_tasks;\n _this.scope.stats = stats;\n _this.scope.stats.totalPointsSum = totalPointsSum;\n _this.scope.stats.completedPointsSum = completedPointsSum;\n _this.scope.stats.remainingPointsSum = remainingPointsSum;\n _this.scope.stats.remainingTasks = remainingTasks;\n if (stats.totalPointsSum) {\n _this.scope.stats.completedPercentage = Math.round(100 * stats.completedPointsSum / stats.totalPointsSum);\n } else {\n _this.scope.stats.completedPercentage = 0;\n }\n _this.scope.stats.openTasks = stats.total_tasks - stats.completed_tasks;\n return stats;\n };\n })(this));\n };\n\n TaskboardController.prototype.refreshTagsColors = function() {\n return this.rs.projects.tagsColors(this.scope.projectId).then((function(_this) {\n return function(tags_colors) {\n return _this.scope.project.tags_colors = tags_colors._attrs;\n };\n })(this));\n };\n\n TaskboardController.prototype.loadSprint = function() {\n return this.rs.sprints.get(this.scope.projectId, this.scope.sprintId).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n _this.scope.userstories = _.sortBy(sprint.user_stories, \"sprint_order\");\n _this.taskboardTasksService.setUserstories(_this.scope.userstories);\n return sprint;\n };\n })(this));\n };\n\n TaskboardController.prototype.loadIssues = function() {\n var params;\n params = {};\n if (this.zoomLevel > 1) {\n params.include_attachments = 1;\n }\n params = _.merge(params, this.location.search());\n return this.rs.issues.listInProject(this.scope.projectId, this.scope.sprintId, params).then((function(_this) {\n return function(issues) {\n _this.taskboardIssuesService.init(_this.scope.project, _this.scope.usersById, _this.scope.issueStatusById);\n return _this.taskboardIssuesService.set(issues);\n };\n })(this));\n };\n\n TaskboardController.prototype.loadTasks = function() {\n var params;\n params = {};\n if (this.zoomLevel > 1) {\n params.include_attachments = 1;\n }\n params = _.merge(params, this.location.search());\n return this.rs.tasks.list(this.scope.projectId, this.scope.sprintId, null, params).then((function(_this) {\n return function(tasks) {\n _this.taskboardTasksService.init(_this.scope.project, _this.scope.usersById);\n return _this.taskboardTasksService.set(tasks);\n };\n })(this));\n };\n\n TaskboardController.prototype.loadTaskboard = function() {\n return this.q.all([\n this.refreshTagsColors(), this.loadSprintStats(), this.loadSprint().then((function(_this) {\n return function() {\n _this.loadTasks();\n return _this.loadIssues();\n };\n })(this))\n ]);\n };\n\n TaskboardController.prototype.loadInitialData = function() {\n var params, promise;\n params = {\n pslug: this.params.pslug,\n sslug: this.params.sslug\n };\n promise = this.repo.resolve(params).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n _this.scope.sprintId = data.milestone;\n _this.initializeSubscription();\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n _this.generateFilters();\n return _this.loadTaskboard().then(function() {\n return _this.setRolePoints();\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.showPlaceHolder = function(statusId, usId) {\n if (!this.taskboardTasksService.tasksRaw.length) {\n if (this.scope.taskStatusList[0].id === statusId && (!this.scope.userstories.length || this.scope.userstories[0].id === usId)) {\n return true;\n }\n }\n return false;\n };\n\n TaskboardController.prototype.editTask = function(id) {\n var task;\n task = this.taskboardTasksService.getTask(id);\n task = task.set('loading-edit', true);\n this.taskboardTasksService.replace(task);\n return this.rs.tasks.getByRef(task.getIn(['model', 'project']), task.getIn(['model', 'ref'])).then((function(_this) {\n return function(editingTask) {\n return _this.rs2.attachments.list(\"task\", task.get('id'), task.getIn(['model', 'project'])).then(function(attachments) {\n _this.rootscope.$broadcast(\"genericform:edit\", {\n 'objType': 'task',\n 'obj': editingTask,\n 'project': _this.scope.project,\n 'sprintId': _this.scope.sprintId,\n 'attachments': attachments.toJS()\n });\n task = task.set('loading-edit', false);\n return _this.taskboardTasksService.replace(task);\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.editIssue = function(id) {\n var issue;\n issue = this.taskboardIssuesService.getIssue(id);\n issue = issue.set('loading-edit', true);\n return this.rs.issues.getByRef(issue.getIn(['model', 'project']), issue.getIn(['model', 'ref'])).then((function(_this) {\n return function(editingIssue) {\n return _this.rs2.attachments.list(\"issue\", issue.get('id'), issue.getIn(['model', 'project'])).then(function(attachments) {\n _this.rootscope.$broadcast(\"genericform:edit\", {\n 'objType': 'issue',\n 'obj': editingIssue,\n 'project': _this.scope.project,\n 'sprintId': _this.scope.sprintId,\n 'attachments': attachments.toJS()\n });\n return issue = issue.set('loading-edit', false);\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.deleteTask = function(id) {\n var task;\n task = this.taskboardTasksService.getTask(id);\n task = task.set('loading-delete', true);\n return this.rs.tasks.getByRef(task.getIn(['model', 'project']), task.getIn(['model', 'ref'])).then((function(_this) {\n return function(deletingTask) {\n var message, title;\n task = task.set('loading-delete', false);\n title = _this.translate.instant(\"TASK.TITLE_DELETE_ACTION\");\n message = deletingTask.subject;\n return _this.confirm.askOnDelete(title, message).then(function(askResponse) {\n var promise;\n promise = _this.repo.remove(deletingTask);\n promise.then(function() {\n _this.scope.$broadcast(\"taskboard:task:deleted\");\n return askResponse.finish();\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return this.confirm.notify(\"error\");\n });\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.deleteIssue = function(id) {\n var issue;\n issue = this.taskboardIssuesService.getIssue(id);\n issue = issue.set('loading-delete', true);\n return this.rs.issues.getByRef(issue.getIn(['model', 'project']), issue.getIn(['model', 'ref'])).then((function(_this) {\n return function(deletingIssue) {\n var message, title;\n issue = issue.set('loading-delete', false);\n title = _this.translate.instant(\"ISSUES.ACTION_DELETE\");\n message = deletingIssue.subject;\n return _this.confirm.askOnDelete(title, message).then(function(askResponse) {\n var promise;\n promise = _this.repo.remove(deletingIssue);\n promise.then(function() {\n _this.scope.$broadcast(\"taskboard:issue:deleted\");\n return askResponse.finish();\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return this.confirm.notify(\"error\");\n });\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.removeIssueFromSprint = function(id) {\n var issue;\n issue = this.taskboardIssuesService.getIssue(id);\n issue = issue.set('loading-delete', true);\n return this.rs.issues.getByRef(issue.getIn(['model', 'project']), issue.getIn(['model', 'ref'])).then((function(_this) {\n return function(removingIssue) {\n var message, title;\n issue = issue.set('loading-delete', false);\n title = _this.translate.instant(\"ISSUES.CONFIRM_DETACH_FROM_SPRINT.TITLE\");\n message = _this.translate.instant(\"ISSUES.CONFIRM_DETACH_FROM_SPRINT.MESSAGE\");\n message += \" \" + _this.scope.sprint.name + \"\";\n return _this.confirm.ask(title, null, message).then(function(askResponse) {\n var promise;\n removingIssue.milestone = null;\n promise = _this.repo.save(removingIssue);\n promise.then(function() {\n _this.taskboardIssuesService.remove(removingIssue);\n return askResponse.finish();\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return this.confirm.notify(\"error\");\n });\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.taskMove = function(ctx, task, oldStatusId, usId, statusId, order) {\n var moveUpdateData, options, params, promise;\n task = this.taskboardTasksService.getTaskModel(task.get('id'));\n moveUpdateData = this.taskboardTasksService.move(task.id, usId, statusId, order);\n params = {\n status__is_archived: false,\n include_attachments: true\n };\n options = {\n headers: {\n \"set-orders\": JSON.stringify(moveUpdateData.set_orders)\n }\n };\n return promise = this.repo.save(task, true, params, options, true).then((function(_this) {\n return function(result) {\n var headers;\n headers = result[1];\n if (headers && headers['taiga-info-order-updated']) {\n order = JSON.parse(headers['taiga-info-order-updated']);\n _this.taskboardTasksService.assignOrders(order);\n }\n _this.loadSprintStats();\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('status')) {\n return _this.loadTasks();\n }\n };\n })(this));\n };\n\n TaskboardController.prototype.addNewTask = function(type, us) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"genericform:new\", {\n 'objType': 'task',\n 'project': this.scope.project,\n 'sprintId': this.scope.sprintId,\n 'usId': us != null ? us.id : void 0\n });\n case \"bulk\":\n return this.rootscope.$broadcast(\"taskform:bulk\", this.scope.sprintId, us != null ? us.id : void 0);\n }\n };\n\n TaskboardController.prototype.addNewIssue = function(type, us) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"genericform:new-or-existing\", {\n objType: 'issue',\n project: this.scope.project,\n sprintId: this.scope.sprintId,\n relatedField: 'milestone',\n relatedObjectId: this.scope.sprintId,\n title: (this.translate.instant(\"COMMON.FIELDS.SPRINT\")) + \" \" + this.scope.sprint.name\n });\n case \"standard\":\n return this.rootscope.$broadcast(\"taskform:new\", this.scope.sprintId, us != null ? us.id : void 0);\n case \"bulk\":\n return this.rootscope.$broadcast(\"issueform:bulk\", this.scope.projectId, this.scope.sprintId);\n }\n };\n\n TaskboardController.prototype.toggleFold = function(id, modelName) {\n if (modelName === 'issues') {\n return this.taskboardIssuesService.toggleFold(id);\n } else if (modelName === 'tasks') {\n return this.taskboardTasksService.toggleFold(id);\n }\n };\n\n TaskboardController.prototype.changeTaskAssignedTo = function(id) {\n var task;\n task = this.taskboardTasksService.getTaskModel(id);\n return this.rootscope.$broadcast(\"assigned-to:add\", task);\n };\n\n TaskboardController.prototype.changeIssueAssignedTo = function(id) {\n var issue;\n issue = this.taskboardIssuesService.getIssueModel(id);\n return this.rootscope.$broadcast(\"assigned-to:add\", issue);\n };\n\n TaskboardController.prototype.setRolePoints = function() {\n var computableRoles, getPoint, getRole, pointsByRole;\n computableRoles = _.filter(this.scope.project.roles, \"computable\");\n getRole = (function(_this) {\n return function(roleId) {\n roleId = parseInt(roleId, 10);\n return _.find(computableRoles, function(role) {\n return role.id === roleId;\n });\n };\n })(this);\n getPoint = (function(_this) {\n return function(pointId) {\n var poitnId;\n poitnId = parseInt(pointId, 10);\n return _.find(_this.scope.project.points, function(point) {\n return point.id === pointId;\n });\n };\n })(this);\n pointsByRole = _.reduce(this.scope.userstories, (function(_this) {\n return function(result, us, key) {\n _.forOwn(us.points, function(pointId, roleId) {\n var point, role;\n role = getRole(roleId);\n point = getPoint(pointId);\n if (!result[role.id]) {\n result[role.id] = role;\n result[role.id].points = 0;\n }\n return result[role.id].points += point.value;\n });\n return result;\n };\n })(this), {});\n return this.scope.pointsByRole = Object.keys(pointsByRole).map(function(key) {\n return pointsByRole[key];\n });\n };\n\n return TaskboardController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"TaskboardController\", TaskboardController);\n\n TaskboardDirective = function($rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, tableBodyDom;\n $ctrl = $el.controller();\n $el.on(\"click\", \".toggle-analytics-visibility\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n target.toggleClass('active');\n return $rootscope.$broadcast(\"taskboard:graph:toggle-visibility\");\n });\n tableBodyDom = $el.find(\".taskboard-table-body\");\n tableBodyDom.on(\"scroll\", function(event) {\n var tableHeaderDom, target;\n target = angular.element(event.currentTarget);\n tableHeaderDom = $el.find(\".taskboard-table-header .taskboard-table-inner\");\n return tableHeaderDom.css(\"left\", -1 * target.scrollLeft());\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgTaskboard\", [\"$rootScope\", TaskboardDirective]);\n\n TaskboardSquishColumnDirective = function(rs) {\n var avatarWidth, link, maxColumnWidth;\n avatarWidth = 40;\n maxColumnWidth = 300;\n link = function($scope, $el, $attrs) {\n var getCeilWidth, recalculateStatusColumnWidth, recalculateTaskboardWidth, refreshTaskboardTableWidth, setStatusColumnWidth;\n $scope.$on(\"sprint:zoom0\", (function(_this) {\n return function() {\n return recalculateTaskboardWidth();\n };\n })(this));\n $scope.$on(\"sprint:task:moved\", (function(_this) {\n return function() {\n return recalculateTaskboardWidth();\n };\n })(this));\n $scope.$watch(\"usTasks\", function() {\n if ($scope.project) {\n $scope.statusesFolded = rs.tasks.getStatusColumnModes($scope.project.id);\n $scope.usFolded = rs.tasks.getUsRowModes($scope.project.id, $scope.sprintId);\n return recalculateTaskboardWidth();\n }\n });\n $scope.foldStatus = function(status) {\n $scope.statusesFolded[status.id] = !!!$scope.statusesFolded[status.id];\n rs.tasks.storeStatusColumnModes($scope.projectId, $scope.statusesFolded);\n return recalculateTaskboardWidth();\n };\n $scope.foldUs = function(rowId) {\n $scope.usFolded[rowId] = !!!$scope.usFolded[rowId];\n rs.tasks.storeUsRowModes($scope.projectId, $scope.sprintId, $scope.usFolded);\n return recalculateTaskboardWidth();\n };\n getCeilWidth = (function(_this) {\n return function(usId, statusId) {\n var tasks, tasksMatrixSize, width;\n if (usId) {\n tasks = $scope.usTasks.getIn([usId.toString(), statusId.toString()]).size;\n } else {\n tasks = $scope.usTasks.getIn(['null', statusId.toString()]).size;\n }\n if ($scope.statusesFolded[statusId]) {\n if (tasks && $scope.usFolded[usId]) {\n tasksMatrixSize = Math.round(Math.sqrt(tasks));\n width = avatarWidth * tasksMatrixSize;\n } else {\n width = avatarWidth;\n }\n return width;\n }\n return 0;\n };\n })(this);\n setStatusColumnWidth = (function(_this) {\n return function(statusId, width) {\n var column;\n column = $el.find(\".squish-status-\" + statusId);\n if (width) {\n return column.css('max-width', width);\n } else {\n if ($scope.ctrl.zoomLevel === '0') {\n return column.css(\"max-width\", 148);\n } else {\n return column.css(\"max-width\", maxColumnWidth);\n }\n }\n };\n })(this);\n refreshTaskboardTableWidth = (function(_this) {\n return function() {\n var columnWidths, columns, issueCardMaxWidth, issuesBoxWidth, totalWidth;\n columnWidths = [];\n columns = $el.find(\".task-colum-name\");\n columnWidths = _.map(columns, function(column) {\n return $(column).outerWidth(true);\n });\n totalWidth = _.reduce(columnWidths, function(total, width) {\n return total + width;\n });\n $el.find('.taskboard-table-inner').css(\"width\", totalWidth);\n issuesBoxWidth = $el.find('.issues-row .taskboard-row-title-box').outerWidth(true);\n $el.find('.issues-row').css(\"width\", totalWidth - columnWidths.pop());\n issueCardMaxWidth = $scope.ctrl.zoomLevel === '0' ? 128 : 280;\n return $el.find('.issues-row .taskboard-cards-box .card').css(\"max-width\", issueCardMaxWidth);\n };\n })(this);\n recalculateStatusColumnWidth = (function(_this) {\n return function(statusId) {\n var statusFoldedWidth;\n statusFoldedWidth = getCeilWidth(null, statusId);\n _.forEach($scope.userstories, function(us) {\n var width;\n width = getCeilWidth(us.id, statusId);\n if (width > statusFoldedWidth) {\n return statusFoldedWidth = width;\n }\n });\n return setStatusColumnWidth(statusId, statusFoldedWidth);\n };\n })(this);\n return recalculateTaskboardWidth = (function(_this) {\n return function() {\n _.forEach($scope.taskStatusList, function(status) {\n return recalculateStatusColumnWidth(status.id);\n });\n refreshTaskboardTableWidth();\n };\n })(this);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgTaskboardSquishColumn\", [\"$tgResources\", TaskboardSquishColumnDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/taskboard/sortable.coffee\n */\n\n(function() {\n var TaskboardSortableDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaBacklog\");\n\n TaskboardSortableDirective = function($repo, $rs, $rootscope, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var unwatch;\n return unwatch = $scope.$watch(\"usTasks\", function(usTasks) {\n var containers, deleteElement, drake, filterError, itemEl, newParentScope, oldParentScope, scroll, tdom;\n if (!usTasks || !usTasks.size) {\n return;\n }\n unwatch();\n if (!($scope.project.my_permissions.indexOf(\"modify_task\") > -1)) {\n return;\n }\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el;\n filterError = function() {\n var text;\n text = $translate.instant(\"BACKLOG.SORTABLE_FILTER_ERROR\");\n return $tgConfirm.notify(\"error\", text);\n };\n deleteElement = function(itemEl) {\n itemEl.scope().$destroy();\n itemEl.off();\n return itemEl.remove();\n };\n containers = _.map($el.find('.taskboard-column'), function(item) {\n return item;\n });\n drake = dragula(containers, {\n copySortSource: false,\n copy: false,\n accepts: function(el, target) {\n return !$(target).hasClass('taskboard-row-title-box');\n },\n moves: function(item) {\n return $(item).is('tg-card');\n }\n });\n drake.on('drag', function(item) {\n oldParentScope = $(item).parent().scope();\n if ($el.hasClass(\"active-filters\")) {\n filterError();\n setTimeout((function() {\n return drake.cancel(true);\n }), 0);\n return false;\n }\n });\n drake.on('dragend', function(item) {\n var itemIndex, itemTask, newStatusId, newUsId, oldStatusId, oldUsId, parentEl;\n parentEl = $(item).parent();\n itemEl = $(item);\n itemTask = itemEl.scope().task;\n itemIndex = itemEl.index();\n newParentScope = parentEl.scope();\n oldUsId = oldParentScope.us ? oldParentScope.us.id : null;\n oldStatusId = oldParentScope.st.id;\n newUsId = newParentScope.us ? newParentScope.us.id : null;\n newStatusId = newParentScope.st.id;\n if (newStatusId !== oldStatusId || newUsId !== oldUsId) {\n deleteElement(itemEl);\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"taskboard:task:move\", itemTask, itemTask.getIn(['model', 'status']), newUsId, newStatusId, itemIndex);\n });\n });\n scroll = autoScroll([$('.taskboard-table-body')[0]], {\n margin: 100,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgTaskboardSortable\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", \"$translate\", TaskboardSortableDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: taskboard-issues.coffee\n */\n\n(function() {\n var TaskboardIssuesService, groupBy,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n groupBy = this.taiga.groupBy;\n\n TaskboardIssuesService = (function(superClass) {\n extend(TaskboardIssuesService, superClass);\n\n TaskboardIssuesService.$inject = [];\n\n function TaskboardIssuesService() {\n this.reset();\n }\n\n TaskboardIssuesService.prototype.reset = function() {\n this.foldStatusChanged = {};\n return this.issuesRaw = [];\n };\n\n TaskboardIssuesService.prototype.init = function(project, usersById, issueStatusById) {\n this.issueStatusById = issueStatusById;\n this.project = project;\n return this.usersById = usersById;\n };\n\n TaskboardIssuesService.prototype.resetFolds = function() {\n this.foldStatusChanged = {};\n return this.refresh();\n };\n\n TaskboardIssuesService.prototype.toggleFold = function(issueId) {\n this.foldStatusChanged[issueId] = !this.foldStatusChanged[issueId];\n return this.refresh();\n };\n\n TaskboardIssuesService.prototype.add = function(issue) {\n this.issuesRaw = this.issuesRaw.concat(issue);\n return this.refresh();\n };\n\n TaskboardIssuesService.prototype.remove = function(issue) {\n var item, key, ref;\n ref = this.issuesRaw;\n for (key in ref) {\n item = ref[key];\n if (issue.id === item.id) {\n this.issuesRaw.splice(key, 1);\n this.refresh();\n return;\n }\n }\n };\n\n TaskboardIssuesService.prototype.set = function(issues) {\n this.issuesRaw = issues;\n return this.refresh();\n };\n\n TaskboardIssuesService.prototype.getIssue = function(id) {\n return this.milestoneIssues.find(function(issue) {\n return issue.get('id') === id;\n });\n };\n\n TaskboardIssuesService.prototype.getIssueModel = function(id) {\n return _.find(this.issuesRaw, function(issue) {\n return issue.id === id;\n });\n };\n\n TaskboardIssuesService.prototype.replaceModel = function(issue) {\n this.issuesRaw = _.map(this.issuesRaw, function(item) {\n if (issue.id === item.id) {\n return issue;\n } else {\n return item;\n }\n });\n return this.refresh();\n };\n\n TaskboardIssuesService.prototype.refresh = function() {\n var i, issue, issueModel, issues, len, ref;\n issues = [];\n ref = this.issuesRaw;\n for (i = 0, len = ref.length; i < len; i++) {\n issueModel = ref[i];\n issue = {};\n issue.foldStatusChanged = this.foldStatusChanged[issueModel.id];\n issue.model = issueModel.getAttrs();\n issue.modelName = issueModel.getName();\n issue.id = issueModel.id;\n issue.status = this.issueStatusById[issueModel.status];\n issue.images = _.filter(issue.model.attachments, function(it) {\n return !!it.thumbnail_card_url;\n });\n issue.assigned_to = this.usersById[issueModel.assigned_to];\n issue.colorized_tags = _.map(issue.model.tags, function(tag) {\n return {\n name: tag[0],\n color: tag[1]\n };\n });\n issues.push(issue);\n }\n return this.milestoneIssues = Immutable.fromJS(issues);\n };\n\n return TaskboardIssuesService;\n\n })(taiga.Service);\n\n angular.module(\"taigaKanban\").service(\"tgTaskboardIssues\", TaskboardIssuesService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: home.service.coffee\n */\n\n(function() {\n var TaskboardTasksService, groupBy,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n groupBy = this.taiga.groupBy;\n\n TaskboardTasksService = (function(superClass) {\n extend(TaskboardTasksService, superClass);\n\n TaskboardTasksService.$inject = [];\n\n function TaskboardTasksService() {\n this.reset();\n }\n\n TaskboardTasksService.prototype.reset = function() {\n this.tasksRaw = [];\n this.foldStatusChanged = {};\n return this.usTasks = Immutable.Map();\n };\n\n TaskboardTasksService.prototype.init = function(project, usersById) {\n this.project = project;\n return this.usersById = usersById;\n };\n\n TaskboardTasksService.prototype.resetFolds = function() {\n this.foldStatusChanged = {};\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.toggleFold = function(taskId) {\n this.foldStatusChanged[taskId] = !this.foldStatusChanged[taskId];\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.add = function(task) {\n this.tasksRaw = this.tasksRaw.concat(task);\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.set = function(tasks) {\n this.tasksRaw = tasks;\n this.refreshRawOrder();\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.setUserstories = function(userstories) {\n return this.userstories = userstories;\n };\n\n TaskboardTasksService.prototype.refreshRawOrder = function() {\n var i, len, ref, results, task;\n this.order = {};\n ref = this.tasksRaw;\n results = [];\n for (i = 0, len = ref.length; i < len; i++) {\n task = ref[i];\n results.push(this.order[task.id] = task.taskboard_order);\n }\n return results;\n };\n\n TaskboardTasksService.prototype.assignOrders = function(order) {\n order = _.invert(order);\n this.order = _.assign(this.order, order);\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.getTask = function(id) {\n var findedTask;\n findedTask = null;\n this.usTasks.forEach(function(us) {\n us.forEach(function(status) {\n findedTask = status.find(function(task) {\n return task.get('id') === id;\n });\n if (findedTask) {\n return false;\n }\n });\n if (findedTask) {\n return false;\n }\n });\n return findedTask;\n };\n\n TaskboardTasksService.prototype.replace = function(task) {\n return this.usTasks = this.usTasks.map(function(us) {\n return us.map(function(status) {\n var findedIndex;\n findedIndex = status.findIndex(function(usItem) {\n return usItem.get('id') === us.get('id');\n });\n if (findedIndex !== -1) {\n status = status.set(findedIndex, task);\n }\n return status;\n });\n });\n };\n\n TaskboardTasksService.prototype.getTaskModel = function(id) {\n return _.find(this.tasksRaw, function(task) {\n return task.id === id;\n });\n };\n\n TaskboardTasksService.prototype.replaceModel = function(task) {\n this.tasksRaw = _.map(this.tasksRaw, function(it) {\n if (task.id === it.id) {\n return task;\n } else {\n return it;\n }\n });\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.move = function(id, usId, statusId, index) {\n var afterDestination, beforeDestination, i, it, j, key, len, len1, previous, previousWithTheSameOrder, setOrders, taksWithoutMoved, task, taskByUsStatus;\n task = this.getTaskModel(id);\n taskByUsStatus = _.filter(this.tasksRaw, (function(_this) {\n return function(task) {\n return task.status === statusId && task.user_story === usId;\n };\n })(this));\n taskByUsStatus = _.sortBy(taskByUsStatus, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n taksWithoutMoved = _.filter(taskByUsStatus, (function(_this) {\n return function(it) {\n return it.id !== id;\n };\n })(this));\n beforeDestination = _.slice(taksWithoutMoved, 0, index);\n afterDestination = _.slice(taksWithoutMoved, index);\n setOrders = {};\n previous = beforeDestination[beforeDestination.length - 1];\n previousWithTheSameOrder = _.filter(beforeDestination, (function(_this) {\n return function(it) {\n return _this.order[it.id] === _this.order[previous.id];\n };\n })(this));\n if (previousWithTheSameOrder.length > 1) {\n for (i = 0, len = previousWithTheSameOrder.length; i < len; i++) {\n it = previousWithTheSameOrder[i];\n setOrders[it.id] = this.order[it.id];\n }\n }\n if (!previous) {\n this.order[task.id] = 0;\n } else if (previous) {\n this.order[task.id] = this.order[previous.id] + 1;\n }\n for (key = j = 0, len1 = afterDestination.length; j < len1; key = ++j) {\n it = afterDestination[key];\n this.order[it.id] = this.order[task.id] + key + 1;\n }\n task.status = statusId;\n task.user_story = usId;\n task.taskboard_order = this.order[task.id];\n this.refresh();\n return {\n \"task_id\": task.id,\n \"order\": this.order[task.id],\n \"set_orders\": setOrders\n };\n };\n\n TaskboardTasksService.prototype.refresh = function() {\n var i, j, k, len, len1, len2, model, ref, status, task, taskModel, taskStatusList, tasks, us, usTasks;\n if (!this.project) {\n return;\n }\n this.tasksRaw = _.sortBy(this.tasksRaw, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n tasks = this.tasksRaw;\n taskStatusList = _.sortBy(this.project.task_statuses, \"order\");\n usTasks = {};\n ref = _.union(this.userstories, [\n {\n id: null\n }\n ]);\n for (i = 0, len = ref.length; i < len; i++) {\n us = ref[i];\n usTasks[us.id] = {};\n for (j = 0, len1 = taskStatusList.length; j < len1; j++) {\n status = taskStatusList[j];\n usTasks[us.id][status.id] = [];\n }\n }\n for (k = 0, len2 = tasks.length; k < len2; k++) {\n taskModel = tasks[k];\n if ((usTasks[taskModel.user_story] != null) && (usTasks[taskModel.user_story][taskModel.status] != null)) {\n task = {};\n model = taskModel.getAttrs();\n task.foldStatusChanged = this.foldStatusChanged[taskModel.id];\n task.model = model;\n task.images = _.filter(model.attachments, function(it) {\n return !!it.thumbnail_card_url;\n });\n task.id = taskModel.id;\n task.assigned_to = this.usersById[taskModel.assigned_to];\n task.colorized_tags = _.map(task.model.tags, (function(_this) {\n return function(tag) {\n return {\n name: tag[0],\n color: tag[1]\n };\n };\n })(this));\n usTasks[taskModel.user_story][taskModel.status].push(task);\n }\n }\n return this.usTasks = Immutable.fromJS(usTasks);\n };\n\n return TaskboardTasksService;\n\n })(taiga.Service);\n\n angular.module(\"taigaKanban\").service(\"tgTaskboardTasks\", TaskboardTasksService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: kanban-userstories.service.coffee\n */\n\n(function() {\n var KanbanUserstoriesService, groupBy,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n groupBy = this.taiga.groupBy;\n\n KanbanUserstoriesService = (function(superClass) {\n extend(KanbanUserstoriesService, superClass);\n\n KanbanUserstoriesService.$inject = [];\n\n function KanbanUserstoriesService() {\n this.reset();\n }\n\n KanbanUserstoriesService.prototype.reset = function() {\n this.userstoriesRaw = [];\n this.archivedStatus = [];\n this.statusHide = [];\n this.foldStatusChanged = {};\n return this.usByStatus = Immutable.Map();\n };\n\n KanbanUserstoriesService.prototype.init = function(project, usersById) {\n this.project = project;\n return this.usersById = usersById;\n };\n\n KanbanUserstoriesService.prototype.resetFolds = function() {\n this.foldStatusChanged = {};\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.toggleFold = function(usId) {\n this.foldStatusChanged[usId] = !this.foldStatusChanged[usId];\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.set = function(userstories) {\n this.userstoriesRaw = userstories;\n this.refreshRawOrder();\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.add = function(us) {\n this.userstoriesRaw = this.userstoriesRaw.concat(us);\n this.refreshRawOrder();\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.addArchivedStatus = function(statusId) {\n return this.archivedStatus.push(statusId);\n };\n\n KanbanUserstoriesService.prototype.isUsInArchivedHiddenStatus = function(usId) {\n var us;\n us = this.getUsModel(usId);\n return this.archivedStatus.indexOf(us.status) !== -1 && this.statusHide.indexOf(us.status) !== -1;\n };\n\n KanbanUserstoriesService.prototype.hideStatus = function(statusId) {\n this.deleteStatus(statusId);\n return this.statusHide.push(statusId);\n };\n\n KanbanUserstoriesService.prototype.showStatus = function(statusId) {\n return _.remove(this.statusHide, function(it) {\n return it === statusId;\n });\n };\n\n KanbanUserstoriesService.prototype.getStatus = function(statusId) {\n return _.filter(this.userstoriesRaw, function(us) {\n return us.status === statusId;\n });\n };\n\n KanbanUserstoriesService.prototype.deleteStatus = function(statusId) {\n var toDelete;\n toDelete = _.filter(this.userstoriesRaw, function(us) {\n return us.status === statusId;\n });\n toDelete = _.map(function(it) {\n return it.id;\n });\n this.archived = _.difference(this.archived, toDelete);\n this.userstoriesRaw = _.filter(this.userstoriesRaw, function(us) {\n return us.status !== statusId;\n });\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.refreshRawOrder = function() {\n var i, it, len, ref, results;\n this.order = {};\n ref = this.userstoriesRaw;\n results = [];\n for (i = 0, len = ref.length; i < len; i++) {\n it = ref[i];\n results.push(this.order[it.id] = it.kanban_order);\n }\n return results;\n };\n\n KanbanUserstoriesService.prototype.assignOrders = function(order) {\n this.order = _.assign(this.order, order);\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.move = function(usList, statusId, index) {\n var afterDestination, beforeDestination, i, initialLength, isArchivedHiddenStatus, it, j, k, key, l, len, len1, len2, len3, modifiedUs, previous, previousWithTheSameOrder, setNextOrders, setOrders, setPreviousOrders, startIndex, us, usByStatus, usByStatusWithoutMoved;\n initialLength = usList.length;\n usByStatus = _.filter(this.userstoriesRaw, (function(_this) {\n return function(it) {\n return it.status === statusId;\n };\n })(this));\n usByStatus = _.sortBy(usByStatus, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n usByStatusWithoutMoved = _.filter(usByStatus, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(usByStatusWithoutMoved, 0, index);\n afterDestination = _.slice(usByStatusWithoutMoved, index);\n setOrders = {};\n previous = beforeDestination[beforeDestination.length - 1];\n previousWithTheSameOrder = _.filter(beforeDestination, (function(_this) {\n return function(it) {\n return _this.order[it.id] === _this.order[previous.id];\n };\n })(this));\n if (previousWithTheSameOrder.length > 1) {\n for (i = 0, len = previousWithTheSameOrder.length; i < len; i++) {\n it = previousWithTheSameOrder[i];\n setOrders[it.id] = this.order[it.id];\n }\n }\n modifiedUs = [];\n setPreviousOrders = [];\n setNextOrders = [];\n isArchivedHiddenStatus = this.archivedStatus.indexOf(statusId) !== -1 && this.statusHide.indexOf(statusId) !== -1;\n if (isArchivedHiddenStatus) {\n startIndex = new Date().getTime();\n } else if (!previous) {\n startIndex = 0;\n for (key = j = 0, len1 = afterDestination.length; j < len1; key = ++j) {\n it = afterDestination[key];\n this.order[it.id] = key + initialLength + 1;\n it.kanban_order = this.order[it.id];\n }\n setNextOrders = _.map(afterDestination, (function(_this) {\n return function(it) {\n return {\n us_id: it.id,\n order: _this.order[it.id]\n };\n };\n })(this));\n } else if (previous) {\n startIndex = this.order[previous.id] + 1;\n previousWithTheSameOrder = _.filter(beforeDestination, (function(_this) {\n return function(it) {\n return it.kanban_order === _this.order[previous.id];\n };\n })(this));\n for (key = k = 0, len2 = afterDestination.length; k < len2; key = ++k) {\n it = afterDestination[key];\n this.order[it.id] = this.order[previous.id] + key + initialLength + 1;\n it.kanban_order = this.order[it.id];\n }\n setNextOrders = _.map(afterDestination, (function(_this) {\n return function(it) {\n return {\n us_id: it.id,\n order: _this.order[it.id]\n };\n };\n })(this));\n if (previousWithTheSameOrder.length > 1) {\n setPreviousOrders = _.map(previousWithTheSameOrder, (function(_this) {\n return function(it) {\n return {\n us_id: it.id,\n order: _this.order[it.id]\n };\n };\n })(this));\n }\n }\n for (key = l = 0, len3 = usList.length; l < len3; key = ++l) {\n us = usList[key];\n us.status = statusId;\n us.kanban_order = startIndex + key;\n this.order[us.id] = us.kanban_order;\n modifiedUs.push({\n us_id: us.id,\n order: us.kanban_order\n });\n }\n this.refresh();\n return {\n bulkOrders: modifiedUs.concat(setPreviousOrders, setNextOrders),\n usList: modifiedUs,\n set_orders: setOrders\n };\n };\n\n KanbanUserstoriesService.prototype.moveToEnd = function(id, statusId) {\n var us;\n us = this.getUsModel(id);\n this.order[us.id] = -1;\n us.status = statusId;\n us.kanban_order = this.order[us.id];\n this.refresh();\n return {\n \"us_id\": us.id,\n \"order\": -1\n };\n };\n\n KanbanUserstoriesService.prototype.replace = function(us) {\n return this.usByStatus = this.usByStatus.map(function(status) {\n var findedIndex;\n findedIndex = status.findIndex(function(usItem) {\n return usItem.get('id') === us.get('id');\n });\n if (findedIndex !== -1) {\n status = status.set(findedIndex, us);\n }\n return status;\n });\n };\n\n KanbanUserstoriesService.prototype.replaceModel = function(us) {\n this.userstoriesRaw = _.map(this.userstoriesRaw, function(usItem) {\n if (us.id === usItem.id) {\n return us;\n } else {\n return usItem;\n }\n });\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.getUs = function(id) {\n var findedUs;\n findedUs = null;\n this.usByStatus.forEach(function(status) {\n findedUs = status.find(function(us) {\n return us.get('id') === id;\n });\n if (findedUs) {\n return false;\n }\n });\n return findedUs;\n };\n\n KanbanUserstoriesService.prototype.getUsModel = function(id) {\n return _.find(this.userstoriesRaw, function(us) {\n return us.id === id;\n });\n };\n\n KanbanUserstoriesService.prototype.refresh = function() {\n var usByStatus, userstories;\n this.userstoriesRaw = _.sortBy(this.userstoriesRaw, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n userstories = this.userstoriesRaw;\n userstories = _.map(userstories, (function(_this) {\n return function(usModel) {\n var model, us;\n us = {};\n model = usModel.getAttrs();\n us.foldStatusChanged = _this.foldStatusChanged[usModel.id];\n us.model = model;\n us.images = _.filter(model.attachments, function(it) {\n return !!it.thumbnail_card_url;\n });\n us.id = usModel.id;\n us.assigned_to = _this.usersById[usModel.assigned_to];\n us.assigned_users = [];\n usModel.assigned_users.forEach(function(assignedUserId) {\n var assignedUserData;\n assignedUserData = _this.usersById[assignedUserId];\n return us.assigned_users.push(assignedUserData);\n });\n us.colorized_tags = _.map(us.model.tags, function(tag) {\n return {\n name: tag[0],\n color: tag[1]\n };\n });\n return us;\n };\n })(this));\n usByStatus = _.groupBy(userstories, function(us) {\n return us.model.status;\n });\n return this.usByStatus = Immutable.fromJS(usByStatus);\n };\n\n return KanbanUserstoriesService;\n\n })(taiga.Service);\n\n angular.module(\"taigaKanban\").service(\"tgKanbanUserstories\", KanbanUserstoriesService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/kanban/main.coffee\n */\n\n(function() {\n var KanbanArchivedStatusHeaderDirective, KanbanArchivedStatusIntroDirective, KanbanController, KanbanDirective, KanbanSquishColumnDirective, KanbanWipLimitDirective, bindMethods, bindOnce, debounceLeading, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n bindMethods = this.taiga.bindMethods;\n\n debounceLeading = this.taiga.debounceLeading;\n\n module = angular.module(\"taigaKanban\");\n\n KanbanController = (function(superClass) {\n extend(KanbanController, superClass);\n\n KanbanController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"$tgModel\", \"tgKanbanUserstories\", \"$tgStorage\", \"tgFilterRemoteStorageService\", \"tgProjectService\"];\n\n KanbanController.prototype.storeCustomFiltersName = 'kanban-custom-filters';\n\n KanbanController.prototype.storeFiltersName = 'kanban-filters';\n\n function KanbanController(scope, rootscope, repo, confirm, rs1, rs2, params1, q, location, appMetaService, navUrls, events, analytics, translate, errorHandlingService, model, kanbanUserstoriesService1, storage, filterRemoteStorageService, projectService1) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs1;\n this.rs2 = rs2;\n this.params = params1;\n this.q = q;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.model = model;\n this.kanbanUserstoriesService = kanbanUserstoriesService1;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n this.projectService = projectService1;\n bindMethods(this);\n this.kanbanUserstoriesService.reset();\n this.openFilter = false;\n this.selectedUss = {};\n if (this.applyStoredFilters(this.params.pslug, \"kanban-filters\")) {\n return;\n }\n this.scope.sectionName = this.translate.instant(\"KANBAN.SECTION_NAME\");\n this.initializeEventHandlers();\n taiga.defineImmutableProperty(this.scope, \"usByStatus\", (function(_this) {\n return function() {\n return _this.kanbanUserstoriesService.usByStatus;\n };\n })(this));\n }\n\n KanbanController.prototype.cleanSelectedUss = function() {\n var key, results;\n results = [];\n for (key in this.selectedUss) {\n results.push(this.selectedUss[key] = false);\n }\n return results;\n };\n\n KanbanController.prototype.toggleSelectedUs = function(usId) {\n return this.selectedUss[usId] = !this.selectedUss[usId];\n };\n\n KanbanController.prototype.firstLoad = function() {\n var promise;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"KANBAN.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"KANBAN.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n return promise.then(null, this.onInitialDataError.bind(this));\n };\n\n KanbanController.prototype.setZoom = function(zoomLevel, zoom) {\n var previousZoomLevel;\n if (this.zoomLevel === zoomLevel) {\n return null;\n }\n this.isFirstLoad = !this.zoomLevel;\n previousZoomLevel = this.zoomLevel;\n this.zoomLevel = zoomLevel;\n this.zoom = zoom;\n if (this.isFirstLoad) {\n return this.firstLoad().then((function(_this) {\n return function() {\n _this.isFirstLoad = false;\n return _this.kanbanUserstoriesService.resetFolds();\n };\n })(this));\n } else if (this.zoomLevel > 1 && previousZoomLevel <= 1) {\n this.zoomLoading = true;\n return this.loadUserstories().then((function(_this) {\n return function() {\n _this.zoomLoading = false;\n return _this.kanbanUserstoriesService.resetFolds();\n };\n })(this));\n }\n };\n\n KanbanController.prototype.filtersReloadContent = function() {\n return this.loadUserstories().then((function(_this) {\n return function() {\n var i, len, openArchived, results, statusId;\n openArchived = _.difference(_this.kanbanUserstoriesService.archivedStatus, _this.kanbanUserstoriesService.statusHide);\n if (openArchived.length) {\n results = [];\n for (i = 0, len = openArchived.length; i < len; i++) {\n statusId = openArchived[i];\n results.push(_this.loadUserStoriesForStatus({}, statusId));\n }\n return results;\n }\n };\n })(this));\n };\n\n KanbanController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"usform:new:success\", (function(_this) {\n return function(event, us) {\n _this.refreshTagsColors().then(function() {\n return _this.kanbanUserstoriesService.add(us);\n });\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"create userstory on kanban\", 1);\n };\n })(this));\n this.scope.$on(\"usform:bulk:success\", (function(_this) {\n return function(event, uss) {\n _this.refreshTagsColors().then(function() {\n return _this.kanbanUserstoriesService.add(uss);\n });\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on kanban\", 1);\n };\n })(this));\n this.scope.$on(\"usform:edit:success\", (function(_this) {\n return function(event, us) {\n return _this.refreshTagsColors().then(function() {\n return _this.kanbanUserstoriesService.replaceModel(us);\n });\n };\n })(this));\n this.scope.$on(\"kanban:us:deleted\", (function(_this) {\n return function(event, us) {\n return _this.filtersReloadContent();\n };\n })(this));\n this.scope.$on(\"assigned-to:added\", this.onAssignedToChanged);\n this.scope.$on(\"assigned-user:added\", this.onAssignedUsersChanged);\n this.scope.$on(\"assigned-user:deleted\", this.onAssignedUsersDeleted);\n this.scope.$on(\"kanban:us:move\", this.moveUs);\n this.scope.$on(\"kanban:show-userstories-for-status\", this.loadUserStoriesForStatus);\n return this.scope.$on(\"kanban:hide-userstories-for-status\", this.hideUserStoriesForStatus);\n };\n\n KanbanController.prototype.addNewUs = function(type, statusId) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"genericform:new\", {\n 'objType': 'us',\n 'project': this.scope.project,\n 'statusId': statusId\n });\n case \"bulk\":\n return this.rootscope.$broadcast(\"usform:bulk\", this.scope.projectId, statusId);\n }\n };\n\n KanbanController.prototype.editUs = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUs(id);\n us = us.set('loading-edit', true);\n this.kanbanUserstoriesService.replace(us);\n return this.rs.userstories.getByRef(us.getIn(['model', 'project']), us.getIn(['model', 'ref'])).then((function(_this) {\n return function(editingUserStory) {\n _this.rs2.attachments.list(\"us\", us.get('id'), us.getIn(['model', 'project'])).then(function(attachments) {\n return _this.rootscope.$broadcast(\"genericform:edit\", {\n 'objType': 'us',\n 'obj': editingUserStory,\n 'statusList': _this.scope.usStatusList,\n 'attachments': attachments.toJS()\n });\n });\n us = us.set('loading-edit', false);\n return _this.kanbanUserstoriesService.replace(us);\n };\n })(this));\n };\n\n KanbanController.prototype.deleteUs = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUs(id);\n us = us.set('loading-delete', true);\n return this.rs.userstories.getByRef(us.getIn(['model', 'project']), us.getIn(['model', 'ref'])).then((function(_this) {\n return function(deletingUserStory) {\n var message, title;\n us = us.set('loading-delete', false);\n title = _this.translate.instant(\"US.TITLE_DELETE_ACTION\");\n message = deletingUserStory.subject;\n return _this.confirm.askOnDelete(title, message).then(function(askResponse) {\n var promise;\n promise = _this.repo.remove(deletingUserStory);\n promise.then(function() {\n _this.scope.$broadcast(\"kanban:us:deleted\");\n return askResponse.finish();\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return this.confirm.notify(\"error\");\n });\n });\n };\n })(this));\n };\n\n KanbanController.prototype.showPlaceHolder = function(statusId) {\n if (this.scope.usStatusList[0].id === statusId && !this.kanbanUserstoriesService.userstoriesRaw.length) {\n return true;\n }\n return false;\n };\n\n KanbanController.prototype.toggleFold = function(id) {\n return this.kanbanUserstoriesService.toggleFold(id);\n };\n\n KanbanController.prototype.isUsInArchivedHiddenStatus = function(usId) {\n return this.kanbanUserstoriesService.isUsInArchivedHiddenStatus(usId);\n };\n\n KanbanController.prototype.changeUsAssignedTo = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUsModel(id);\n return this.rootscope.$broadcast(\"assigned-to:add\", us);\n };\n\n KanbanController.prototype.changeUsAssignedUsers = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUsModel(id);\n return this.rootscope.$broadcast(\"assigned-user:add\", us);\n };\n\n KanbanController.prototype.onAssignedToChanged = function(ctx, userid, usModel) {\n usModel.assigned_to = userid;\n this.kanbanUserstoriesService.replaceModel(usModel);\n return this.repo.save(usModel).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_to') || _this.isFilterDataTypeSelected('role')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n KanbanController.prototype.onAssignedUsersChanged = function(ctx, userid, usModel) {\n var assignedUsers;\n assignedUsers = _.clone(usModel.assigned_users, false);\n assignedUsers.push(userid);\n assignedUsers = _.uniq(assignedUsers);\n usModel.assigned_users = assignedUsers;\n if (!usModel.assigned_to) {\n usModel.assigned_to = userid;\n }\n this.kanbanUserstoriesService.replaceModel(usModel);\n return this.repo.save(usModel).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_users') || _this.isFilterDataTypeSelected('role')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n KanbanController.prototype.onAssignedUsersDeleted = function(ctx, userid, usModel) {\n var assignedUsersIds, ref;\n assignedUsersIds = _.clone(usModel.assigned_users, false);\n assignedUsersIds = _.pull(assignedUsersIds, userid);\n assignedUsersIds = _.uniq(assignedUsersIds);\n usModel.assigned_users = assignedUsersIds;\n if ((ref = usModel.assigned_to, indexOf.call(assignedUsersIds, ref) < 0) && assignedUsersIds.length > 0) {\n usModel.assigned_to = assignedUsersIds[0];\n }\n if (assignedUsersIds.length === 0) {\n usModel.assigned_to = null;\n }\n this.kanbanUserstoriesService.replaceModel(usModel);\n return this.repo.save(usModel).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_users') || _this.isFilterDataTypeSelected('role')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n KanbanController.prototype.refreshTagsColors = function() {\n return this.rs.projects.tagsColors(this.scope.projectId).then((function(_this) {\n return function(tags_colors) {\n return _this.scope.project.tags_colors = tags_colors._attrs;\n };\n })(this));\n };\n\n KanbanController.prototype.loadUserstories = function() {\n var params, promise;\n params = {\n status__is_archived: false\n };\n if (this.zoomLevel > 1) {\n params.include_attachments = 1;\n params.include_tasks = 1;\n }\n params = _.merge(params, this.location.search());\n promise = this.rs.userstories.listAll(this.scope.projectId, params).then((function(_this) {\n return function(userstories) {\n _this.kanbanUserstoriesService.init(_this.scope.project, _this.scope.usersById);\n _this.kanbanUserstoriesService.set(userstories);\n scopeDefer(_this.scope, function() {\n return _this.scope.$broadcast(\"userstories:loaded\", userstories);\n });\n return userstories;\n };\n })(this));\n promise.then((function(_this) {\n return function() {\n return _this.scope.$broadcast(\"redraw:wip\");\n };\n })(this));\n return promise;\n };\n\n KanbanController.prototype.loadUserStoriesForStatus = function(ctx, statusId) {\n var filteredStatus, params;\n filteredStatus = this.location.search().status;\n if (filteredStatus) {\n filteredStatus = filteredStatus.split(\",\").map(function(it) {\n return parseInt(it, 10);\n });\n if (filteredStatus.indexOf(statusId) === -1) {\n return;\n }\n }\n params = {\n status: statusId,\n include_attachments: true,\n include_tasks: true\n };\n params = _.merge(params, this.location.search());\n return this.rs.userstories.listAll(this.scope.projectId, params).then((function(_this) {\n return function(userstories) {\n _this.scope.$broadcast(\"kanban:shown-userstories-for-status\", statusId, userstories);\n return userstories;\n };\n })(this));\n };\n\n KanbanController.prototype.hideUserStoriesForStatus = function(ctx, statusId) {\n return this.scope.$broadcast(\"kanban:hidden-userstories-for-status\", statusId);\n };\n\n KanbanController.prototype.loadKanban = function() {\n return this.q.all([this.refreshTagsColors(), this.loadUserstories()]);\n };\n\n KanbanController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_kanban_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.projectId = project.id;\n this.scope.points = _.sortBy(project.points, \"order\");\n this.scope.pointsById = groupBy(project.points, function(x) {\n return x.id;\n });\n this.scope.usStatusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n this.scope.$emit(\"project:loaded\", project);\n return project;\n };\n\n KanbanController.prototype.initializeSubscription = function() {\n var randomTimeout, routingKey1;\n routingKey1 = \"changes.project.\" + this.scope.projectId + \".userstories\";\n randomTimeout = taiga.randomInt(700, 1000);\n return this.events.subscribe(this.scope, routingKey1, debounceLeading(randomTimeout, (function(_this) {\n return function(message) {\n return _this.loadUserstories();\n };\n })(this)));\n };\n\n KanbanController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.initializeSubscription();\n this.loadKanban();\n return this.generateFilters();\n };\n\n KanbanController.prototype.prepareBulkUpdateData = function(uses, field) {\n if (field == null) {\n field = \"kanban_order\";\n }\n return _.map(uses, function(x) {\n return {\n \"us_id\": x.id,\n \"order\": x[field]\n };\n });\n };\n\n KanbanController.prototype.moveUs = function(ctx, usList, newStatusId, index) {\n var data, promise;\n this.cleanSelectedUss();\n usList = _.map(usList, (function(_this) {\n return function(us) {\n return _this.kanbanUserstoriesService.getUsModel(us.id);\n };\n })(this));\n data = this.kanbanUserstoriesService.move(usList, newStatusId, index);\n promise = this.rs.userstories.bulkUpdateKanbanOrder(this.scope.projectId, newStatusId, data.bulkOrders);\n return promise.then((function(_this) {\n return function() {\n var options, params, promises;\n options = {\n headers: {\n \"set-orders\": JSON.stringify(data.setOrders)\n }\n };\n params = {\n include_attachments: true,\n include_tasks: true\n };\n promises = _.map(usList, function(us) {\n return _this.repo.save(us, true, params, options, true);\n });\n promise = _this.q.all(promises);\n return promise.then(function(result) {\n var headers, order;\n headers = result[1];\n if (headers && headers['taiga-info-order-updated']) {\n order = JSON.parse(headers['taiga-info-order-updated']);\n _this.kanbanUserstoriesService.assignOrders(order);\n }\n _this.scope.$broadcast(\"redraw:wip\");\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('status')) {\n _this.filtersReloadContent();\n }\n return promise;\n });\n };\n })(this));\n };\n\n return KanbanController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin, taiga.UsFiltersMixin));\n\n module.controller(\"KanbanController\", KanbanController);\n\n KanbanDirective = function($repo, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var tableBodyDom;\n tableBodyDom = $el.find(\".kanban-table-body\");\n tableBodyDom.on(\"scroll\", function(event) {\n var tableHeaderDom, target;\n target = angular.element(event.currentTarget);\n tableHeaderDom = $el.find(\".kanban-table-header .kanban-table-inner\");\n return tableHeaderDom.css(\"left\", -1 * target.scrollLeft());\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanban\", [\"$tgRepo\", \"$rootScope\", KanbanDirective]);\n\n KanbanArchivedStatusHeaderDirective = function($rootscope, $translate, kanbanUserstoriesService) {\n var hideArchivedText, link, showArchivedText;\n showArchivedText = $translate.instant(\"KANBAN.ACTION_SHOW_ARCHIVED\");\n hideArchivedText = $translate.instant(\"KANBAN.ACTION_HIDE_ARCHIVED\");\n link = function($scope, $el, $attrs) {\n var hidden, status;\n status = $scope.$eval($attrs.tgKanbanArchivedStatusHeader);\n hidden = true;\n kanbanUserstoriesService.addArchivedStatus(status.id);\n kanbanUserstoriesService.hideStatus(status.id);\n $scope[\"class\"] = \"icon-watch\";\n $scope.title = showArchivedText;\n $el.on(\"click\", function(event) {\n hidden = !hidden;\n return $scope.$apply(function() {\n if (hidden) {\n $scope[\"class\"] = \"icon-watch\";\n $scope.title = showArchivedText;\n $rootscope.$broadcast(\"kanban:hide-userstories-for-status\", status.id);\n return kanbanUserstoriesService.hideStatus(status.id);\n } else {\n $scope[\"class\"] = \"icon-unwatch\";\n $scope.title = hideArchivedText;\n $rootscope.$broadcast(\"kanban:show-userstories-for-status\", status.id);\n return kanbanUserstoriesService.showStatus(status.id);\n }\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanArchivedStatusHeader\", [\"$rootScope\", \"$translate\", \"tgKanbanUserstories\", KanbanArchivedStatusHeaderDirective]);\n\n KanbanArchivedStatusIntroDirective = function($translate, kanbanUserstoriesService) {\n var link, userStories;\n userStories = [];\n link = function($scope, $el, $attrs) {\n var hiddenUserStoriexText, status, updateIntroText;\n hiddenUserStoriexText = $translate.instant(\"KANBAN.HIDDEN_USER_STORIES\");\n status = $scope.$eval($attrs.tgKanbanArchivedStatusIntro);\n $el.text(hiddenUserStoriexText);\n updateIntroText = function(hasArchived) {\n if (hasArchived) {\n return $el.text(\"\");\n } else {\n return $el.text(hiddenUserStoriexText);\n }\n };\n $scope.$on(\"kanban:us:move\", function(ctx, itemUs, oldStatusId, newStatusId, itemIndex) {\n var hasArchived;\n hasArchived = !!kanbanUserstoriesService.getStatus(newStatusId).length;\n return updateIntroText(hasArchived);\n });\n $scope.$on(\"kanban:shown-userstories-for-status\", function(ctx, statusId, userStoriesLoaded) {\n var hasArchived;\n if (statusId === status.id) {\n kanbanUserstoriesService.deleteStatus(statusId);\n kanbanUserstoriesService.add(userStoriesLoaded);\n hasArchived = !!kanbanUserstoriesService.getStatus(statusId).length;\n return updateIntroText(hasArchived);\n }\n });\n $scope.$on(\"kanban:hidden-userstories-for-status\", function(ctx, statusId) {\n if (statusId === status.id) {\n return updateIntroText(false);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanArchivedStatusIntro\", [\"$translate\", \"tgKanbanUserstories\", KanbanArchivedStatusIntroDirective]);\n\n KanbanSquishColumnDirective = function(rs, projectService) {\n var link;\n link = function($scope, $el, $attrs) {\n var unwatch, updateTableWidth;\n $scope.foldStatus = function(status) {\n $scope.folds[status.id] = !!!$scope.folds[status.id];\n rs.kanban.storeStatusColumnModes($scope.projectId, $scope.folds);\n updateTableWidth();\n };\n updateTableWidth = function() {\n var columnWidths, totalWidth;\n columnWidths = _.map($scope.usStatusList, function(status) {\n if ($scope.folds[status.id]) {\n return 40;\n } else {\n return 310;\n }\n });\n totalWidth = _.reduce(columnWidths, function(total, width) {\n return total + width;\n });\n return $el.find('.kanban-table-inner').css(\"width\", totalWidth);\n };\n return unwatch = $scope.$watch('usByStatus', function(usByStatus) {\n if (usByStatus.size) {\n $scope.folds = rs.kanban.getStatusColumnModes(projectService.project.get('id'));\n updateTableWidth();\n return unwatch();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanSquishColumn\", [\"$tgResources\", \"tgProjectService\", KanbanSquishColumnDirective]);\n\n KanbanWipLimitDirective = function($timeout) {\n var link;\n link = function($scope, $el, $attrs) {\n var redrawWipLimit, status;\n status = $scope.$eval($attrs.tgKanbanWipLimit);\n redrawWipLimit = (function(_this) {\n return function() {\n $el.find(\".kanban-wip-limit\").remove();\n return $timeout(function() {\n var element;\n element = $el.find(\"tg-card\")[status.wip_limit];\n if (element) {\n return angular.element(element).before(\"
    \");\n }\n });\n };\n })(this);\n if (status && !status.is_archived) {\n $scope.$on(\"redraw:wip\", redrawWipLimit);\n $scope.$on(\"kanban:us:move\", redrawWipLimit);\n $scope.$on(\"usform:new:success\", redrawWipLimit);\n $scope.$on(\"usform:bulk:success\", redrawWipLimit);\n }\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanWipLimit\", [\"$timeout\", KanbanWipLimitDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/kanban/sortable.coffee\n */\n\n(function() {\n var KanbanSortableDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaKanban\");\n\n KanbanSortableDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var unwatch;\n return unwatch = $scope.$watch(\"usByStatus\", function(usByStatus) {\n var containers, deleteElement, drake, itemEl, newParentScope, scroll, tdom;\n if (!usByStatus || !usByStatus.size) {\n return;\n }\n unwatch();\n if (!($scope.project.my_permissions.indexOf(\"modify_us\") > -1)) {\n return;\n }\n newParentScope = null;\n itemEl = null;\n tdom = $el;\n deleteElement = function(itemEl) {\n itemEl.scope().$destroy();\n itemEl.off();\n return itemEl.remove();\n };\n containers = _.map($el.find('.taskboard-column'), function(item) {\n return item;\n });\n drake = dragula(containers, {\n copySortSource: false,\n copy: false,\n moves: function(item) {\n return $(item).is('tg-card');\n }\n });\n drake.on('drag', function(item) {\n return window.dragMultiple.start(item, containers);\n });\n drake.on('cloned', function(item, dropTarget) {\n return $(item).addClass('multiple-drag-mirror');\n });\n drake.on('dragend', function(item) {\n var dragMultipleItems, finalUsList, firstElement, index, newStatus, newStatusId, parentEl, usList;\n parentEl = $(item).parent();\n newParentScope = parentEl.scope();\n newStatusId = newParentScope.s.id;\n dragMultipleItems = window.dragMultiple.stop();\n if (!dragMultipleItems.length) {\n dragMultipleItems = [item];\n }\n firstElement = dragMultipleItems[0];\n index = $(parentEl).find('tg-card').index(firstElement);\n newStatus = newParentScope.s.id;\n usList = _.map(dragMultipleItems, function(item) {\n return $(item).scope().us;\n });\n finalUsList = _.map(usList, function(item) {\n return {\n id: item.get('id'),\n oldStatusId: item.getIn(['model', 'status'])\n };\n });\n return $scope.$apply(function() {\n _.each(usList, (function(_this) {\n return function(item, key) {\n var oldStatus, sameContainer;\n oldStatus = item.getIn(['model', 'status']);\n sameContainer = newStatus === oldStatus;\n if (!sameContainer) {\n itemEl = $(dragMultipleItems[key]);\n return deleteElement(itemEl);\n }\n };\n })(this));\n return $rootscope.$broadcast(\"kanban:us:move\", finalUsList, newStatus, index);\n });\n });\n scroll = autoScroll(containers, {\n margin: 100,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanSortable\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", KanbanSortableDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/epics/detail.coffee\n */\n\n(function() {\n var EpicDetailController, EpicStatusButtonDirective, EpicStatusDisplayDirective, bindMethods, bindOnce, groupBy, joinStr, mixOf, module, taiga, toString,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaEpics\");\n\n EpicDetailController = (function(superClass) {\n extend(EpicDetailController, superClass);\n\n EpicDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgAnalytics\", \"$tgNavUrls\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function EpicDetailController(scope, rootscope, repo, confirm, rs, rs2, params, q, location, log, appMetaService, analytics, navUrls, translate, modelTransform, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.rs2 = rs2;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.analytics = analytics;\n this.navUrls = navUrls;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.epicRef = this.params.epicref;\n this.scope.sectionName = this.translate.instant(\"EPIC.SECTION_NAME\");\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n EpicDetailController.prototype._setMeta = function() {\n var description, ref, title;\n title = this.translate.instant(\"EPIC.PAGE_TITLE\", {\n epicRef: \"#\" + this.scope.epic.ref,\n epicSubject: this.scope.epic.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"EPIC.PAGE_DESCRIPTION\", {\n epicStatus: ((ref = this.scope.statusById[this.scope.epic.status]) != null ? ref.name : void 0) || \"--\",\n epicDescription: angular.element(this.scope.epic.description_html || \"\").text()\n });\n return this.appMetaService.setAll(title, description);\n };\n\n EpicDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on epic\", 1);\n };\n })(this));\n this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadEpic();\n };\n })(this));\n return this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n };\n\n EpicDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-epics\", ctx);\n };\n\n EpicDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.immutableProject = this.projectService.project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.epic_statuses;\n this.scope.statusById = groupBy(project.epic_statuses, function(x) {\n return x.id;\n });\n return project;\n };\n\n EpicDetailController.prototype.loadEpic = function() {\n return this.rs.epics.getByRef(this.scope.projectId, this.params.epicref).then((function(_this) {\n return function(epic) {\n var ctx, ref, ref1;\n _this.scope.epic = epic;\n _this.scope.immutableEpic = Immutable.fromJS(epic._attrs);\n _this.scope.epicId = epic.id;\n _this.scope.commentModel = epic;\n _this.modelTransform.setObject(_this.scope, 'epic');\n if (((ref = _this.scope.epic.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.epic.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-epics-detail\", ctx);\n }\n if (((ref1 = _this.scope.epic.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.epic.neighbors.next.ref\n };\n return _this.scope.nextUrl = _this.navUrls.resolve(\"project-epics-detail\", ctx);\n }\n };\n })(this));\n };\n\n EpicDetailController.prototype.loadUserstories = function() {\n return this.rs2.userstories.listInEpic(this.scope.epicId).then((function(_this) {\n return function(data) {\n return _this.scope.userstories = data;\n };\n })(this));\n };\n\n EpicDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadEpic().then((function(_this) {\n return function() {\n return _this.loadUserstories();\n };\n })(this));\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n EpicDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.upvote(this.scope.epicId).then(onSuccess, onError);\n };\n\n EpicDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.downvote(this.scope.epicId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n EpicDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.watch(this.scope.epicId).then(onSuccess, onError);\n };\n\n EpicDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.unwatch(this.scope.epicId).then(onSuccess, onError);\n };\n\n EpicDetailController.prototype.onSelectColor = function(color) {\n var onSelectColorError, onSelectColorSuccess, transform;\n onSelectColorSuccess = (function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"object:updated\");\n return _this.confirm.notify('success');\n };\n })(this);\n onSelectColorError = (function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this);\n transform = this.modelTransform.save(function(epic) {\n epic.color = color;\n return epic;\n });\n return transform.then(onSelectColorSuccess, onSelectColorError);\n };\n\n return EpicDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"EpicDetailController\", EpicDetailController);\n\n EpicStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(epic) {\n var html, status;\n status = $scope.statusById[epic.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(epic) {\n if (epic != null) {\n return render(epic);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgEpicStatusDisplay\", [\"$tgTemplate\", \"$compile\", EpicStatusDisplayDirective]);\n\n EpicStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $compile, $translate, $template) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_epic\") !== -1;\n };\n render = (function(_this) {\n return function(epic) {\n var html, status;\n status = $scope.statusById[epic.status];\n html = $compile(template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n }))($scope);\n return $el.html(html);\n };\n })(this);\n save = function(status) {\n var currentLoading, onError, onSuccess, transform;\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(epic) {\n epic.status = status;\n return epic;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n $.fn.popover().closeAll();\n return save(target.data(\"status-id\"));\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var epic;\n epic = $model.$modelValue;\n if (epic) {\n return render(epic);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgEpicStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$compile\", \"$translate\", \"$tgTemplate\", EpicStatusButtonDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/issues/detail.coffee\n */\n\n(function() {\n var AssignSprintToIssueButtonDirective, IssueDetailController, IssuePriorityButtonDirective, IssueSeverityButtonDirective, IssueStatusButtonDirective, IssueStatusDisplayDirective, IssueTypeButtonDirective, PromoteIssueToUsButtonDirective, bindMethods, bindOnce, groupBy, joinStr, mixOf, module, normalizeString, taiga, toString,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n bindMethods = this.taiga.bindMethods;\n\n normalizeString = this.taiga.normalizeString;\n\n module = angular.module(\"taigaIssues\");\n\n IssueDetailController = (function(superClass) {\n extend(IssueDetailController, superClass);\n\n IssueDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgAnalytics\", \"$tgNavUrls\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function IssueDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appMetaService, analytics, navUrls, translate, modelTransform, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.analytics = analytics;\n this.navUrls = navUrls;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.issueRef = this.params.issueref;\n this.scope.sectionName = this.translate.instant(\"ISSUES.SECTION_NAME\");\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n IssueDetailController.prototype._setMeta = function() {\n var description, ref, ref1, ref2, ref3, title;\n title = this.translate.instant(\"ISSUE.PAGE_TITLE\", {\n issueRef: \"#\" + this.scope.issue.ref,\n issueSubject: this.scope.issue.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"ISSUE.PAGE_DESCRIPTION\", {\n issueStatus: ((ref = this.scope.statusById[this.scope.issue.status]) != null ? ref.name : void 0) || \"--\",\n issueType: ((ref1 = this.scope.typeById[this.scope.issue.type]) != null ? ref1.name : void 0) || \"--\",\n issueSeverity: ((ref2 = this.scope.severityById[this.scope.issue.severity]) != null ? ref2.name : void 0) || \"--\",\n issuePriority: ((ref3 = this.scope.priorityById[this.scope.issue.priority]) != null ? ref3.name : void 0) || \"--\",\n issueDescription: angular.element(this.scope.issue.description_html || \"\").text()\n });\n return this.appMetaService.setAll(title, description);\n };\n\n IssueDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on issue\", 1);\n };\n })(this));\n this.scope.$on(\"promote-issue-to-us:success\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"issue\", \"promoteToUserstory\", \"promote issue to userstory\", 1);\n _this.rootscope.$broadcast(\"object:updated\");\n return _this.loadIssue();\n };\n })(this));\n this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadIssue();\n };\n })(this));\n this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n return this.scope.$on(\"assign-sprint-to-issue:success\", (function(_this) {\n return function(ctx, milestoneId) {\n _this.scope.issue.milestone = milestoneId;\n _this.rootscope.$broadcast(\"object:updated\");\n if (milestoneId) {\n return _this.loadSprint();\n } else {\n return _this.scope.sprint = null;\n }\n };\n })(this));\n };\n\n IssueDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n if (this.scope.project.is_issues_activated) {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-issues\", ctx);\n } else {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n }\n };\n\n IssueDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.issue_statuses;\n this.scope.statusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n this.scope.typeById = groupBy(project.issue_types, function(x) {\n return x.id;\n });\n this.scope.typeList = _.sortBy(project.issue_types, \"order\");\n this.scope.severityList = project.severities;\n this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n this.scope.priorityList = project.priorities;\n this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n return project;\n };\n\n IssueDetailController.prototype.loadIssue = function() {\n return this.rs.issues.getByRef(this.scope.projectId, this.params.issueref).then((function(_this) {\n return function(issue) {\n var ctx, ref, ref1;\n _this.scope.issue = issue;\n _this.scope.issueId = issue.id;\n _this.scope.commentModel = issue;\n _this.modelTransform.setObject(_this.scope, 'issue');\n if (((ref = _this.scope.issue.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.issue.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-issues-detail\", ctx);\n }\n if (((ref1 = _this.scope.issue.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.issue.neighbors.next.ref\n };\n return _this.scope.nextUrl = _this.navUrls.resolve(\"project-issues-detail\", ctx);\n }\n };\n })(this));\n };\n\n IssueDetailController.prototype.loadSprint = function() {\n if (this.scope.issue.milestone) {\n return this.rs.sprints.get(this.scope.issue.project, this.scope.issue.milestone).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n return sprint;\n };\n })(this));\n }\n };\n\n IssueDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadIssue().then((function(_this) {\n return function() {\n return _this.loadSprint();\n };\n })(this));\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n IssueDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.upvote(this.scope.issueId).then(onSuccess, onError);\n };\n\n IssueDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.downvote(this.scope.issueId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n IssueDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.watch(this.scope.issueId).then(onSuccess, onError);\n };\n\n IssueDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.unwatch(this.scope.issueId).then(onSuccess, onError);\n };\n\n return IssueDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"IssueDetailController\", IssueDetailController);\n\n IssueStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(issue) {\n var html, status;\n status = $scope.statusById[issue.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(issue) {\n if (issue != null) {\n return render(issue);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgIssueStatusDisplay\", [\"$tgTemplate\", \"$compile\", IssueStatusDisplayDirective]);\n\n IssueStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = (function(_this) {\n return function(issue) {\n var html, status;\n status = $scope.statusById[issue.status];\n html = template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n })(this);\n save = function(statusId) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(issue) {\n issue.status = statusId;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n return save(target.data(\"status-id\"));\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgIssueStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssueStatusButtonDirective]);\n\n IssueTypeButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"issue/issue-type-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, notAutoSave, render, save;\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = function(issue) {\n var html, type;\n type = $scope.typeById[issue.type];\n html = template({\n type: type,\n typees: $scope.typeList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n save = function(type) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n if (notAutoSave) {\n $model.$modelValue.type = type;\n $scope.$apply();\n return;\n }\n currentLoading = $loading().target($el.find(\".level-name\")).start();\n transform = $modelTransform.save(function(issue) {\n issue.type = type;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".type-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-type\").popover().open();\n });\n $el.on(\"click\", \".type\", function(event) {\n var target, type;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n type = target.data(\"type-id\");\n return save(type);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.type : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgIssueTypeButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssueTypeButtonDirective]);\n\n IssueSeverityButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"issue/issue-severity-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, notAutoSave, render, save;\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = function(issue) {\n var html, severity;\n severity = $scope.severityById[issue.severity];\n html = template({\n severity: severity,\n severityes: $scope.severityList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n save = function(severity) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n if (notAutoSave) {\n $model.$modelValue.severity = severity;\n $scope.$apply();\n return;\n }\n currentLoading = $loading().target($el.find(\".level-name\")).start();\n transform = $modelTransform.save(function(issue) {\n issue.severity = severity;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".severity-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-severity\").popover().open();\n });\n $el.on(\"click\", \".severity\", function(event) {\n var severity, target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n severity = target.data(\"severity-id\");\n return save(severity);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.severity : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgIssueSeverityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssueSeverityButtonDirective]);\n\n IssuePriorityButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"issue/issue-priority-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, notAutoSave, render, save;\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = function(issue) {\n var html, priority;\n priority = $scope.priorityById[issue.priority];\n html = template({\n priority: priority,\n priorityes: $scope.priorityList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n save = function(priority) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n if (notAutoSave) {\n $model.$modelValue.priority = priority;\n $scope.$apply();\n return;\n }\n currentLoading = $loading().target($el.find(\".level-name\")).start();\n transform = $modelTransform.save(function(issue) {\n issue.priority = priority;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".priority-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-priority\").popover().open();\n });\n $el.on(\"click\", \".priority\", function(event) {\n var priority, target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n priority = target.data(\"priority-id\");\n return save(priority);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.priority : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgIssuePriorityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssuePriorityButtonDirective]);\n\n PromoteIssueToUsButtonDirective = function($rootScope, $repo, $confirm, $translate) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var save;\n save = (function(_this) {\n return function(issue, askResponse) {\n var data, onError, onSuccess;\n data = {\n generated_from_issue: issue.id,\n project: issue.project,\n subject: issue.subject,\n description: issue.description,\n tags: issue.tags,\n is_blocked: issue.is_blocked,\n blocked_note: issue.blocked_note,\n due_date: issue.due_date\n };\n onSuccess = function() {\n askResponse.finish();\n $confirm.notify(\"success\");\n return $rootScope.$broadcast(\"promote-issue-to-us:success\");\n };\n onError = function() {\n askResponse.finish();\n return $confirm.notify(\"error\");\n };\n return $repo.create(\"userstories\", data).then(onSuccess, onError);\n };\n })(this);\n $el.on(\"click\", \"a\", function(event) {\n var issue, message, subtitle, title;\n event.preventDefault();\n issue = $model.$modelValue;\n title = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.TITLE\");\n message = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.MESSAGE\");\n subtitle = issue.subject;\n return $confirm.ask(title, subtitle, message).then((function(_this) {\n return function(response) {\n return save(issue, response);\n };\n })(this));\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n restrict: \"AE\",\n require: \"ngModel\",\n templateUrl: \"issue/promote-issue-to-us-button.html\",\n link: link\n };\n };\n\n module.directive(\"tgPromoteIssueToUsButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$translate\", PromoteIssueToUsButtonDirective]);\n\n AssignSprintToIssueButtonDirective = function($rootscope, $rs, $repo, $loading, $translate, lightboxService, $modelTransform, $confirm) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var avaliableMilestones, existsMilestone, issue;\n avaliableMilestones = [];\n issue = null;\n $scope.$watch($attrs.ngModel, function(item) {\n if (!item) {\n return;\n }\n if (item.milestone) {\n $el.find('.assign-issue-button.button-unset').removeClass('is-active');\n return $el.find('.assign-issue-button.button-set').addClass('is-active');\n } else {\n $el.find('.assign-issue-button.button-set').removeClass('is-active');\n return $el.find('.assign-issue-button.button-unset').addClass('is-active');\n }\n });\n $el.on(\"click\", \".assign-issue-button.button-unset\", function(event) {\n var title;\n event.preventDefault();\n event.stopPropagation();\n title = $translate.instant(\"ISSUES.ACTION_ATTACH_SPRINT\");\n issue = $model.$modelValue;\n return $rs.sprints.list($scope.projectId, null).then(function(data) {\n $scope.milestones = data.milestones;\n $scope.selectedSprint = issue.milestone;\n avaliableMilestones = angular.copy($scope.milestones);\n return lightboxService.open($el.find(\".lightbox-assign-sprint-to-issue\"));\n });\n });\n $el.on(\"click\", \".assign-issue-button.button-set\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n issue = $model.$modelValue;\n return $rs.sprints.list($scope.projectId, null).then(function(data) {\n var currentSprint, message, title;\n currentSprint = _.find(data.milestones, {\n \"id\": issue.milestone\n });\n title = $translate.instant(\"ISSUES.CONFIRM_DETACH_FROM_SPRINT.TITLE\");\n message = $translate.instant(\"ISSUES.CONFIRM_DETACH_FROM_SPRINT.MESSAGE\");\n message += \" \" + currentSprint.name + \"\";\n return $confirm.ask(title, null, message).then(function(askResponse) {\n var onError, onSuccess, transform;\n onSuccess = function() {\n $rootscope.$broadcast(\"assign-sprint-to-issue:success\", null);\n askResponse.finish();\n return lightboxService.close($el);\n };\n onError = function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n };\n transform = $modelTransform.save(function(issue) {\n issue.setAttr('milestone', null);\n return issue;\n });\n return transform.then(onSuccess, onError);\n });\n });\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n existsMilestone = function(needle, haystack) {\n haystack = normalizeString(haystack.toUpperCase());\n needle = normalizeString(needle.toUpperCase());\n return _.includes(haystack, needle);\n };\n $scope.filterMilestones = function(filterText) {\n return $scope.milestones = avaliableMilestones.filter(function(milestone) {\n return existsMilestone(filterText, milestone.name);\n });\n };\n return $scope.saveIssueToSprint = function(selectedSprint, event) {\n var currentLoading, transform;\n currentLoading = $loading().target($(event.currentTarget)).start();\n issue.setAttr('milestone', selectedSprint.id);\n transform = $modelTransform.save(function(item) {\n issue.setAttr('milestone', selectedSprint.id);\n return item;\n });\n return transform.then(function() {\n currentLoading.finish();\n lightboxService.close($el.find(\".lightbox-assign-sprint-to-issue\"));\n return $rootscope.$broadcast(\"assign-sprint-to-issue:success\", selectedSprint.id);\n });\n };\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n templateUrl: \"issue/assign-sprint-to-issue-button.html\"\n };\n };\n\n module.directive(\"tgAssignSprintToIssueButton\", [\"$rootScope\", \"$tgResources\", \"$tgRepo\", \"$tgLoading\", \"$translate\", \"lightboxService\", \"$tgQueueModelTransformation\", \"$tgConfirm\", AssignSprintToIssueButtonDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/issues/lightboxes.coffee\n */\n\n(function() {\n var CreateBulkIssuesDirective, bindOnce, debounce, module, taiga, trim;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n module = angular.module(\"taigaIssues\");\n\n CreateBulkIssuesDirective = function($repo, $rs, $confirm, $rootscope, $loading, lightboxService, $model) {\n var link;\n link = function($scope, $el, attrs) {\n var form, submit, submitButton;\n form = null;\n $scope.$on(\"issueform:bulk\", function(ctx, projectId, milestoneId, status) {\n if (form) {\n form.reset();\n }\n lightboxService.open($el);\n return $scope[\"new\"] = {\n projectId: projectId,\n milestoneId: milestoneId,\n bulk: \"\"\n };\n });\n submit = debounce(2000, function(event) {\n var currentLoading, data, milestoneId, projectId, promise;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n data = $scope[\"new\"].bulk;\n projectId = $scope[\"new\"].projectId;\n milestoneId = $scope[\"new\"].milestoneId;\n promise = $rs.issues.bulkCreate(projectId, milestoneId, data);\n promise.then(function(result) {\n result = _.map(result.data, function(x) {\n return $model.make_model('issues', x);\n });\n currentLoading.finish();\n $rootscope.$broadcast(\"issueform:new:success\", result);\n lightboxService.close($el);\n return $confirm.notify(\"success\");\n });\n return promise.then(null, function() {\n currentLoading.finish();\n return $confirm.notify(\"error\");\n });\n });\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateBulkIssues\", [\"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"lightboxService\", \"$tgModel\", CreateBulkIssuesDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/issues/list.coffee\n */\n\n(function() {\n var IssueAssignedToInlineEditionDirective, IssueStatusInlineEditionDirective, IssuesController, IssuesDirective, bindMethods, bindOnce, debounceLeading, groupBy, joinStr, mixOf, module, startswith, taiga, toString, trim,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounceLeading = this.taiga.debounceLeading;\n\n startswith = this.taiga.startswith;\n\n bindMethods = this.taiga.bindMethods;\n\n debounceLeading = this.taiga.debounceLeading;\n\n module = angular.module(\"taigaIssues\");\n\n IssuesController = (function(superClass) {\n extend(IssuesController, superClass);\n\n IssuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$tgUrls\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"$tgStorage\", \"tgFilterRemoteStorageService\", \"tgProjectService\", \"tgUserActivityService\"];\n\n IssuesController.prototype.filtersHashSuffix = \"issues-filters\";\n\n IssuesController.prototype.myFiltersHashSuffix = \"issues-my-filters\";\n\n function IssuesController(scope, rootscope, repo, confirm, rs, urls, params1, q1, location, appMetaService, navUrls, events, analytics, translate, errorHandlingService, storage, filterRemoteStorageService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.urls = urls;\n this.params = params1;\n this.q = q1;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n this.projectService = projectService;\n this.loadIssues = bind(this.loadIssues, this);\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"PROJECT.SECTION.ISSUES\");\n this.voting = false;\n if (this.applyStoredFilters(this.params.pslug, this.filtersHashSuffix)) {\n return;\n }\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ISSUES.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"ISSUES.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"issueform:new:success\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"issue\", \"create\", \"create issue on issues list\", 1);\n return _this.loadIssues();\n };\n })(this));\n this.scope.$on(\"assigned-to:changed\", (function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_to') || _this.isFilterDataTypeSelected('role') || _this.isOrderedBy('assigned_to') || _this.isOrderedBy('modified')) {\n return _this.loadIssues();\n }\n };\n })(this));\n this.scope.$on(\"status:changed\", (function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('status') || _this.isOrderedBy('status') || _this.isOrderedBy('modified')) {\n return _this.loadIssues();\n }\n };\n })(this));\n }\n\n IssuesController.prototype.isOrderedBy = function(fieldName) {\n var pattern;\n pattern = new RegExp(\"-*\" + fieldName);\n return pattern.test(this.location.search().order_by);\n };\n\n IssuesController.prototype.changeQ = function(q) {\n this.unselectFilter(\"page\");\n this.replaceFilter(\"q\", q);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.removeFilter = function(filter) {\n this.unselectFilter(\"page\");\n this.unselectFilter(filter.dataType, filter.id);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.addFilter = function(newFilter) {\n this.unselectFilter(\"page\");\n this.selectFilter(newFilter.category.dataType, newFilter.filter.id);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.selectCustomFilter = function(customFilter) {\n var orderBy;\n orderBy = this.location.search().order_by;\n if (orderBy) {\n customFilter.filter.order_by = orderBy;\n }\n this.unselectFilter(\"page\");\n this.replaceAllFilters(customFilter.filter);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.removeCustomFilter = function(customFilter) {\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.myFiltersHashSuffix).then((function(_this) {\n return function(userFilters) {\n delete userFilters[customFilter.id];\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.myFiltersHashSuffix).then(_this.generateFilters);\n };\n })(this));\n };\n\n IssuesController.prototype.isFilterDataTypeSelected = function(filterDataType) {\n var filter, j, len, ref;\n ref = this.selectedFilters;\n for (j = 0, len = ref.length; j < len; j++) {\n filter = ref[j];\n if (filter['dataType'] === filterDataType) {\n return true;\n }\n }\n return false;\n };\n\n IssuesController.prototype.saveCustomFilter = function(name) {\n var filters, urlfilters;\n filters = {};\n urlfilters = this.location.search();\n filters.tags = urlfilters.tags;\n filters.status = urlfilters.status;\n filters.type = urlfilters.type;\n filters.severity = urlfilters.severity;\n filters.priority = urlfilters.priority;\n filters.assigned_to = urlfilters.assigned_to;\n filters.owner = urlfilters.owner;\n filters.role = urlfilters.role;\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.myFiltersHashSuffix).then((function(_this) {\n return function(userFilters) {\n userFilters[name] = filters;\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.myFiltersHashSuffix).then(_this.generateFilters);\n };\n })(this));\n };\n\n IssuesController.prototype.generateFilters = function() {\n var loadFilters, urlfilters;\n this.storeFilters(this.params.pslug, this.location.search(), this.filtersHashSuffix);\n urlfilters = this.location.search();\n loadFilters = {};\n loadFilters.project = this.scope.projectId;\n loadFilters.tags = urlfilters.tags;\n loadFilters.status = urlfilters.status;\n loadFilters.type = urlfilters.type;\n loadFilters.severity = urlfilters.severity;\n loadFilters.priority = urlfilters.priority;\n loadFilters.assigned_to = urlfilters.assigned_to;\n loadFilters.owner = urlfilters.owner;\n loadFilters.role = urlfilters.role;\n loadFilters.q = urlfilters.q;\n return this.q.all([this.rs.issues.filtersData(loadFilters), this.filterRemoteStorageService.getFilters(this.scope.projectId, this.myFiltersHashSuffix)]).then((function(_this) {\n return function(result) {\n var assignedTo, customFiltersRaw, data, owner, priority, role, selected, severity, statuses, tags, tagsWithAtLeastOneElement, type;\n data = result[0];\n customFiltersRaw = result[1];\n statuses = _.map(data.statuses, function(it) {\n it.id = it.id.toString();\n return it;\n });\n type = _.map(data.types, function(it) {\n it.id = it.id.toString();\n return it;\n });\n severity = _.map(data.severities, function(it) {\n it.id = it.id.toString();\n return it;\n });\n priority = _.map(data.priorities, function(it) {\n it.id = it.id.toString();\n return it;\n });\n tags = _.map(data.tags, function(it) {\n it.id = it.name;\n return it;\n });\n tagsWithAtLeastOneElement = _.filter(tags, function(tag) {\n return tag.count > 0;\n });\n assignedTo = _.map(data.assigned_to, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.full_name || \"Unassigned\";\n return it;\n });\n owner = _.map(data.owners, function(it) {\n it.id = it.id.toString();\n it.name = it.full_name;\n return it;\n });\n role = _.map(data.roles, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.name || \"Unassigned\";\n return it;\n });\n _this.selectedFilters = [];\n if (loadFilters.status) {\n selected = _this.formatSelectedFilters(\"status\", statuses, loadFilters.status);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.tags) {\n selected = _this.formatSelectedFilters(\"tags\", tags, loadFilters.tags);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.assigned_to) {\n selected = _this.formatSelectedFilters(\"assigned_to\", assignedTo, loadFilters.assigned_to);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.owner) {\n selected = _this.formatSelectedFilters(\"owner\", owner, loadFilters.owner);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.type) {\n selected = _this.formatSelectedFilters(\"type\", type, loadFilters.type);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.severity) {\n selected = _this.formatSelectedFilters(\"severity\", severity, loadFilters.severity);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.priority) {\n selected = _this.formatSelectedFilters(\"priority\", priority, loadFilters.priority);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.role) {\n selected = _this.formatSelectedFilters(\"role\", role, loadFilters.role);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n _this.filterQ = loadFilters.q;\n _this.filters = [\n {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.TYPE\"),\n dataType: \"type\",\n content: type\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.SEVERITY\"),\n dataType: \"severity\",\n content: severity\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.PRIORITIES\"),\n dataType: \"priority\",\n content: priority\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.STATUS\"),\n dataType: \"status\",\n content: statuses\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.TAGS\"),\n dataType: \"tags\",\n content: tags,\n hideEmpty: true,\n totalTaggedElements: tagsWithAtLeastOneElement.length\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.ASSIGNED_TO\"),\n dataType: \"assigned_to\",\n content: assignedTo\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.ROLE\"),\n dataType: \"role\",\n content: role\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.CREATED_BY\"),\n dataType: \"owner\",\n content: owner\n }\n ];\n _this.customFilters = [];\n return _.forOwn(customFiltersRaw, function(value, key) {\n return _this.customFilters.push({\n id: key,\n name: key,\n filter: value\n });\n });\n };\n })(this));\n };\n\n IssuesController.prototype.initializeSubscription = function() {\n var routingKey;\n routingKey = \"changes.project.\" + this.scope.projectId + \".issues\";\n return this.events.subscribe(this.scope, routingKey, debounceLeading(500, (function(_this) {\n return function(message) {\n return _this.loadIssues();\n };\n })(this)));\n };\n\n IssuesController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_issues_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.issueStatusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n this.scope.severityList = _.sortBy(project.severities, \"order\");\n this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n this.scope.priorityList = _.sortBy(project.priorities, \"order\");\n this.scope.issueTypes = _.sortBy(project.issue_types, \"order\");\n this.scope.issueTypeById = groupBy(project.issue_types, function(x) {\n return x.id;\n });\n return project;\n };\n\n IssuesController.prototype.loadIssuesRequests = 0;\n\n IssuesController.prototype.loadIssues = function() {\n var params, promise;\n params = this.location.search();\n promise = this.rs.issues.list(this.scope.projectId, params);\n this.loadIssuesRequests += 1;\n promise.index = this.loadIssuesRequests;\n promise.then((function(_this) {\n return function(data) {\n if (promise.index === _this.loadIssuesRequests) {\n _this.scope.issues = data.models;\n _this.scope.page = data.current;\n _this.scope.count = data.count;\n _this.scope.paginatedBy = data.paginatedBy;\n }\n return data;\n };\n })(this));\n return promise;\n };\n\n IssuesController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.initializeSubscription();\n this.generateFilters();\n return this.loadIssues();\n };\n\n IssuesController.prototype.addNewIssue = function() {\n var project;\n project = this.projectService.project.toJS();\n return this.rootscope.$broadcast(\"genericform:new\", {\n 'objType': 'issue',\n 'project': project\n });\n };\n\n IssuesController.prototype.addIssuesInBulk = function() {\n return this.rootscope.$broadcast(\"issueform:bulk\", this.scope.projectId);\n };\n\n IssuesController.prototype.upVoteIssue = function(issueId) {\n var onError, onSuccess;\n this.voting = issueId;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssues();\n return _this.voting = null;\n };\n })(this);\n onError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.voting = null;\n };\n })(this);\n return this.rs.issues.upvote(issueId).then(onSuccess, onError);\n };\n\n IssuesController.prototype.downVoteIssue = function(issueId) {\n var onError, onSuccess;\n this.voting = issueId;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssues();\n return _this.voting = null;\n };\n })(this);\n onError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.voting = null;\n };\n })(this);\n return this.rs.issues.downvote(issueId).then(onSuccess, onError);\n };\n\n IssuesController.prototype.getOrderBy = function() {\n if (_.isString(this.location.search().order_by)) {\n return this.location.search().order_by;\n } else {\n return \"created_date\";\n }\n };\n\n return IssuesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"IssuesController\", IssuesController);\n\n IssuesDirective = function($log, $location, $template, $compile) {\n var link, linkOrdering, linkPagination, template;\n template = $template.get(\"issue/issue-paginator.html\", true);\n linkPagination = function($scope, $el, $attrs, $ctrl) {\n var $pagEl, afterCurrent, atBegin, atEnd, beforeCurrent, getNumPages, renderPagination;\n afterCurrent = 2;\n beforeCurrent = 4;\n atBegin = 2;\n atEnd = 2;\n $pagEl = $el.find(\".issues-paginator\");\n getNumPages = function() {\n var numPages;\n numPages = $scope.count / $scope.paginatedBy;\n if (parseInt(numPages, 10) < numPages) {\n numPages = parseInt(numPages, 10) + 1;\n } else {\n numPages = parseInt(numPages, 10);\n }\n return numPages;\n };\n renderPagination = function() {\n var cpage, html, i, j, numPages, options, pages, ref;\n numPages = getNumPages();\n if (numPages <= 1) {\n $pagEl.hide();\n return;\n }\n $pagEl.show();\n pages = [];\n options = {};\n options.pages = pages;\n options.showPrevious = $scope.page > 1;\n options.showNext = !($scope.page === numPages);\n cpage = $scope.page;\n for (i = j = 1, ref = numPages; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {\n if (i === (cpage + afterCurrent) && numPages > (cpage + afterCurrent + atEnd)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i === (cpage - beforeCurrent) && cpage > (atBegin + beforeCurrent)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i > (cpage + afterCurrent) && i <= (numPages - atEnd)) {\n\n } else if (i < (cpage - beforeCurrent) && i > atBegin) {\n\n } else if (i === cpage) {\n pages.push({\n classes: \"active\",\n num: i,\n type: \"page-active\"\n });\n } else {\n pages.push({\n classes: \"page\",\n num: i,\n type: \"page\"\n });\n }\n }\n html = template(options);\n html = $compile(html)($scope);\n return $pagEl.html(html);\n };\n $scope.$watch(\"issues\", function(value) {\n if (!value) {\n return;\n }\n return renderPagination();\n });\n $el.on(\"click\", \".issues-paginator a.next\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page + 1);\n return $ctrl.loadIssues();\n });\n });\n $el.on(\"click\", \".issues-paginator a.previous\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n return $ctrl.loadIssues();\n });\n });\n return $el.on(\"click\", \".issues-paginator li.page > a\", function(event) {\n var pagenum, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n pagenum = target.data(\"pagenum\");\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", pagenum);\n return $ctrl.loadIssues();\n });\n });\n };\n linkOrdering = function($scope, $el, $attrs, $ctrl) {\n var colHeadElement, currentOrder, icon, svg;\n currentOrder = $ctrl.getOrderBy();\n if (currentOrder) {\n icon = startswith(currentOrder, \"-\") ? \"icon-arrow-up\" : \"icon-arrow-down\";\n colHeadElement = $el.find(\".row.title > div[data-fieldname='\" + (trim(currentOrder, \"-\")) + \"']\");\n svg = $(\"\").attr(\"svg-icon\", icon);\n colHeadElement.append(svg);\n $compile(colHeadElement.contents())($scope);\n }\n return $el.on(\"click\", \".row.title > div\", function(event) {\n var finalOrder, newOrder, target;\n target = angular.element(event.currentTarget);\n currentOrder = $ctrl.getOrderBy();\n newOrder = target.data(\"fieldname\");\n if (newOrder === 'total_voters' && currentOrder !== \"-total_voters\") {\n currentOrder = \"total_voters\";\n }\n finalOrder = currentOrder === newOrder ? \"-\" + newOrder : newOrder;\n return $scope.$apply(function() {\n $ctrl.replaceFilter(\"order_by\", finalOrder);\n $ctrl.storeFilters($ctrl.params.pslug, $location.search(), $ctrl.filtersHashSuffix);\n return $ctrl.loadIssues().then(function() {\n $el.find(\".row.title > div > tg-svg\").remove();\n icon = startswith(finalOrder, \"-\") ? \"icon-arrow-up\" : \"icon-arrow-down\";\n svg = $(\"\").attr(\"svg-icon\", icon);\n target.append(svg);\n return $compile(target.contents())($scope);\n });\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n linkOrdering($scope, $el, $attrs, $ctrl);\n linkPagination($scope, $el, $attrs, $ctrl);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssues\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", \"$compile\", IssuesDirective]);\n\n IssueStatusInlineEditionDirective = function($repo, $template, $rootscope) {\n\n /*\n Print the status of an Issue and a popover to change it.\n - tg-issue-status-inline-edition: The issue\n \n Example:\n \n div.status(tg-issue-status-inline-edition=\"issue\")\n a.issue-status(href=\"\")\n \n NOTE: This directive need 'issueStatusById' and 'project'.\n */\n var link, selectionTemplate, updateIssueStatus;\n selectionTemplate = $template.get(\"issue/issue-status-inline-edition-selection.html\", true);\n updateIssueStatus = function($el, issue, issueStatusById) {\n var issueStatusDom, issueStatusDomParent, status;\n issueStatusDomParent = $el.find(\".issue-status\");\n issueStatusDom = $el.find(\".issue-status .issue-status-bind\");\n status = issueStatusById[issue.status];\n if (status) {\n issueStatusDom.text(status.name);\n issueStatusDom.prop(\"title\", status.name);\n return issueStatusDomParent.css('color', status.color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, issue;\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueStatusInlineEdition);\n $el.on(\"click\", \".issue-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n issue.status = target.data(\"status-id\");\n $el.find(\".pop-status\").popover().close();\n updateIssueStatus($el, issue, $scope.issueStatusById);\n return $scope.$apply(function() {\n return $repo.save(issue).then(function(response) {\n return $rootscope.$broadcast(\"status:changed\", response);\n });\n });\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.issue_statuses\n }));\n updateIssueStatus($el, issue, $scope.issueStatusById);\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$watch($attrs.tgIssueStatusInlineEdition, (function(_this) {\n return function(val) {\n return updateIssueStatus($el, val, $scope.issueStatusById);\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssueStatusInlineEdition\", [\"$tgRepo\", \"$tgTemplate\", \"$rootScope\", IssueStatusInlineEditionDirective]);\n\n IssueAssignedToInlineEditionDirective = function($repo, $rootscope, $translate, avatarService) {\n var link, template;\n template = _.template(\"\\\" src=\\\"<%- imgurl %>\\\" alt=\\\"<%- name %>\\\"/>\\n
    <%- name %>
    \");\n link = function($scope, $el, $attrs) {\n var $ctrl, issue, updateIssue;\n updateIssue = function(issue) {\n var avatar, ctx, member;\n ctx = {\n name: $translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\"),\n imgurl: \"/\" + window._version + \"/images/unnamed.png\"\n };\n member = $scope.usersById[issue.assigned_to];\n avatar = avatarService.getAvatar(member);\n ctx.imgurl = avatar.url;\n ctx.bg = null;\n if (member) {\n ctx.name = member.full_name_display;\n ctx.bg = avatar.bg;\n }\n $el.find(\".avatar\").html(template(ctx));\n return $el.find(\".issue-assignedto\").attr('title', ctx.name);\n };\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueAssignedToInlineEdition);\n updateIssue(issue);\n $el.on(\"click\", \".issue-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", issue);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", function(ctx, userId, updatedIssue) {\n if (updatedIssue.id === issue.id) {\n updatedIssue.assigned_to = userId;\n return $repo.save(issue).then(function() {\n updateIssue(updatedIssue);\n return $rootscope.$broadcast(\"assigned-to:changed\", updatedIssue);\n });\n }\n });\n $scope.$watch($attrs.tgIssueAssignedToInlineEdition, function(val) {\n return updateIssue(val);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssueAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", \"$translate\", \"tgAvatarService\", IssueAssignedToInlineEditionDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/userstories/detail.coffee\n */\n\n(function() {\n var UsClientRequirementButtonDirective, UsStatusButtonDirective, UsStatusDisplayDirective, UsTeamRequirementButtonDirective, UserStoryDetailController, bindMethods, bindOnce, groupBy, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaUserStories\");\n\n UserStoryDetailController = (function(superClass) {\n extend(UserStoryDetailController, superClass);\n\n UserStoryDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"$tgConfig\", \"tgProjectService\", \"tgWysiwygService\"];\n\n function UserStoryDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appMetaService, navUrls, analytics, translate, modelTransform, errorHandlingService, configService, projectService, wysiwigService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.configService = configService;\n this.projectService = projectService;\n this.wysiwigService = wysiwigService;\n bindMethods(this);\n this.scope.usRef = this.params.usref;\n this.scope.sectionName = this.translate.instant(\"US.SECTION_NAME\");\n this.scope.tribeEnabled = this.configService.config.tribeHost;\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserStoryDetailController.prototype._setMeta = function() {\n var closedTasks, description, progressPercentage, ref, title, totalTasks;\n totalTasks = this.scope.tasks.length;\n closedTasks = _.filter(this.scope.tasks, (function(_this) {\n return function(t) {\n return _this.scope.taskStatusById[t.status].is_closed;\n };\n })(this)).length;\n progressPercentage = totalTasks > 0 ? Math.round(100 * closedTasks / totalTasks) : 0;\n title = this.translate.instant(\"US.PAGE_TITLE\", {\n userStoryRef: \"#\" + this.scope.us.ref,\n userStorySubject: this.scope.us.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"US.PAGE_DESCRIPTION\", {\n userStoryStatus: ((ref = this.scope.statusById[this.scope.us.status]) != null ? ref.name : void 0) || \"--\",\n userStoryPoints: this.scope.us.total_points,\n userStoryDescription: angular.element(this.wysiwigService.getHTML(this.scope.us.description) || \"\").text(),\n userStoryClosedTasks: closedTasks,\n userStoryTotalTasks: totalTasks,\n userStoryProgressPercentage: progressPercentage\n });\n return this.appMetaService.setAll(title, description);\n };\n\n UserStoryDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"related-tasks:update\", (function(_this) {\n return function() {\n var allClosed;\n _this.scope.tasks = _.clone(_this.scope.tasks, false);\n allClosed = _.every(_this.scope.tasks, function(task) {\n return task.is_closed;\n });\n if (_this.scope.us.is_closed !== allClosed) {\n return _this.loadUs();\n }\n };\n })(this));\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on userstory\", 1);\n };\n })(this));\n return this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadUs();\n };\n })(this));\n };\n\n UserStoryDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n if (this.scope.project.is_backlog_activated) {\n if (this.scope.us.milestone) {\n ctx.sprint = this.scope.sprint.slug;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-taskboard\", ctx);\n } else {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-backlog\", ctx);\n }\n } else if (this.scope.project.is_kanban_activated) {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-kanban\", ctx);\n }\n };\n\n UserStoryDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.us_statuses;\n this.scope.statusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n this.scope.taskStatusById = groupBy(project.task_statuses, function(x) {\n return x.id;\n });\n this.scope.pointsList = _.sortBy(project.points, \"order\");\n this.scope.pointsById = groupBy(this.scope.pointsList, function(e) {\n return e.id;\n });\n return project;\n };\n\n UserStoryDetailController.prototype.loadUs = function() {\n var httpParams, kanbanStaus, milestone, noMilestone;\n httpParams = _.pick(this.location.search(), \"milestone\", \"no-milestone\", \"kanban-status\");\n milestone = httpParams.milestone;\n if (milestone) {\n this.rs.userstories.storeQueryParams(this.scope.projectId, {\n milestone: milestone,\n order_by: \"sprint_order\"\n });\n }\n noMilestone = httpParams[\"no-milestone\"];\n if (noMilestone) {\n this.rs.userstories.storeQueryParams(this.scope.projectId, {\n milestone: \"null\",\n order_by: \"backlog_order\"\n });\n }\n kanbanStaus = httpParams[\"kanban-status\"];\n if (kanbanStaus) {\n this.rs.userstories.storeQueryParams(this.scope.projectId, {\n status: kanbanStaus,\n order_by: \"kanban_order\"\n });\n }\n return this.rs.userstories.getByRef(this.scope.projectId, this.params.usref).then((function(_this) {\n return function(us) {\n _this.scope.us = us;\n _this.scope.usId = us.id;\n _this.scope.commentModel = us;\n _this.modelTransform.setObject(_this.scope, 'us');\n return us;\n };\n })(this));\n };\n\n UserStoryDetailController.prototype.loadSprint = function() {\n if (this.scope.us.milestone) {\n return this.rs.sprints.get(this.scope.us.project, this.scope.us.milestone).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n return sprint;\n };\n })(this));\n }\n };\n\n UserStoryDetailController.prototype.loadTasks = function() {\n return this.rs.tasks.list(this.scope.projectId, null, this.scope.usId).then((function(_this) {\n return function(tasks) {\n _this.scope.tasks = tasks;\n return tasks;\n };\n })(this));\n };\n\n UserStoryDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadUs().then((function(_this) {\n return function() {\n return _this.q.all([_this.loadSprint(), _this.loadTasks()]);\n };\n })(this));\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n UserStoryDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.upvote(this.scope.usId).then(onSuccess, onError);\n };\n\n UserStoryDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.downvote(this.scope.usId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n UserStoryDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.watch(this.scope.usId).then(onSuccess, onError);\n };\n\n UserStoryDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.unwatch(this.scope.usId).then(onSuccess, onError);\n };\n\n UserStoryDetailController.prototype.onTribeInfo = function() {\n var image, publishDesc, publishTitle, text;\n publishTitle = this.translate.instant(\"US.TRIBE.PUBLISH_MORE_INFO_TITLE\");\n image = $('').attr({\n 'src': \"/\" + window._version + \"/images/monster-fight.png\",\n 'alt': this.translate.instant(\"US.TRIBE.PUBLISH_MORE_INFO_TITLE\")\n });\n text = this.translate.instant(\"US.TRIBE.PUBLISH_MORE_INFO_TEXT\");\n publishDesc = $('
    ').append(image).append(text);\n return this.confirm.success(publishTitle, publishDesc);\n };\n\n return UserStoryDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserStoryDetailController\", UserStoryDetailController);\n\n UsStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(us) {\n var html, status;\n status = $scope.statusById[us.status];\n html = template({\n is_closed: us.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(us) {\n if (us != null) {\n return render(us);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsStatusDisplay\", [\"$tgTemplate\", \"$compile\", UsStatusDisplayDirective]);\n\n UsStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n render = (function(_this) {\n return function(us) {\n var html, status;\n status = $scope.statusById[us.status];\n html = template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n });\n $el.html(html);\n return $compile($el.contents())($scope);\n };\n })(this);\n save = (function(_this) {\n return function(status) {\n var currentLoading, onError, onSuccess, transform;\n $el.find(\".pop-status\").popover().close();\n currentLoading = $loading().target($el.find('.js-edit-status')).start();\n transform = $modelTransform.save(function(us) {\n us.status = status;\n return us;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n })(this);\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var status, target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n status = target.data(\"status-id\");\n return save(status);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var us;\n us = $model.$modelValue;\n if (us) {\n return render(us);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", UsStatusButtonDirective]);\n\n UsTeamRequirementButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"us/us-team-requirement-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var canEdit, render, save;\n canEdit = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n render = function(us) {\n var ctx, html;\n ctx = {\n canEdit: canEdit(),\n isRequired: us.team_requirement\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n save = function(team_requirement) {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find(\"label\")).start();\n transform = $modelTransform.save(function(us) {\n us.team_requirement = team_requirement;\n return us;\n });\n transform.then((function(_this) {\n return function() {\n currentLoading.finish();\n return $rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n return transform.then(null, function() {\n currentLoading.finish();\n return $confirm.notify(\"error\");\n });\n };\n $el.on(\"click\", \".team-requirement\", function(event) {\n var team_requirement;\n if (!canEdit()) {\n return;\n }\n team_requirement = !$model.$modelValue.team_requirement;\n return save(team_requirement);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.team_requirement : void 0;\n }, function() {\n var us;\n us = $model.$modelValue;\n if (us) {\n return render(us);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsTeamRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", UsTeamRequirementButtonDirective]);\n\n UsClientRequirementButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"us/us-client-requirement-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var canEdit, render, save;\n canEdit = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n render = function(us) {\n var ctx, html;\n ctx = {\n canEdit: canEdit(),\n isRequired: us.client_requirement\n };\n html = $compile(template(ctx))($scope);\n return $el.html(html);\n };\n save = function(client_requirement) {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find(\"label\")).start();\n transform = $modelTransform.save(function(us) {\n us.client_requirement = client_requirement;\n return us;\n });\n transform.then((function(_this) {\n return function() {\n currentLoading.finish();\n return $rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n return transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n };\n $el.on(\"click\", \".client-requirement\", function(event) {\n var client_requirement;\n if (!canEdit()) {\n return;\n }\n client_requirement = !$model.$modelValue.client_requirement;\n return save(client_requirement);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.client_requirement : void 0;\n }, function() {\n var us;\n us = $model.$modelValue;\n if (us) {\n return render(us);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsClientRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", UsClientRequirementButtonDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/tasks/detail.coffee\n */\n\n(function() {\n var TaskDetailController, TaskIsIocaineButtonDirective, TaskStatusButtonDirective, TaskStatusDisplayDirective, bindMethods, groupBy, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaTasks\");\n\n TaskDetailController = (function(superClass) {\n extend(TaskDetailController, superClass);\n\n TaskDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function TaskDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appMetaService, navUrls, analytics, translate, modelTransform, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.taskRef = this.params.taskref;\n this.scope.sectionName = this.translate.instant(\"TASK.SECTION_NAME\");\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n TaskDetailController.prototype._setMeta = function() {\n var description, ref, title;\n title = this.translate.instant(\"TASK.PAGE_TITLE\", {\n taskRef: \"#\" + this.scope.task.ref,\n taskSubject: this.scope.task.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"TASK.PAGE_DESCRIPTION\", {\n taskStatus: ((ref = this.scope.statusById[this.scope.task.status]) != null ? ref.name : void 0) || \"--\",\n taskDescription: angular.element(this.scope.task.description_html || \"\").text()\n });\n return this.appMetaService.setAll(title, description);\n };\n\n TaskDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on task\", 1);\n };\n })(this));\n this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n return this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadTask();\n };\n })(this));\n };\n\n TaskDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n if (this.scope.project.is_backlog_activated) {\n if (this.scope.task.milestone) {\n ctx.sprint = this.scope.sprint.slug;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-taskboard\", ctx);\n } else if (this.scope.task.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n } else if (this.scope.project.is_kanban_activated) {\n if (this.scope.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n }\n };\n\n TaskDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.task_statuses;\n this.scope.statusById = groupBy(project.task_statuses, function(x) {\n return x.id;\n });\n return project;\n };\n\n TaskDetailController.prototype.loadTask = function() {\n return this.rs.tasks.getByRef(this.scope.projectId, this.params.taskref).then((function(_this) {\n return function(task) {\n var ctx, ref, ref1;\n _this.scope.task = task;\n _this.scope.taskId = task.id;\n _this.scope.commentModel = task;\n _this.modelTransform.setObject(_this.scope, 'task');\n if (((ref = _this.scope.task.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n if (((ref1 = _this.scope.task.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.next.ref\n };\n _this.scope.nextUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n return task;\n };\n })(this));\n };\n\n TaskDetailController.prototype.loadSprint = function() {\n if (this.scope.task.milestone) {\n return this.rs.sprints.get(this.scope.task.project, this.scope.task.milestone).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n return sprint;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadUserStory = function() {\n if (this.scope.task.user_story) {\n return this.rs.userstories.get(this.scope.task.project, this.scope.task.user_story).then((function(_this) {\n return function(us) {\n _this.scope.us = us;\n return us;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadTask().then((function(_this) {\n return function() {\n return _this.q.all([_this.loadSprint(), _this.loadUserStory()]);\n };\n })(this));\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n TaskDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.upvote(this.scope.taskId).then(onSuccess, onError);\n };\n\n TaskDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.downvote(this.scope.taskId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n TaskDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.watch(this.scope.taskId).then(onSuccess, onError);\n };\n\n TaskDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.unwatch(this.scope.taskId).then(onSuccess, onError);\n };\n\n return TaskDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"TaskDetailController\", TaskDetailController);\n\n TaskStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(task) {\n if (task != null) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskStatusDisplay\", [\"$tgTemplate\", \"$compile\", TaskStatusDisplayDirective]);\n\n TaskStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $compile, $translate, $template) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = (function(_this) {\n return function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = $compile(template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n }))($scope);\n return $el.html(html);\n };\n })(this);\n save = function(status) {\n var currentLoading, onError, onSuccess, transform;\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(task) {\n task.status = status;\n return task;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n $.fn.popover().closeAll();\n return save(target.data(\"status-id\"));\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var task;\n task = $model.$modelValue;\n if (task) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$compile\", \"$translate\", \"$tgTemplate\", TaskStatusButtonDirective]);\n\n TaskIsIocaineButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $modelTransform, $compile, $template) {\n var link, template;\n template = $template.get(\"issue/iocaine-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = function(task) {\n var ctx, html;\n if (!isEditable() && !task.is_iocaine) {\n $el.html(\"\");\n return;\n }\n ctx = {\n isIocaine: task.is_iocaine,\n isEditable: isEditable()\n };\n html = $compile(template(ctx))($scope);\n return $el.html(html);\n };\n save = function(is_iocaine) {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find('label')).start();\n transform = $modelTransform.save(function(task) {\n task.is_iocaine = is_iocaine;\n return task;\n });\n transform.then(function() {\n return $rootscope.$broadcast(\"object:updated\");\n });\n transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return transform[\"finally\"](function() {\n return currentLoading.finish();\n });\n };\n $el.on(\"click\", \".is-iocaine\", function(event) {\n var is_iocaine;\n if (!isEditable()) {\n return;\n }\n is_iocaine = !$model.$modelValue.is_iocaine;\n return save(is_iocaine);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.is_iocaine : void 0;\n }, function() {\n var task;\n task = $model.$modelValue;\n if (task) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskIsIocaineButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$compile\", \"$tgTemplate\", TaskIsIocaineButtonDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/team/main.coffee\n */\n\n(function() {\n var LeaveProjectDirective, TeamController, TeamFiltersDirective, TeamMemberCurrentUserDirective, TeamMemberStatsDirective, TeamMembersDirective, membersFilter, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n module = angular.module(\"taigaTeam\");\n\n TeamController = (function(superClass) {\n extend(TeamController, superClass);\n\n TeamController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$location\", \"$tgNavUrls\", \"tgAppMetaService\", \"$tgAuth\", \"$translate\", \"tgProjectService\", \"tgErrorHandlingService\"];\n\n function TeamController(scope, rootscope, repo, rs, params, q, location, navUrls, appMetaService, auth, translate, projectService, errorHandlingService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.auth = auth;\n this.translate = translate;\n this.projectService = projectService;\n this.errorHandlingService = errorHandlingService;\n this.scope.sectionName = \"TEAM.SECTION_NAME\";\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"TEAM.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"TEAM.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n TeamController.prototype.setRole = function(role) {\n if (role) {\n return this.scope.filtersRole = role;\n } else {\n return this.scope.filtersRole = null;\n }\n };\n\n TeamController.prototype.loadMembers = function() {\n var i, len, member, ref, user;\n user = this.auth.getUser();\n this.scope.totals = {};\n ref = this.scope.activeUsers;\n for (i = 0, len = ref.length; i < len; i++) {\n member = ref[i];\n this.scope.totals[member.id] = 0;\n }\n this.scope.currentUser = _.find(this.scope.activeUsers, {\n id: user != null ? user.id : void 0\n });\n return this.scope.memberships = _.reject(this.scope.activeUsers, {\n id: user != null ? user.id : void 0\n });\n };\n\n TeamController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.issuesEnabled = project.is_issues_activated;\n this.scope.tasksEnabled = project.is_kanban_activated || project.is_backlog_activated;\n this.scope.wikiEnabled = project.is_wiki_activated;\n this.scope.owner = project.owner.id;\n return project;\n };\n\n TeamController.prototype.loadMemberStats = function() {\n return this.rs.projects.memberStats(this.scope.projectId).then((function(_this) {\n return function(stats) {\n var totals;\n totals = {};\n _.forEach(_this.scope.totals, function(total, userId) {\n var vals;\n vals = _.map(stats, function(memberStats, statsKey) {\n return memberStats[userId];\n });\n total = _.reduce(vals, function(sum, el) {\n return sum + el;\n });\n return _this.scope.totals[userId] = total;\n });\n _this.scope.stats = _this._processStats(stats);\n return _this.scope.stats.totals = _this.scope.totals;\n };\n })(this));\n };\n\n TeamController.prototype._processStat = function(stat) {\n var key, max, min, singleStat, value;\n max = _.max(_.toArray(stat));\n min = _.min(_.toArray(stat));\n singleStat = Object();\n for (key in stat) {\n if (!hasProp.call(stat, key)) continue;\n value = stat[key];\n if (value === min) {\n singleStat[key] = 0.1;\n } else if (value === max) {\n singleStat[key] = 1;\n } else {\n singleStat[key] = (value * 0.5) / max;\n }\n }\n return singleStat;\n };\n\n TeamController.prototype._processStats = function(stats) {\n var key, value;\n for (key in stats) {\n value = stats[key];\n stats[key] = this._processStat(value);\n }\n return stats;\n };\n\n TeamController.prototype.loadInitialData = function() {\n var project, userRoles;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.loadMembers();\n userRoles = _.map(this.scope.users, function(user) {\n return user.role;\n });\n this.scope.roles = _.filter(this.scope.roles, function(role) {\n return userRoles.indexOf(role.id) !== -1;\n });\n return this.loadMemberStats();\n };\n\n return TeamController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"TeamController\", TeamController);\n\n TeamFiltersDirective = function() {\n return {\n templateUrl: \"team/team-filter.html\"\n };\n };\n\n module.directive(\"tgTeamFilters\", [TeamFiltersDirective]);\n\n TeamMemberStatsDirective = function() {\n return {\n templateUrl: \"team/team-member-stats.html\",\n scope: {\n stats: \"=\",\n userId: \"=user\",\n issuesEnabled: \"=issuesenabled\",\n tasksEnabled: \"=tasksenabled\",\n wikiEnabled: \"=wikienabled\"\n }\n };\n };\n\n module.directive(\"tgTeamMemberStats\", TeamMemberStatsDirective);\n\n TeamMemberCurrentUserDirective = function() {\n return {\n templateUrl: \"team/team-member-current-user.html\",\n scope: {\n project: \"=project\",\n currentUser: \"=currentuser\",\n stats: \"=\",\n issuesEnabled: \"=issuesenabled\",\n tasksEnabled: \"=tasksenabled\",\n wikiEnabled: \"=wikienabled\",\n owner: \"=owner\"\n }\n };\n };\n\n module.directive(\"tgTeamCurrentUser\", TeamMemberCurrentUserDirective);\n\n TeamMembersDirective = function() {\n var template;\n template = \"team/team-members.html\";\n return {\n templateUrl: template,\n scope: {\n memberships: \"=\",\n filtersQ: \"=filtersq\",\n filtersRole: \"=filtersrole\",\n stats: \"=\",\n issuesEnabled: \"=issuesenabled\",\n tasksEnabled: \"=tasksenabled\",\n wikiEnabled: \"=wikienabled\",\n owner: \"=owner\"\n }\n };\n };\n\n module.directive(\"tgTeamMembers\", TeamMembersDirective);\n\n LeaveProjectDirective = function($repo, $confirm, $location, $rs, $navurls, $translate, lightboxFactory, currentUserService) {\n var link;\n link = function($scope, $el, $attrs) {\n var leaveConfirm;\n leaveConfirm = function() {\n var confirm_leave_project_text, leave_project_text;\n leave_project_text = $translate.instant(\"TEAM.ACTION_LEAVE_PROJECT\");\n confirm_leave_project_text = $translate.instant(\"TEAM.CONFIRM_LEAVE_PROJECT\");\n return $confirm.ask(leave_project_text, confirm_leave_project_text).then((function(_this) {\n return function(response) {\n var promise;\n promise = $rs.projects.leave($scope.project.id);\n promise.then(function() {\n return currentUserService.loadProjects().then(function() {\n response.finish();\n $confirm.notify(\"success\");\n return $location.path($navurls.resolve(\"home\"));\n });\n });\n return promise.then(null, function(response) {\n response.finish();\n return $confirm.notify('error', response.data._error_message);\n });\n };\n })(this));\n };\n return $scope.leave = function() {\n if ($scope.project.owner.id === $scope.user.id) {\n return lightboxFactory.create(\"tg-lightbox-leave-project-warning\", {\n \"class\": \"lightbox lightbox-leave-project-warning\"\n }, {\n isCurrentUser: true,\n project: $scope.project\n });\n } else {\n return leaveConfirm();\n }\n };\n };\n return {\n scope: {\n user: \"=\",\n project: \"=\"\n },\n templateUrl: \"team/leave-project.html\",\n link: link\n };\n };\n\n module.directive(\"tgLeaveProject\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgResources\", \"$tgNavUrls\", \"$translate\", \"tgLightboxFactory\", \"tgCurrentUserService\", LeaveProjectDirective]);\n\n membersFilter = function() {\n return function(members, filtersQ, filtersRole) {\n return _.filter(members, function(m) {\n return (!filtersRole || m.role === filtersRole.id) && (!filtersQ || m.full_name.search(new RegExp(filtersQ, \"i\")) >= 0);\n });\n };\n };\n\n module.filter('membersFilter', membersFilter);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/wiki/detail.coffee\n */\n\n(function() {\n var WikiDetailController, WikiSummaryDirective, WikiWysiwyg, bindOnce, debounce, groupBy, mixOf, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaWiki\");\n\n WikiDetailController = (function(superClass) {\n extend(WikiDetailController, superClass);\n\n WikiDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgModel\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$filter\", \"$log\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function WikiDetailController(scope, rootscope, repo, model, confirm, rs, params, q, location, filter, log, appMetaService, navUrls, analytics, translate, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.model = model;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.filter = filter;\n this.log = log;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n this.moveLink = bind(this.moveLink, this);\n this.loadWiki = bind(this.loadWiki, this);\n this.scope.$on(\"wiki:links:move\", this.moveLink);\n this.scope.$on(\"wikipage:add\", this.loadWiki);\n this.scope.projectSlug = this.params.pslug;\n this.scope.wikiSlug = this.params.slug;\n this.scope.sectionName = \"Wiki\";\n this.scope.linksVisible = false;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this._setMeta();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n WikiDetailController.prototype._setMeta = function() {\n var description, ref, ref1, ref2, title;\n title = this.translate.instant(\"WIKI.PAGE_TITLE\", {\n wikiPageName: this.scope.wikiSlug,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"WIKI.PAGE_DESCRIPTION\", {\n wikiPageContent: angular.element(((ref = this.scope.wiki) != null ? ref.html : void 0) || \"\").text(),\n totalEditions: ((ref1 = this.scope.wiki) != null ? ref1.editions : void 0) || 0,\n lastModifiedDate: moment((ref2 = this.scope.wiki) != null ? ref2.modified_date : void 0).format(this.translate.instant(\"WIKI.DATETIME\"))\n });\n return this.appMetaService.setAll(title, description);\n };\n\n WikiDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_wiki_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n WikiDetailController.prototype.loadWiki = function() {\n var promise;\n promise = this.rs.wiki.getBySlug(this.scope.projectId, this.params.slug);\n promise.then((function(_this) {\n return function(wiki) {\n _this.scope.wiki = wiki;\n _this.scope.wikiId = wiki.id;\n return _this.scope.wiki;\n };\n })(this));\n return promise.then(null, (function(_this) {\n return function(xhr) {\n var data;\n _this.scope.wikiId = null;\n if (_this.scope.project.my_permissions.indexOf(\"add_wiki_page\") === -1) {\n return null;\n }\n data = {\n project: _this.scope.projectId,\n slug: _this.scope.wikiSlug,\n content: \"\"\n };\n _this.scope.wiki = _this.model.make_model(\"wiki\", data);\n return _this.scope.wiki;\n };\n })(this));\n };\n\n WikiDetailController.prototype.loadWikiLinks = function() {\n return this.rs.wiki.listLinks(this.scope.projectId).then((function(_this) {\n return function(wikiLinks) {\n var i, len, link, ref, selectedWikiLink;\n _this.scope.wikiLinks = wikiLinks;\n ref = _this.scope.wikiLinks;\n for (i = 0, len = ref.length; i < len; i++) {\n link = ref[i];\n link.url = _this.navUrls.resolve(\"project-wiki-page\", {\n project: _this.scope.projectSlug,\n slug: link.href\n });\n }\n return selectedWikiLink = _.find(wikiLinks, {\n href: _this.scope.wikiSlug\n });\n };\n })(this));\n };\n\n WikiDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.q.all([this.loadWikiLinks(), this.loadWiki()]).then(this.checkLinksPerms.bind(this));\n };\n\n WikiDetailController.prototype.checkLinksPerms = function() {\n if (this.scope.project.my_permissions.indexOf(\"add_wiki_link\") !== -1 || (this.scope.project.my_permissions.indexOf(\"view_wiki_links\") !== -1 && this.scope.wikiLinks.length)) {\n return this.scope.linksVisible = true;\n }\n };\n\n WikiDetailController.prototype[\"delete\"] = function() {\n var message, title;\n title = this.translate.instant(\"WIKI.DELETE_LIGHTBOX_TITLE\");\n message = this.scope.wikiSlug;\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSuccess;\n onSuccess = function() {\n var ctx;\n askResponse.finish();\n ctx = {\n project: _this.scope.projectSlug\n };\n _this.location.path(_this.navUrls.resolve(\"project-wiki\", ctx));\n _this.confirm.notify(\"success\");\n return _this.loadWiki();\n };\n onError = function() {\n askResponse.finish(false);\n return _this.confirm.notify(\"error\");\n };\n return _this.repo.remove(_this.scope.wiki).then(onSuccess, onError);\n };\n })(this));\n };\n\n WikiDetailController.prototype.moveLink = function(ctx, item, itemIndex) {\n var r, values;\n values = this.scope.wikiLinks;\n r = values.indexOf(item);\n values.splice(r, 1);\n values.splice(itemIndex, 0, item);\n _.each(values, function(value, index) {\n return value.order = index;\n });\n return this.repo.saveAll(values);\n };\n\n return WikiDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"WikiDetailController\", WikiDetailController);\n\n WikiSummaryDirective = function($log, $template, $compile, $translate, avatarService) {\n var link, template;\n template = $template.get(\"wiki/wiki-summary.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var render;\n render = function(wiki) {\n var avatar, ctx, html, user;\n if ($scope.usersById == null) {\n $log.error(\"WikiSummaryDirective requires userById set in scope.\");\n } else {\n user = $scope.usersById[wiki.last_modifier];\n }\n avatar = avatarService.getAvatar(user);\n if (user === void 0) {\n user = {\n name: \"unknown\",\n avatar: avatar\n };\n } else {\n user = {\n name: user.full_name_display,\n avatar: avatar\n };\n }\n ctx = {\n totalEditions: wiki.editions,\n lastModifiedDate: moment(wiki.modified_date).format($translate.instant(\"WIKI.DATETIME\")),\n user: user\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(wikiPage) {\n if (!wikiPage) {\n return;\n }\n return render(wikiPage);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgWikiSummary\", [\"$log\", \"$tgTemplate\", \"$compile\", \"$translate\", \"tgAvatarService\", WikiSummaryDirective]);\n\n WikiWysiwyg = function($modelTransform, $rootscope, $confirm, attachmentsFullService, $qqueue, $repo, $analytics, wikiHistoryService) {\n var link;\n link = function($scope, $el, $attrs) {\n var uploadFile;\n $scope.editableDescription = false;\n $scope.saveDescription = $qqueue.bindAdd(function(description, cb) {\n var onError, onSuccess, promise;\n onSuccess = function(wikiPage) {\n if ($scope.item.id == null) {\n $analytics.trackEvent(\"wikipage\", \"create\", \"create wiki page\", 1);\n $scope.$emit(\"wikipage:add\");\n }\n wikiHistoryService.loadHistoryEntries();\n return $confirm.notify(\"success\");\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n $scope.item.content = description;\n if ($scope.item.id != null) {\n promise = $repo.save($scope.item).then(onSuccess, onError);\n } else {\n promise = $repo.create(\"wiki\", $scope.item).then(onSuccess, onError);\n }\n return promise[\"finally\"](cb);\n });\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.project.id, $scope.item.id, 'wiki_page', file).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n $scope.$watch($attrs.model, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n $scope.version = value.version;\n return $scope.storageKey = $scope.project.id + \"-\" + value.id + \"-wiki\";\n });\n return $scope.$watch('project', function(project) {\n if (!project) {\n return;\n }\n return $scope.editableDescription = project.my_permissions.indexOf(\"modify_wiki_page\") !== -1;\n });\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n\\n
    \\n\\n \\n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\\n
    \\n
    \"\n };\n };\n\n module.directive(\"tgWikiWysiwyg\", [\"$tgQueueModelTransformation\", \"$rootScope\", \"$tgConfirm\", \"tgAttachmentsFullService\", \"$tgQqueue\", \"$tgRepo\", \"$tgAnalytics\", \"tgWikiHistoryService\", WikiWysiwyg]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/wiki/detail.coffee\n */\n\n(function() {\n var WikiNavDirective, bindOnce, groupBy, mixOf, module, taiga;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaWiki\");\n\n WikiNavDirective = function($tgrepo, $log, $location, $confirm, $analytics, $loading, $template, $compile, $translate) {\n var link, linkWikiLinks, template;\n template = $template.get(\"wiki/wiki-nav.html\", true);\n linkWikiLinks = function($scope, $el, $attrs) {\n var $ctrl, addWikiLinkPermission, drake, render;\n $ctrl = $el.controller();\n if ($attrs.ngModel == null) {\n return $log.error(\"WikiNavDirective: no ng-model attr is defined\");\n }\n addWikiLinkPermission = $scope.project.my_permissions.indexOf(\"add_wiki_link\") > -1;\n drake = null;\n render = function(wikiLinks) {\n var deleteWikiLinkPermission, html, itemEl, scroll, tdom;\n addWikiLinkPermission = $scope.project.my_permissions.indexOf(\"add_wiki_link\") > -1;\n deleteWikiLinkPermission = $scope.project.my_permissions.indexOf(\"delete_wiki_link\") > -1;\n html = template({\n wikiLinks: wikiLinks,\n projectSlug: $scope.projectSlug,\n addWikiLinkPermission: addWikiLinkPermission,\n deleteWikiLinkPermission: deleteWikiLinkPermission\n });\n html = $compile(html)($scope);\n $el.off();\n if (addWikiLinkPermission && drake) {\n drake.destroy();\n }\n $el.html(html);\n if (addWikiLinkPermission) {\n itemEl = null;\n tdom = $el.find(\".sortable\");\n drake = dragula([tdom[0]], {\n direction: 'vertical',\n copySortSource: false,\n copy: false,\n mirrorContainer: tdom[0],\n moves: function(item) {\n return $(item).is('li');\n }\n });\n drake.on('dragend', function(item) {\n var itemIndex;\n itemEl = $(item);\n item = itemEl.scope().link;\n itemIndex = itemEl.index();\n return $scope.$emit(\"wiki:links:move\", item, itemIndex);\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n }\n $el.on(\"click\", \".add-button\", function(event) {\n event.preventDefault();\n $el.find(\".new\").removeClass(\"hidden\");\n $el.find(\".new input\").focus();\n return $el.find(\".add-button\").hide();\n });\n $el.on(\"click\", \".js-delete-link\", function(event) {\n var linkId, message, target, title;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n linkId = target.parents('.wiki-link').data('id');\n title = $translate.instant(\"WIKI.DELETE_LINK_TITLE\");\n message = $scope.wikiLinks[linkId].title;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var promise;\n promise = $tgrepo.remove($scope.wikiLinks[linkId]);\n promise.then(function() {\n promise = $ctrl.loadWikiLinks();\n promise.then(function() {\n askResponse.finish();\n return render($scope.wikiLinks);\n });\n return promise.then(null, function() {\n return askResponse.finish();\n });\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n });\n return $el.on(\"keyup\", \".new input\", function(event) {\n var currentLoading, newLink, promise, target;\n event.preventDefault();\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n newLink = target.val();\n currentLoading = $loading().target($el.find(\".new\")).start();\n promise = $tgrepo.create(\"wiki-links\", {\n project: $scope.projectId,\n title: newLink\n });\n promise.then(function() {\n var loadPromise;\n $analytics.trackEvent(\"wikilink\", \"create\", \"create wiki link\", 1);\n loadPromise = $ctrl.loadWikiLinks();\n loadPromise.then(function() {\n currentLoading.finish();\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new input\").val('');\n $el.find(\".add-button\").show();\n return render($scope.wikiLinks);\n });\n return loadPromise.then(null, function() {\n currentLoading.finish();\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new input\").val('');\n $el.find(\".add-button\").show();\n return $confirm.notify(\"error\", \"Error loading wiki links\");\n });\n });\n return promise.then(null, function(error) {\n var ref;\n currentLoading.finish();\n $el.find(\".new input\").val(newLink);\n $el.find(\".new input\").focus().select();\n if ((error != null ? (ref = error.__all__) != null ? ref[0] : void 0 : void 0) != null) {\n return $confirm.notify(\"error\", \"The link already exists\");\n } else {\n return $confirm.notify(\"error\");\n }\n });\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new input\").val('');\n return $el.find(\".add-button\").show();\n }\n });\n };\n return bindOnce($scope, $attrs.ngModel, render);\n };\n link = function($scope, $el, $attrs) {\n linkWikiLinks($scope, $el, $attrs);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgWikiNav\", [\"$tgRepo\", \"$log\", \"$tgLocation\", \"$tgConfirm\", \"$tgAnalytics\", \"$tgLoading\", \"$tgTemplate\", \"$compile\", \"$translate\", WikiNavDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/wiki/pages-list.coffee\n */\n\n(function() {\n var WikiPagesListController, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n module = angular.module(\"taigaWiki\");\n\n WikiPagesListController = (function(superClass) {\n extend(WikiPagesListController, superClass);\n\n WikiPagesListController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgModel\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgNavUrls\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function WikiPagesListController(scope, rootscope, repo, model, confirm, rs, params, q, navUrls, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.model = model;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.navUrls = navUrls;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n this.scope.projectSlug = this.params.pslug;\n this.scope.wikiSlug = this.params.slug;\n this.scope.sectionName = \"Wiki\";\n this.scope.linksVisible = false;\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n WikiPagesListController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_wiki_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n WikiPagesListController.prototype.loadWikiPages = function() {\n var promise;\n return promise = this.rs.wiki.list(this.scope.projectId).then((function(_this) {\n return function(wikipages) {\n return _this.scope.wikipages = wikipages;\n };\n })(this));\n };\n\n WikiPagesListController.prototype.loadWikiLinks = function() {\n return this.rs.wiki.listLinks(this.scope.projectId).then((function(_this) {\n return function(wikiLinks) {\n var i, len, link, ref, selectedWikiLink;\n _this.scope.wikiLinks = wikiLinks;\n ref = _this.scope.wikiLinks;\n for (i = 0, len = ref.length; i < len; i++) {\n link = ref[i];\n link.url = _this.navUrls.resolve(\"project-wiki-page\", {\n project: _this.scope.projectSlug,\n slug: link.href\n });\n }\n return selectedWikiLink = _.find(wikiLinks, {\n href: _this.scope.wikiSlug\n });\n };\n })(this));\n };\n\n WikiPagesListController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.q.all([this.loadWikiLinks(), this.loadWikiPages()]).then(this.checkLinksPerms.bind(this));\n };\n\n WikiPagesListController.prototype.checkLinksPerms = function() {\n if (this.scope.project.my_permissions.indexOf(\"add_wiki_link\") !== -1 || (this.scope.project.my_permissions.indexOf(\"view_wiki_links\") !== -1 && this.scope.wikiLinks.length)) {\n return this.scope.linksVisible = true;\n }\n };\n\n return WikiPagesListController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"WikiPagesListController\", WikiPagesListController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin/lightboxes.coffee\n */\n\n(function() {\n var ChangeOwnerLightboxController, ChangeOwnerLightboxDirective, LbRequestOwnershipDirective, LightboxAddMembersWarningMessageDirective, TransferProjectStartSuccessDirective, debounce, module, taiga;\n\n taiga = this.taiga;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaKanban\");\n\n LightboxAddMembersWarningMessageDirective = function() {\n return {\n templateUrl: \"admin/memberships-warning-message.html\",\n scope: {\n project: \"=\"\n }\n };\n };\n\n module.directive(\"tgLightboxAddMembersWarningMessage\", [LightboxAddMembersWarningMessageDirective]);\n\n LbRequestOwnershipDirective = function(lightboxService, rs, confirmService, $translate) {\n return {\n link: function(scope, el) {\n lightboxService.open(el);\n return scope.request = function() {\n scope.loading = true;\n return rs.projects.transferRequest(scope.projectId).then(function() {\n scope.loading = false;\n lightboxService.close(el);\n return confirmService.notify(\"success\", $translate.instant(\"ADMIN.PROJECT_PROFILE.REQUEST_OWNERSHIP_SUCCESS\"));\n });\n };\n },\n templateUrl: \"common/lightbox/lightbox-request-ownership.html\"\n };\n };\n\n module.directive('tgLbRequestOwnership', [\"lightboxService\", \"tgResources\", \"$tgConfirm\", \"$translate\", LbRequestOwnershipDirective]);\n\n ChangeOwnerLightboxController = (function() {\n function ChangeOwnerLightboxController(rs1, lightboxService1, confirm, translate) {\n this.rs = rs1;\n this.lightboxService = lightboxService1;\n this.confirm = confirm;\n this.translate = translate;\n this.users = [];\n this.q = \"\";\n this.commentOpen = false;\n }\n\n ChangeOwnerLightboxController.prototype.limit = 3;\n\n ChangeOwnerLightboxController.prototype.normalizeString = function(normalizedString) {\n normalizedString = normalizedString.replace(\"Á\", \"A\").replace(\"Ä\", \"A\").replace(\"À\", \"A\");\n normalizedString = normalizedString.replace(\"É\", \"E\").replace(\"Ë\", \"E\").replace(\"È\", \"E\");\n normalizedString = normalizedString.replace(\"Í\", \"I\").replace(\"Ï\", \"I\").replace(\"Ì\", \"I\");\n normalizedString = normalizedString.replace(\"Ó\", \"O\").replace(\"Ö\", \"O\").replace(\"Ò\", \"O\");\n normalizedString = normalizedString.replace(\"Ú\", \"U\").replace(\"Ü\", \"U\").replace(\"Ù\", \"U\");\n return normalizedString;\n };\n\n ChangeOwnerLightboxController.prototype.filterUsers = function(user) {\n var text, username;\n username = user.full_name_display.toUpperCase();\n username = this.normalizeString(username);\n text = this.q.toUpperCase();\n text = this.normalizeString(text);\n return _.includes(username, text);\n };\n\n ChangeOwnerLightboxController.prototype.getUsers = function() {\n var users;\n if (!this.users.length && !this.q.length) {\n users = this.activeUsers;\n } else {\n users = this.users;\n }\n users = users.slice(0, this.limit);\n users = _.reject(users, {\n \"selected\": true\n });\n return _.reject(users, {\n \"id\": this.currentOwnerId\n });\n };\n\n ChangeOwnerLightboxController.prototype.userSearch = function() {\n this.users = this.activeUsers;\n this.selected = _.find(this.users, {\n \"selected\": true\n });\n if (this.q) {\n return this.users = _.filter(this.users, this.filterUsers.bind(this));\n }\n };\n\n ChangeOwnerLightboxController.prototype.selectUser = function(user) {\n this.activeUsers = _.map(this.activeUsers, function(user) {\n user.selected = false;\n return user;\n });\n user.selected = true;\n return this.userSearch();\n };\n\n ChangeOwnerLightboxController.prototype.submit = function() {\n this.loading = true;\n return this.rs.projects.transferStart(this.projectId, this.selected.id, this.comment).then((function(_this) {\n return function() {\n var desc, title;\n _this.loading = false;\n _this.lightboxService.closeAll();\n title = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.CHANGE_OWNER_SUCCESS_TITLE\");\n desc = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.CHANGE_OWNER_SUCCESS_DESC\");\n return _this.confirm.success(title, desc, {\n type: \"svg\",\n name: \"icon-speak-up\"\n });\n };\n })(this));\n };\n\n return ChangeOwnerLightboxController;\n\n })();\n\n ChangeOwnerLightboxController.$inject = [\"tgResources\", \"lightboxService\", \"$tgConfirm\", \"$translate\"];\n\n module.controller('ChangeOwnerLightbox', ChangeOwnerLightboxController);\n\n ChangeOwnerLightboxDirective = function(lightboxService, lightboxKeyboardNavigationService, $template, $compile) {\n var link;\n link = function(scope, el) {\n return lightboxService.open(el);\n };\n return {\n scope: true,\n controller: \"ChangeOwnerLightbox\",\n controllerAs: \"vm\",\n bindToController: {\n currentOwnerId: \"=\",\n projectId: \"=\",\n activeUsers: \"=\"\n },\n templateUrl: \"common/lightbox/lightbox-change-owner.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbChangeOwner\", [\"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", ChangeOwnerLightboxDirective]);\n\n TransferProjectStartSuccessDirective = function(lightboxService) {\n var link;\n link = function(scope, el) {\n scope.close = function() {\n return lightboxService.close(el);\n };\n return lightboxService.open(el);\n };\n return {\n templateUrl: \"common/lightbox/lightbox-transfer-project-start-success.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbTransferProjectStartSuccess\", [\"lightboxService\", TransferProjectStartSuccessDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin/memberships.coffee\n */\n\n(function() {\n var MembershipsController, MembershipsDirective, MembershipsRowActionsDirective, MembershipsRowAdminCheckboxDirective, MembershipsRowAvatarDirective, MembershipsRowRoleSelectorDirective, NoMoreMembershipsExplanationDirective, bindMethods, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaAdmin\");\n\n MembershipsController = (function(superClass) {\n extend(MembershipsController, superClass);\n\n MembershipsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAnalytics\", \"tgAppMetaService\", \"$translate\", \"$tgAuth\", \"tgLightboxFactory\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function MembershipsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, analytics, appMetaService, translate, auth, lightboxFactory1, errorHandlingService, projectService1) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.auth = auth;\n this.lightboxFactory = lightboxFactory1;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n bindMethods(this);\n this.scope.project = {};\n this.scope.filters = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.MEMBERSHIPS.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"membersform:new:success\", (function(_this) {\n return function() {\n _this.loadInitialData();\n return _this.analytics.trackEvent(\"membership\", \"create\", \"create memberships on admin\", 1);\n };\n })(this));\n }\n\n MembershipsController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.canAddUsers = project.max_memberships === null || project.max_memberships > project.total_memberships;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n MembershipsController.prototype.loadMembers = function() {\n var httpFilters;\n httpFilters = this.getUrlFilters();\n return this.rs.memberships.list(this.scope.projectId, httpFilters).then((function(_this) {\n return function(data) {\n _this.scope.memberships = _.filter(data.models, function(membership) {\n return membership.user === null || membership.is_user_active;\n });\n _this.scope.page = data.current;\n _this.scope.count = data.count;\n _this.scope.paginatedBy = data.paginatedBy;\n return data;\n };\n })(this));\n };\n\n MembershipsController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.q.all([this.loadMembers(), this.auth.refresh()]);\n };\n\n MembershipsController.prototype.getUrlFilters = function() {\n var filters;\n filters = _.pick(this.location.search(), \"page\");\n if (!filters.page) {\n filters.page = 1;\n }\n return filters;\n };\n\n MembershipsController.prototype.addNewMembers = function() {\n return this.lightboxFactory.create('tg-lb-add-members', {\n \"class\": \"lightbox lightbox-add-member\",\n \"project\": \"project\"\n }, {\n \"project\": this.scope.project\n });\n };\n\n MembershipsController.prototype.showLimitUsersWarningMessage = function() {\n var icon, message, title;\n title = this.translate.instant(\"ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING\");\n message = this.translate.instant(\"ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING_MESSAGE\", {\n members: this.scope.project.max_memberships\n });\n icon = \"/\" + window._version + \"/svg/icons/team-question.svg\";\n return this.confirm.success(title, message, {\n name: icon,\n type: \"img\"\n });\n };\n\n return MembershipsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"MembershipsController\", MembershipsController);\n\n MembershipsDirective = function($template, $compile) {\n var link, linkPagination, template;\n template = $template.get(\"admin/admin-membership-paginator.html\", true);\n linkPagination = function($scope, $el, $attrs, $ctrl) {\n var $pagEl, afterCurrent, atBegin, atEnd, beforeCurrent, getNumPages, renderPagination;\n afterCurrent = 2;\n beforeCurrent = 4;\n atBegin = 2;\n atEnd = 2;\n $pagEl = $el.find(\".memberships-paginator\");\n getNumPages = function() {\n var numPages;\n numPages = $scope.count / $scope.paginatedBy;\n if (parseInt(numPages, 10) < numPages) {\n numPages = parseInt(numPages, 10) + 1;\n } else {\n numPages = parseInt(numPages, 10);\n }\n return numPages;\n };\n renderPagination = function() {\n var cpage, html, i, j, numPages, options, pages, ref;\n numPages = getNumPages();\n if (numPages <= 1) {\n $pagEl.hide();\n return;\n }\n pages = [];\n options = {};\n options.pages = pages;\n options.showPrevious = $scope.page > 1;\n options.showNext = !($scope.page === numPages);\n cpage = $scope.page;\n for (i = j = 1, ref = numPages; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {\n if (i === (cpage + afterCurrent) && numPages > (cpage + afterCurrent + atEnd)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i === (cpage - beforeCurrent) && cpage > (atBegin + beforeCurrent)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i > (cpage + afterCurrent) && i <= (numPages - atEnd)) {\n\n } else if (i < (cpage - beforeCurrent) && i > atBegin) {\n\n } else if (i === cpage) {\n pages.push({\n classes: \"active\",\n num: i,\n type: \"page-active\"\n });\n } else {\n pages.push({\n classes: \"page\",\n num: i,\n type: \"page\"\n });\n }\n }\n html = template(options);\n html = $compile(html)($scope);\n $pagEl.html(html);\n return $pagEl.show();\n };\n $scope.$watch(\"memberships\", function(value) {\n if (!value) {\n return;\n }\n return renderPagination();\n });\n $el.on(\"click\", \".memberships-paginator a.next\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page + 1);\n return $ctrl.loadMembers();\n });\n });\n $el.on(\"click\", \".memberships-paginator a.previous\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n return $ctrl.loadMembers();\n });\n });\n return $el.on(\"click\", \".memberships-paginator li.page > a\", function(event) {\n var pagenum, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n pagenum = target.data(\"pagenum\");\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", pagenum);\n return $ctrl.loadMembers();\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n linkPagination($scope, $el, $attrs, $ctrl);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMemberships\", [\"$tgTemplate\", \"$compile\", MembershipsDirective]);\n\n MembershipsRowAvatarDirective = function($log, $template, $translate, $compile, avatarService) {\n var link, template;\n template = $template.get(\"admin/memberships-row-avatar.html\", true);\n link = function($scope, $el, $attrs) {\n var member, pending, render;\n pending = $translate.instant(\"ADMIN.MEMBERSHIP.STATUS_PENDING\");\n render = function(member) {\n var avatar, ctx, html;\n avatar = avatarService.getAvatar(member);\n ctx = {\n full_name: member.full_name ? member.full_name : \"\",\n email: member.user_email ? member.user_email : member.email,\n imgurl: avatar.url,\n bg: avatar.bg,\n pending: !member.is_user_active ? pending : \"\",\n isOwner: member.is_owner\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n if ($attrs.tgMembershipsRowAvatar == null) {\n return $log.error(\"MembershipsRowAvatarDirective: the directive need a member\");\n }\n member = $scope.$eval($attrs.tgMembershipsRowAvatar);\n render(member);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMembershipsRowAvatar\", [\"$log\", \"$tgTemplate\", '$translate', \"$compile\", \"tgAvatarService\", MembershipsRowAvatarDirective]);\n\n MembershipsRowAdminCheckboxDirective = function($log, $repo, $confirm, $template, $compile) {\n var link, template;\n template = $template.get(\"admin/admin-memberships-row-checkbox.html\", true);\n link = function($scope, $el, $attrs) {\n var html, member, render;\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n if ($attrs.tgMembershipsRowAdminCheckbox == null) {\n return $log.error(\"MembershipsRowAdminCheckboxDirective: the directive need a member\");\n }\n member = $scope.$eval($attrs.tgMembershipsRowAdminCheckbox);\n if (member.is_owner) {\n $el.find(\".js-check\").remove();\n return;\n }\n render = function(member) {\n var ctx, html;\n ctx = {\n inputId: \"is-admin-\" + member.id\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $el.on(\"click\", \":checkbox\", (function(_this) {\n return function(event) {\n var onError, onSuccess, target;\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function(data) {\n member.revert();\n $el.find(\":checkbox\").prop(\"checked\", member.is_admin);\n return $confirm.notify(\"error\", data.is_admin[0]);\n };\n target = angular.element(event.currentTarget);\n member.is_admin = target.prop(\"checked\");\n return $repo.save(member).then(onSuccess, onError);\n };\n })(this));\n html = render(member);\n if (member.is_admin) {\n return $el.find(\":checkbox\").prop(\"checked\", true);\n }\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMembershipsRowAdminCheckbox\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgTemplate\", \"$compile\", MembershipsRowAdminCheckboxDirective]);\n\n MembershipsRowRoleSelectorDirective = function($log, $repo, $confirm) {\n var link, template;\n template = _.template(\"\");\n link = function($scope, $el, $attrs) {\n var $ctrl, html, member, render;\n render = function(member) {\n var ctx, html;\n ctx = {\n roleList: $scope.project.roles,\n selectedRole: member.role\n };\n html = template(ctx);\n return $el.html(html);\n };\n if ($attrs.tgMembershipsRowRoleSelector == null) {\n return $log.error(\"MembershipsRowRoleSelectorDirective: the directive need a member\");\n }\n $ctrl = $el.controller();\n member = $scope.$eval($attrs.tgMembershipsRowRoleSelector);\n html = render(member);\n $el.on(\"change\", \"select\", (function(_this) {\n return function(event) {\n var newRole, onError, onSuccess, target;\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n target = angular.element(event.currentTarget);\n newRole = parseInt(target.val(), 10);\n if (member.role !== newRole) {\n member.role = newRole;\n return $repo.save(member).then(onSuccess, onError);\n }\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMembershipsRowRoleSelector\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", MembershipsRowRoleSelectorDirective]);\n\n MembershipsRowActionsDirective = function($log, $repo, $rs, $confirm, $compile, $translate, $location, $navUrls, lightboxFactory, projectService) {\n var activedTemplate, link, pendingTemplate;\n activedTemplate = \"
    \\n
    \\n\\n \\n\";\n pendingTemplate = \"\\n\\n\\n \\n\";\n link = function($scope, $el, $attrs) {\n var $ctrl, leaveConfirm, member, render;\n render = function(member) {\n var html;\n if (member.user) {\n html = $compile(activedTemplate)($scope);\n } else {\n html = $compile(pendingTemplate)($scope);\n }\n return $el.html(html);\n };\n if ($attrs.tgMembershipsRowActions == null) {\n return $log.error(\"MembershipsRowActionsDirective: the directive need a member\");\n }\n $ctrl = $el.controller();\n member = $scope.$eval($attrs.tgMembershipsRowActions);\n render(member);\n $el.on(\"click\", \".js-resend\", function(event) {\n var onError, onSuccess;\n event.preventDefault();\n onSuccess = function() {\n var text;\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_SEND_INVITATION\", {\n email: $scope.member.email\n });\n return $confirm.notify(\"success\", text);\n };\n onError = function() {\n var text;\n text = $translate.instant(\"ADMIM.MEMBERSHIP.ERROR_SEND_INVITATION\");\n return $confirm.notify(\"error\", text);\n };\n return $rs.memberships.resendInvitation($scope.member.id).then(onSuccess, onError);\n });\n leaveConfirm = function() {\n var defaultMsg, message, title;\n title = $translate.instant(\"ADMIN.MEMBERSHIP.DELETE_MEMBER\");\n defaultMsg = $translate.instant(\"ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE\", {\n email: member.email\n });\n message = member.user ? member.full_name : defaultMsg;\n return $confirm.askOnDelete(title, message).then(function(askResponse) {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n var text;\n askResponse.finish();\n if (member.user !== $scope.user.id) {\n if ($scope.page > 1 && ($scope.count - 1) <= $scope.paginatedBy) {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n }\n projectService.fetchProject().then(function() {\n return $ctrl.loadInitialData();\n });\n } else {\n $location.path($navUrls.resolve(\"home\"));\n }\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_DELETE\", {\n message: message\n });\n return $confirm.notify(\"success\", text, null, 5000);\n };\n })(this);\n onError = (function(_this) {\n return function() {\n var text;\n askResponse.finish(false);\n text = $translate.instant(\"ADMIN.MEMBERSHIP.ERROR_DELETE\", {\n message: message\n });\n return $confirm.notify(\"error\", text);\n };\n })(this);\n return $repo.remove(member).then(onSuccess, onError);\n });\n };\n $el.on(\"click\", \".delete\", function(event) {\n var isCurrentUser;\n event.preventDefault();\n if ($scope.project.owner.id === member.user) {\n isCurrentUser = $scope.user.id === member.user;\n return lightboxFactory.create(\"tg-lightbox-leave-project-warning\", {\n \"class\": \"lightbox lightbox-leave-project-warning\"\n }, {\n isCurrentUser: isCurrentUser,\n project: $scope.project\n });\n } else {\n return leaveConfirm();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMembershipsRowActions\", [\"$log\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$compile\", \"$translate\", \"$tgLocation\", \"$tgNavUrls\", \"tgLightboxFactory\", \"tgProjectService\", MembershipsRowActionsDirective]);\n\n NoMoreMembershipsExplanationDirective = function() {\n return {\n templateUrl: \"admin/no-more-memberships-explanation.html\",\n scope: {\n project: \"=\"\n }\n };\n };\n\n module.directive(\"tgNoMoreMembershipsExplanation\", [NoMoreMembershipsExplanationDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin/nav.coffee\n */\n\n(function() {\n var AdminNavigationDirective, module;\n\n AdminNavigationDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var section;\n section = $attrs.tgAdminNavigation;\n $el.find(\".active\").removeClass(\"active\");\n $el.find(\"#adminmenu-\" + section + \" a\").addClass(\"active\");\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaAdmin\");\n\n module.directive(\"tgAdminNavigation\", AdminNavigationDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin/project-profile.coffee\n */\n\n(function() {\n var AdminProjectChangeOwnerDirective, AdminProjectRequestOwnershipDirective, AdminProjectRestrictionsDirective, CsvEpicDirective, CsvExporterController, CsvExporterEpicsController, CsvExporterIssuesController, CsvExporterTasksController, CsvExporterUserstoriesController, CsvIssueDirective, CsvTaskDirective, CsvUsDirective, ProjectDefaultValuesDirective, ProjectExportDirective, ProjectLogoDirective, ProjectLogoModelDirective, ProjectModulesDirective, ProjectProfileController, ProjectProfileDirective, bindOnce, debounce, groupBy, joinStr, mixOf, module, scopeDefer, taiga, toString, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n scopeDefer = this.taiga.scopeDefer;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectProfileController = (function(superClass) {\n extend(ProjectProfileController, superClass);\n\n ProjectProfileController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"$tgAuth\", \"tgCurrentUserService\", \"tgErrorHandlingService\", \"tgProjectService\", \"$tgModel\"];\n\n function ProjectProfileController(scope1, rootscope, repo, confirm, rs, params, q, location, navUrls, appMetaService, translate, tgAuth, currentUserService1, errorHandlingService, projectService1, model1) {\n var promise;\n this.scope = scope1;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.tgAuth = tgAuth;\n this.currentUserService = currentUserService1;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n this.model = model1;\n this.scope.project = {};\n this.scope.projectTags = [];\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, sectionName, title;\n sectionName = _this.translate.instant(_this.scope.sectionName);\n title = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName,\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n _this.appMetaService.setAll(title, description);\n return _this.fillUsersAndRoles(_this.scope.project.members, _this.scope.project.roles);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:loaded\", (function(_this) {\n return function() {\n var description, sectionName, title;\n sectionName = _this.translate.instant(_this.scope.sectionName);\n title = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName,\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n }\n\n ProjectProfileController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n project = this.model.make_model(\"projects\", project);\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.epicStatusList = _.sortBy(project.epic_statuses, \"order\");\n this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n this.scope.pointsList = _.sortBy(project.points, \"order\");\n this.scope.taskStatusList = _.sortBy(project.task_statuses, \"order\");\n this.scope.issueTypesList = _.sortBy(project.issue_types, \"order\");\n this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n this.scope.prioritiesList = _.sortBy(project.priorities, \"order\");\n this.scope.severitiesList = _.sortBy(project.severities, \"order\");\n scopeDefer(this.scope, (function(_this) {\n return function() {\n return _this.scope.$emit('project:loaded', project);\n };\n })(this));\n this.scope.projectTags = _.map(this.scope.project.tags, (function(_this) {\n return function(it) {\n return [it, _this.scope.project.tags_colors[it]];\n };\n })(this));\n return project;\n };\n\n ProjectProfileController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.tgAuth.refresh();\n };\n\n ProjectProfileController.prototype.openDeleteLightbox = function() {\n return this.rootscope.$broadcast(\"deletelightbox:new\", this.scope.project);\n };\n\n ProjectProfileController.prototype.addTag = function(name, color) {\n var tags;\n tags = _.clone(this.scope.project.tags);\n tags.push(name);\n this.scope.projectTags.push([name, null]);\n return this.scope.project.tags = tags;\n };\n\n ProjectProfileController.prototype.deleteTag = function(tag) {\n var tags;\n tags = _.clone(this.scope.project.tags);\n _.pull(tags, tag[0]);\n _.remove(this.scope.projectTags, (function(_this) {\n return function(it) {\n return it[0] === tag[0];\n };\n })(this));\n return this.scope.project.tags = tags;\n };\n\n return ProjectProfileController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectProfileController\", ProjectProfileController);\n\n ProjectProfileDirective = function($repo, $confirm, $loading, $navurls, $location, projectService, currentUserService, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, form, submit, submitButton;\n $ctrl = $el.controller();\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, privacyChanged, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n privacyChanged = $scope.project.isAttributeModified(\"is_private\");\n promise = $repo.save($scope.project);\n promise.then(function() {\n var newUrl;\n currentLoading.finish();\n if (privacyChanged && $scope.project.is_private) {\n $analytics.trackEvent(\"project-privacy-changed\", \"from-public-to-private\", \"Change project privacy from public to private\", 1);\n } else if (privacyChanged && !$scope.project.is_private) {\n $analytics.trackEvent(\"project-privacy-changed\", \"from-private-to-public\", \"Change project privacy from private to public\", 1);\n }\n $confirm.notify(\"success\");\n newUrl = $navurls.resolve(\"project-admin-project-profile-details\", {\n project: $scope.project.slug\n });\n $location.path(newUrl);\n projectService.fetchProject().then((function(_this) {\n return function() {\n return $ctrl.loadInitialData();\n };\n })(this));\n return currentUserService.loadProjects();\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectProfile\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgNavUrls\", \"$tgLocation\", \"tgProjectService\", \"tgCurrentUserService\", \"$tgAnalytics\", ProjectProfileDirective]);\n\n ProjectDefaultValuesDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.save($scope.project);\n promise.then(function() {\n currentLoading.finish();\n return $confirm.notify(\"success\");\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectDefaultValues\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", ProjectDefaultValuesDirective]);\n\n ProjectModulesDirective = function($repo, $confirm, $loading, projectService) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit;\n submit = (function(_this) {\n return function() {\n var form, promise;\n form = $el.find(\"form\").checksley();\n form.initializeFields();\n form.reset();\n if (!form.validate()) {\n return;\n }\n promise = $repo.save($scope.project);\n promise.then(function() {\n $scope.$emit(\"project:loaded\", $scope.project);\n $confirm.notify(\"success\");\n return projectService.fetchProject();\n });\n return promise.then(null, function(data) {\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this);\n $el.on(\"change\", \".module-activation.module-direct-active input\", function(event) {\n event.preventDefault();\n return $scope.$applyAsync(submit);\n });\n $el.on(\"submit\", \"form\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"keydown\", \".videoconference-attributes input\", function(e) {\n return e.which !== 32;\n });\n $scope.$watch(\"project.videoconferences\", function(newVal, oldVal) {\n if ((newVal != null) && (oldVal != null) && newVal !== oldVal) {\n return $scope.project.videoconferences_extra_data = \"\";\n }\n });\n $scope.$watch(\"isVideoconferenceActivated\", function(newValue, oldValue) {\n if (newValue === false) {\n $scope.project.videoconferences = null;\n $scope.project.videoconferences_extra_data = \"\";\n if (oldValue === true) {\n return submit();\n }\n }\n });\n return $scope.$watch(\"project\", function(project) {\n if (project.videoconferences != null) {\n return $scope.isVideoconferenceActivated = true;\n } else {\n return $scope.isVideoconferenceActivated = false;\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectModules\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"tgProjectService\", ProjectModulesDirective]);\n\n ProjectExportDirective = function($window, $rs, $confirm, $translate, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var asyn_message, buttonsEl, dump_ready_text, hideButtons, hideResult, hideSpinner, loading_msg, loading_title, resultEl, resultMessageEl, resultTitleEl, setAsyncMessage, setAsyncTitle, setLoadingMessage, setLoadingTitle, setSyncMessage, setSyncTitle, showButtons, showErrorMode, showExportResultAsyncMode, showExportResultSyncMode, showLoadingMode, showResult, showSpinner, spinnerEl, syn_message;\n buttonsEl = $el.find(\".admin-project-export-buttons\");\n showButtons = function() {\n return buttonsEl.removeClass(\"hidden\");\n };\n hideButtons = function() {\n return buttonsEl.addClass(\"hidden\");\n };\n resultEl = $el.find(\".admin-project-export-result\");\n showResult = function() {\n return resultEl.removeClass(\"hidden\");\n };\n hideResult = function() {\n return resultEl.addClass(\"hidden\");\n };\n spinnerEl = $el.find(\".spin\");\n showSpinner = function() {\n return spinnerEl.removeClass(\"hidden\");\n };\n hideSpinner = function() {\n return spinnerEl.addClass(\"hidden\");\n };\n resultTitleEl = $el.find(\".result-title\");\n loading_title = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_TITLE\");\n loading_msg = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_MESSAGE\");\n dump_ready_text = function() {\n return resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.DUMP_READY\"));\n };\n asyn_message = function() {\n return resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.ASYNC_MESSAGE\"));\n };\n syn_message = function(url) {\n return resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.SYNC_MESSAGE\", {\n url: url\n }));\n };\n setLoadingTitle = function() {\n return resultTitleEl.html(loading_title);\n };\n setAsyncTitle = function() {\n return resultTitleEl.html(loading_msg);\n };\n setSyncTitle = function() {\n return resultTitleEl.html(dump_ready_text);\n };\n resultMessageEl = $el.find(\".result-message \");\n setLoadingMessage = function() {\n return resultMessageEl.html(loading_msg);\n };\n setAsyncMessage = function() {\n return resultMessageEl.html(asyn_message);\n };\n setSyncMessage = function(url) {\n return resultMessageEl.html(syn_message(url));\n };\n showLoadingMode = function() {\n showSpinner();\n setLoadingTitle();\n setLoadingMessage();\n hideButtons();\n return showResult();\n };\n showExportResultAsyncMode = function() {\n hideSpinner();\n setAsyncTitle();\n return setAsyncMessage();\n };\n showExportResultSyncMode = function(url) {\n hideSpinner();\n setSyncTitle();\n return setSyncMessage(url);\n };\n showErrorMode = function() {\n hideSpinner();\n hideResult();\n return showButtons();\n };\n return $el.on(\"click\", \"a.button-export\", debounce(2000, (function(_this) {\n return function(event) {\n var onError, onSuccess;\n event.preventDefault();\n onSuccess = function(result) {\n var dumpUrl;\n $analytics.trackEvent(\"exporter\", \"export-project\", \"Exported project\", 1);\n if (result.status === 202) {\n return showExportResultAsyncMode();\n } else {\n dumpUrl = result.data.url;\n showExportResultSyncMode(dumpUrl);\n return $window.open(dumpUrl, \"_blank\");\n }\n };\n onError = function(result) {\n var errorMsg, ref;\n showErrorMode();\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR\");\n if (result.status === 429) {\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\");\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\", {\n message: result.data._error_message\n });\n }\n return $confirm.notify(\"error\", errorMsg);\n };\n showLoadingMode();\n return $rs.projects[\"export\"]($scope.projectId).then(onSuccess, onError);\n };\n })(this)));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectExport\", [\"$window\", \"$tgResources\", \"$tgConfirm\", \"$translate\", \"$tgAnalytics\", ProjectExportDirective]);\n\n CsvExporterController = (function(superClass) {\n extend(CsvExporterController, superClass);\n\n CsvExporterController.$inject = [\"$scope\", \"$rootScope\", \"$tgUrls\", \"$tgConfirm\", \"$tgResources\", \"$translate\"];\n\n function CsvExporterController(scope1, rootscope, urls, confirm, rs, translate) {\n this.scope = scope1;\n this.rootscope = rootscope;\n this.urls = urls;\n this.confirm = confirm;\n this.rs = rs;\n this.translate = translate;\n this._generateUuid = bind(this._generateUuid, this);\n this.setCsvUuid = bind(this.setCsvUuid, this);\n this.rootscope.$on(\"project:loaded\", this.setCsvUuid);\n this.scope.$watch(\"csvUuid\", (function(_this) {\n return function(value) {\n if (value) {\n return _this.scope.csvUrl = _this.urls.resolveAbsolute(_this.type + \"-csv\", value);\n } else {\n return _this.scope.csvUrl = \"\";\n }\n };\n })(this));\n }\n\n CsvExporterController.prototype.setCsvUuid = function() {\n return this.scope.csvUuid = this.scope.project[this.type + \"_csv_uuid\"];\n };\n\n CsvExporterController.prototype._generateUuid = function(response) {\n var promise;\n if (response == null) {\n response = null;\n }\n promise = this.rs.projects[\"regenerate_\" + this.type + \"_csv_uuid\"](this.scope.projectId);\n promise.then((function(_this) {\n return function(data) {\n var ref;\n return _this.scope.csvUuid = (ref = data.data) != null ? ref.uuid : void 0;\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n promise[\"finally\"](function() {\n if (response) {\n return response.finish();\n }\n });\n return promise;\n };\n\n CsvExporterController.prototype.regenerateUuid = function() {\n var subtitle, title;\n if (this.scope.csvUuid) {\n title = this.translate.instant(\"ADMIN.REPORTS.REGENERATE_TITLE\");\n subtitle = this.translate.instant(\"ADMIN.REPORTS.REGENERATE_SUBTITLE\");\n return this.confirm.ask(title, subtitle).then(this._generateUuid);\n } else {\n return this._generateUuid();\n }\n };\n\n return CsvExporterController;\n\n })(taiga.Controller);\n\n CsvExporterEpicsController = (function(superClass) {\n extend(CsvExporterEpicsController, superClass);\n\n function CsvExporterEpicsController() {\n return CsvExporterEpicsController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterEpicsController.prototype.type = \"epics\";\n\n return CsvExporterEpicsController;\n\n })(CsvExporterController);\n\n CsvExporterUserstoriesController = (function(superClass) {\n extend(CsvExporterUserstoriesController, superClass);\n\n function CsvExporterUserstoriesController() {\n return CsvExporterUserstoriesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterUserstoriesController.prototype.type = \"userstories\";\n\n return CsvExporterUserstoriesController;\n\n })(CsvExporterController);\n\n CsvExporterTasksController = (function(superClass) {\n extend(CsvExporterTasksController, superClass);\n\n function CsvExporterTasksController() {\n return CsvExporterTasksController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterTasksController.prototype.type = \"tasks\";\n\n return CsvExporterTasksController;\n\n })(CsvExporterController);\n\n CsvExporterIssuesController = (function(superClass) {\n extend(CsvExporterIssuesController, superClass);\n\n function CsvExporterIssuesController() {\n return CsvExporterIssuesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterIssuesController.prototype.type = \"issues\";\n\n return CsvExporterIssuesController;\n\n })(CsvExporterController);\n\n module.controller(\"CsvExporterEpicsController\", CsvExporterEpicsController);\n\n module.controller(\"CsvExporterUserstoriesController\", CsvExporterUserstoriesController);\n\n module.controller(\"CsvExporterTasksController\", CsvExporterTasksController);\n\n module.controller(\"CsvExporterIssuesController\", CsvExporterIssuesController);\n\n CsvEpicDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_EPIC\";\n };\n return {\n controller: \"CsvExporterEpicsController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvEpic\", [\"$translate\", CsvEpicDirective]);\n\n CsvUsDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_US\";\n };\n return {\n controller: \"CsvExporterUserstoriesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvUs\", [\"$translate\", CsvUsDirective]);\n\n CsvTaskDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_TASK\";\n };\n return {\n controller: \"CsvExporterTasksController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvTask\", [\"$translate\", CsvTaskDirective]);\n\n CsvIssueDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_ISSUE\";\n };\n return {\n controller: \"CsvExporterIssuesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvIssue\", [\"$translate\", CsvIssueDirective]);\n\n ProjectLogoDirective = function($auth, $model, $rs, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var onError, onSuccess, showSizeInfo;\n showSizeInfo = function() {\n return $el.find(\".size-info\").addClass(\"active\");\n };\n onSuccess = function(response) {\n var project;\n project = $model.make_model(\"projects\", response.data);\n $scope.project = project;\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('success');\n };\n onError = function(response) {\n if (response.status === 413) {\n showSizeInfo();\n }\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('error', response.data._error_message);\n };\n $el.on(\"click\", \".js-change-logo\", function() {\n return $el.find(\"#logo-field\").click();\n });\n $el.on(\"change\", \"#logo-field\", function(event) {\n if ($scope.logoAttachment) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.projects.changeLogo($scope.project.id, $scope.logoAttachment).then(onSuccess, onError);\n }\n });\n $el.on(\"click\", \"a.js-use-default-logo\", function(event) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.projects.removeLogo($scope.project.id).then(onSuccess, onError);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectLogo\", [\"$tgAuth\", \"$tgModel\", \"$tgResources\", \"$tgConfirm\", ProjectLogoDirective]);\n\n ProjectLogoModelDirective = function($parse) {\n var link;\n link = function($scope, $el, $attrs) {\n var model, modelSetter;\n model = $parse($attrs.tgProjectLogoModel);\n modelSetter = model.assign;\n return $el.bind('change', function() {\n return $scope.$apply(function() {\n return modelSetter($scope, $el[0].files[0]);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive('tgProjectLogoModel', ['$parse', ProjectLogoModelDirective]);\n\n AdminProjectRestrictionsDirective = function() {\n return {\n scope: {\n \"project\": \"=\"\n },\n templateUrl: \"admin/admin-project-restrictions.html\"\n };\n };\n\n module.directive('tgAdminProjectRestrictions', [AdminProjectRestrictionsDirective]);\n\n AdminProjectRequestOwnershipDirective = function(lightboxFactory) {\n return {\n link: function(scope) {\n return scope.requestOwnership = function() {\n return lightboxFactory.create(\"tg-lb-request-ownership\", {\n \"class\": \"lightbox lightbox-request-ownership\"\n }, {\n projectId: scope.projectId\n });\n };\n },\n scope: {\n \"projectId\": \"=\",\n \"owner\": \"=\"\n },\n templateUrl: \"admin/admin-project-request-ownership.html\"\n };\n };\n\n module.directive('tgAdminProjectRequestOwnership', [\"tgLightboxFactory\", AdminProjectRequestOwnershipDirective]);\n\n AdminProjectChangeOwnerDirective = function(lightboxFactory) {\n return {\n link: function(scope) {\n return scope.changeOwner = function() {\n return lightboxFactory.create(\"tg-lb-change-owner\", {\n \"class\": \"lightbox lightbox-select-user\",\n \"project-id\": \"projectId\",\n \"active-users\": \"activeUsers\",\n \"current-owner-id\": \"currentOwnerId\"\n }, {\n projectId: scope.projectId,\n activeUsers: scope.activeUsers,\n currentOwnerId: scope.owner.id,\n members: scope.members\n });\n };\n },\n scope: {\n \"activeUsers\": \"=\",\n \"projectId\": \"=\",\n \"owner\": \"=\",\n \"members\": \"=\"\n },\n templateUrl: \"admin/admin-project-change-owner.html\"\n };\n };\n\n module.directive('tgAdminProjectChangeOwner', [\"tgLightboxFactory\", AdminProjectChangeOwnerDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin/project-profile.coffee\n */\n\n(function() {\n var ColorSelectionDirective, DATE_TYPE, MULTILINE_TYPE, ProjectCustomAttributesController, ProjectCustomAttributesDirective, ProjectDueDatesValues, ProjectDueDatesValuesController, ProjectTagsController, ProjectTagsDirective, ProjectValuesController, ProjectValuesDirective, ProjectValuesSectionController, RICHTEXT_TYPE, TEXT_TYPE, TYPE_CHOICES, URL_TYPE, bindOnce, debounce, getDefaulColorList, groupBy, joinStr, mixOf, module, taiga, toString, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n getDefaulColorList = this.taiga.getDefaulColorList;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectValuesSectionController = (function(superClass) {\n extend(ProjectValuesSectionController, superClass);\n\n ProjectValuesSectionController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function ProjectValuesSectionController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, appMetaService, translate, errorHandlingService, projectService1) {\n var description, sectionName, title;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n this.scope.project = {};\n this.loadInitialData();\n sectionName = this.translate.instant(this.scope.sectionName);\n title = this.translate.instant(\"ADMIN.PROJECT_VALUES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": this.scope.project.name\n });\n description = this.scope.project.description;\n this.appMetaService.setAll(title, description);\n }\n\n ProjectValuesSectionController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n ProjectValuesSectionController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return promise;\n };\n\n return ProjectValuesSectionController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectValuesSectionController\", ProjectValuesSectionController);\n\n ProjectValuesController = (function(superClass) {\n extend(ProjectValuesController, superClass);\n\n ProjectValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\"];\n\n function ProjectValuesController(scope, rootscope, repo, confirm, rs) {\n var unwatch;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.moveValue = bind(this.moveValue, this);\n this.loadValues = bind(this.loadValues, this);\n this.scope.$on(\"admin:project-values:move\", this.moveValue);\n unwatch = this.scope.$watch(\"resource\", (function(_this) {\n return function(resource) {\n if (resource) {\n _this.loadValues();\n return unwatch();\n }\n };\n })(this));\n }\n\n ProjectValuesController.prototype.loadValues = function() {\n return this.rs[this.scope.resource].listValues(this.scope.projectId, this.scope.type).then((function(_this) {\n return function(values) {\n if (values.length) {\n _this.scope.values = values;\n _this.scope.maxValueOrder = _.maxBy(values, \"order\").order;\n }\n return values;\n };\n })(this));\n };\n\n ProjectValuesController.prototype.moveValue = function(ctx, itemValue, itemIndex) {\n var r, values;\n values = this.scope.values;\n r = values.indexOf(itemValue);\n values.splice(r, 1);\n values.splice(itemIndex, 0, itemValue);\n _.each(values, function(value, index) {\n return value.order = index;\n });\n return this.repo.saveAll(values);\n };\n\n return ProjectValuesController;\n\n })(taiga.Controller);\n\n module.controller(\"ProjectValuesController\", ProjectValuesController);\n\n ProjectDueDatesValuesController = (function(superClass) {\n extend(ProjectDueDatesValuesController, superClass);\n\n function ProjectDueDatesValuesController() {\n this.displayValues = bind(this.displayValues, this);\n this.createDefaultValues = bind(this.createDefaultValues, this);\n this.loadValues = bind(this.loadValues, this);\n return ProjectDueDatesValuesController.__super__.constructor.apply(this, arguments);\n }\n\n ProjectDueDatesValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\"];\n\n ProjectDueDatesValuesController.prototype.loadValues = function() {\n return this.rs[this.scope.resource].listValues(this.scope.projectId, this.scope.type).then((function(_this) {\n return function(values) {\n if (values.length) {\n _this.scope.maxValueOrder = _.maxBy(values, \"order\").order;\n _this.displayValues(values);\n } else {\n _this.createDefaultValues();\n }\n return values;\n };\n })(this));\n };\n\n ProjectDueDatesValuesController.prototype.createDefaultValues = function() {\n if (this.rs[this.scope.resource].createDefaultValues == null) {\n return;\n }\n return this.rs[this.scope.resource].createDefaultValues(this.scope.projectId, this.scope.type).then((function(_this) {\n return function(response) {\n var values;\n values = response.data;\n if (values.length) {\n _this.scope.maxValueOrder = _.maxBy(values, \"order\").order;\n _this.displayValues(values);\n }\n return values;\n };\n })(this));\n };\n\n ProjectDueDatesValuesController.prototype.displayValues = function(values) {\n _.each(values, function(value, index) {\n value.days_to_due_abs = value.days_to_due !== null ? Math.abs(value.days_to_due) : null;\n return value.sign = value.days_to_due >= 0 ? 1 : -1;\n });\n return this.scope.values = values;\n };\n\n return ProjectDueDatesValuesController;\n\n })(ProjectValuesController);\n\n module.controller(\"ProjectDueDatesValuesController\", ProjectDueDatesValuesController);\n\n ProjectValuesDirective = function($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope, projectService) {\n var link, linkDragAndDrop, linkValue;\n linkDragAndDrop = function($scope, $el, $attrs) {\n var drake, itemEl, newParentScope, oldParentScope, scroll, tdom;\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el.find(\".sortable\");\n drake = dragula([tdom[0]], {\n direction: 'vertical',\n copySortSource: false,\n copy: false,\n mirrorContainer: tdom[0],\n moves: function(item) {\n return $(item).is('div[tg-bind-scope]');\n }\n });\n drake.on('dragend', function(item) {\n var itemIndex, itemValue;\n itemEl = $(item);\n itemValue = itemEl.scope().value;\n itemIndex = itemEl.index();\n return $scope.$broadcast(\"admin:project-values:move\", itemValue, itemIndex);\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n };\n linkValue = function($scope, $el, $attrs) {\n var $ctrl, cancel, goToBottomList, initializeNewValue, initializeTextTranslations, objName, saveNewValue, saveValue, valueType;\n $ctrl = $el.controller();\n valueType = $attrs.type;\n objName = $attrs.objname;\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"is_closed\": false,\n \"is_archived\": false\n };\n };\n initializeTextTranslations = function() {\n return $scope.addNewElementText = $translate.instant(\"ADMIN.PROJECT_VALUES_\" + (objName.toUpperCase()) + \".ACTION_ADD\");\n };\n initializeNewValue();\n initializeTextTranslations();\n $rootscope.$on(\"$translateChangeEnd\", function() {\n return $scope.$evalAsync(initializeTextTranslations);\n });\n goToBottomList = (function(_this) {\n return function(focus) {\n var table;\n if (focus == null) {\n focus = false;\n }\n table = $el.find(\".table-main\");\n $(document.body).scrollTop(table.offset().top + table.height());\n if (focus) {\n return $el.find(\".new-value input:visible\").first().focus();\n }\n };\n })(this);\n saveValue = function(target) {\n var form, formEl, promise, value;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n value = formEl.scope().value;\n promise = $repo.save(value);\n promise.then((function(_this) {\n return function() {\n var row;\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n row.siblings(\".visualization\").removeClass('hidden');\n return projectService.fetchProject();\n };\n })(this));\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n saveNewValue = function(target) {\n var form, formEl, promise;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n $scope.newValue.order = $scope.maxValueOrder ? $scope.maxValueOrder + 1 : 1;\n promise = $repo.create(valueType, $scope.newValue);\n promise.then(function(data) {\n target.addClass(\"hidden\");\n $scope.values.push(data);\n $scope.maxValueOrder = data.order;\n return initializeNewValue();\n });\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n cancel = function(target) {\n var formEl, row, value;\n row = target.parents(\".row.table-main\");\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n return $scope.$apply(function() {\n row.addClass(\"hidden\");\n value.revert();\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n };\n $el.on(\"click\", \".show-add-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").removeClass('hidden');\n return goToBottomList(true);\n });\n $el.on(\"click\", \".add-new\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n }));\n $el.on(\"click\", \".delete-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n });\n $el.on(\"click\", \".edit-value\", function(event) {\n var editionRow, row, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n editionRow = row.siblings(\".edition\");\n editionRow.removeClass('hidden');\n return editionRow.find('input:visible').first().focus().select();\n });\n $el.on(\"keyup\", \".new-value input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n } else if (event.keyCode === 27) {\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return saveValue(target);\n });\n $el.on(\"click\", \".cancel\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return cancel(target);\n });\n return $el.on(\"click\", \".delete-value\", function(event) {\n var choices, formEl, subtitle, target, text, title, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n choices = {};\n _.each($scope.values, function(option) {\n if (value.id !== option.id) {\n return choices[option.id] = option.name;\n }\n });\n subtitle = value.name;\n if (_.keys(choices).length === 0) {\n return $confirm.error($translate.instant(\"ADMIN.PROJECT_VALUES.ERROR_DELETE_ALL\"));\n }\n title = $translate.instant(\"ADMIN.COMMON.TITLE_ACTION_DELETE_VALUE\");\n text = $translate.instant(\"ADMIN.PROJECT_VALUES.REPLACEMENT\");\n return $confirm.askChoice(title, subtitle, choices, text).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadValues()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $repo.remove(value, {\n \"moveTo\": response.selected\n }).then(onSucces, onError);\n });\n });\n };\n link = function($scope, $el, $attrs) {\n linkDragAndDrop($scope, $el, $attrs);\n linkValue($scope, $el, $attrs);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectValues\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", \"$translate\", \"$rootScope\", \"tgProjectService\", ProjectValuesDirective]);\n\n ProjectDueDatesValues = function($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope, projectService) {\n var linkDueDateStatusValue, parentDirective;\n parentDirective = ProjectValuesDirective($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope, projectService);\n linkDueDateStatusValue = function($scope, $el, $attrs) {\n var _setDaysToDue, _valueFromEventTarget, initializeNewValue, saveNewValue, valueType;\n valueType = $attrs.type;\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"days_to_due\": 0,\n \"sign\": 1\n };\n };\n initializeNewValue();\n _setDaysToDue = function(value) {\n return value.days_to_due = value.days_to_due_abs * value.sign;\n };\n _valueFromEventTarget = function(event) {\n var formEl, row, target;\n target = angular.element(event.currentTarget);\n row = target.parents(\".row.table-main\");\n formEl = target.parents(\"form\");\n if (!formEl.scope().value) {\n return formEl.scope().newValue;\n } else {\n return formEl.scope().value;\n }\n };\n saveNewValue = function(target) {\n var form, formEl, promise;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n $scope.newValue.order = $scope.maxValueOrder ? $scope.maxValueOrder + 1 : 1;\n promise = $repo.create(valueType, $scope.newValue);\n promise.then(function(data) {\n target.addClass(\"hidden\");\n data.sign = $scope.newValue.sign;\n data.days_to_due_abs = $scope.newValue.days_to_due_abs;\n $scope.values.push(data);\n return initializeNewValue();\n });\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n $el.on(\"input\", \".days-to-due-abs\", function(event) {\n var value;\n event.preventDefault();\n value = _valueFromEventTarget(event);\n return $scope.$apply(function() {\n return _setDaysToDue(value);\n });\n });\n $el.on(\"click\", \".days-to-due-sign\", function(event) {\n var value;\n event.preventDefault();\n value = _valueFromEventTarget(event);\n return $scope.$apply(function() {\n value.sign = value.sign * -1;\n return _setDaysToDue(value);\n });\n });\n $el.on(\"click\", \".add-new-due-date\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n }));\n return $el.on(\"click\", \".delete-due-date\", function(event) {\n var formEl, subtitle, target, title, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n title = $translate.instant(\"LIGHTBOX.ADMIN_DUE_DATES.TITLE_ACTION_DELETE_DUE_DATE\");\n subtitle = $translate.instant(\"LIGHTBOX.ADMIN_DUE_DATES.SUBTITLE_ACTION_DELETE_DUE_DATE\", {\n due_date_status_name: value.name\n });\n return $confirm.ask(title, subtitle).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadValues()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $repo.remove(value).then(onSucces, onError);\n });\n });\n };\n return {\n link: function($scope, $el, $attrs) {\n parentDirective.link($scope, $el, $attrs);\n return linkDueDateStatusValue($scope, $el, $attrs);\n }\n };\n };\n\n module.directive(\"tgProjectDueDatesValues\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", \"$translate\", \"$rootScope\", \"tgProjectService\", ProjectDueDatesValues]);\n\n ColorSelectionDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var $ctrl;\n $scope.colorList = getDefaulColorList();\n $scope.allowEmpty = false;\n if ($attrs.tgAllowEmpty) {\n $scope.allowEmpty = true;\n }\n $ctrl = $el.controller();\n $scope.$watch($attrs.ngModel, function(element) {\n return $scope.color = element.color;\n });\n $el.on(\"click\", \".current-color\", function(event) {\n var body, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n $(\".select-color\").hide();\n target.siblings(\".select-color\").show();\n body = angular.element(\"body\");\n return body.on(\"click\", (function(_this) {\n return function(event) {\n if (angular.element(event.target).parent(\".select-color\").length === 0) {\n $el.find(\".select-color\").hide();\n return body.unbind(\"click\");\n }\n };\n })(this));\n });\n $el.on(\"click\", \".select-color .color\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n $scope.$apply(function() {\n return $model.$modelValue.color = target.data(\"color\");\n });\n return $el.find(\".select-color\").hide();\n });\n $el.on(\"click\", \".select-color .selected-color\", function(event) {\n event.preventDefault();\n $scope.$apply(function() {\n return $model.$modelValue.color = $scope.color;\n });\n return $el.find(\".select-color\").hide();\n });\n $el.on(\"keyup\", \"input\", function(event) {\n event.stopPropagation();\n if (event.keyCode === 13) {\n $scope.$apply(function() {\n return $model.$modelValue.color = $scope.color;\n });\n return $el.find(\".select-color\").hide();\n } else if (event.keyCode === 27) {\n return $el.find(\".select-color\").hide();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgColorSelection\", ColorSelectionDirective);\n\n TEXT_TYPE = \"text\";\n\n MULTILINE_TYPE = \"multiline\";\n\n RICHTEXT_TYPE = \"richtext\";\n\n DATE_TYPE = \"date\";\n\n URL_TYPE = \"url\";\n\n TYPE_CHOICES = [\n {\n key: TEXT_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_TEXT\"\n }, {\n key: MULTILINE_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_MULTI\"\n }, {\n key: RICHTEXT_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT\"\n }, {\n key: DATE_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_DATE\"\n }, {\n key: URL_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_URL\"\n }\n ];\n\n ProjectCustomAttributesController = (function(superClass) {\n extend(ProjectCustomAttributesController, superClass);\n\n ProjectCustomAttributesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function ProjectCustomAttributesController(scope, rootscope, repo, rs, params, q, location, navUrls, appMetaService, translate, projectService1) {\n var description, sectionName, title;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService1;\n this.moveCustomAttributes = bind(this.moveCustomAttributes, this);\n this.deleteCustomAttribute = bind(this.deleteCustomAttribute, this);\n this.saveCustomAttribute = bind(this.saveCustomAttribute, this);\n this.createCustomAttribute = bind(this.createCustomAttribute, this);\n this.loadCustomAttributes = bind(this.loadCustomAttributes, this);\n this.scope.TYPE_CHOICES = TYPE_CHOICES;\n this.scope.project = this.projectService.project.toJS();\n this.scope.projectId = this.scope.project.id;\n sectionName = this.translate.instant(this.scope.sectionName);\n title = this.translate.instant(\"ADMIN.CUSTOM_ATTRIBUTES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": this.scope.project.name\n });\n description = this.scope.project.description;\n this.appMetaService.setAll(title, description);\n this.scope.init = (function(_this) {\n return function(type) {\n _this.scope.type = type;\n return _this.loadCustomAttributes();\n };\n })(this);\n }\n\n ProjectCustomAttributesController.prototype.loadCustomAttributes = function() {\n return this.rs.customAttributes[this.scope.type].list(this.scope.projectId).then((function(_this) {\n return function(customAttributes) {\n var ref;\n _this.scope.customAttributes = customAttributes;\n _this.scope.maxOrder = (ref = _.maxBy(customAttributes, \"order\")) != null ? ref.order : void 0;\n return customAttributes;\n };\n })(this));\n };\n\n ProjectCustomAttributesController.prototype.createCustomAttribute = function(attrValues) {\n return this.repo.create(\"custom-attributes/\" + this.scope.type, attrValues);\n };\n\n ProjectCustomAttributesController.prototype.saveCustomAttribute = function(attrModel) {\n return this.repo.save(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.deleteCustomAttribute = function(attrModel) {\n return this.repo.remove(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.moveCustomAttributes = function(attrModel, newIndex) {\n var customAttributes, r;\n customAttributes = this.scope.customAttributes;\n r = customAttributes.indexOf(attrModel);\n customAttributes.splice(r, 1);\n customAttributes.splice(newIndex, 0, attrModel);\n _.each(customAttributes, function(val, idx) {\n return val.order = idx;\n });\n return this.repo.saveAll(customAttributes);\n };\n\n return ProjectCustomAttributesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectCustomAttributesController\", ProjectCustomAttributesController);\n\n ProjectCustomAttributesDirective = function($log, $confirm, animationFrame, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, cancelCreate, cancelUpdate, create, deleteCustomAttribute, drake, hideAddButton, hideCancelButton, hideCreateForm, hideEditForm, resetNewAttr, revertChangesInCustomAttribute, showAddButton, showCancelButton, showCreateForm, showEditForm, sortableEl, update;\n $ctrl = $el.controller();\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n sortableEl = $el.find(\".js-sortable\");\n drake = dragula([sortableEl[0]], {\n direction: 'vertical',\n copySortSource: false,\n copy: false,\n mirrorContainer: sortableEl[0],\n moves: function(item) {\n return $(item).is('div[tg-bind-scope]');\n }\n });\n drake.on('dragend', function(item) {\n var itemAttr, itemEl, itemIndex;\n itemEl = $(item);\n itemAttr = itemEl.scope().attr;\n itemIndex = itemEl.index();\n return $ctrl.moveCustomAttributes(itemAttr, itemIndex);\n });\n showCreateForm = function() {\n $el.find(\".js-new-custom-field\").removeClass(\"hidden\");\n return $el.find(\".js-new-custom-field input:visible\").first().focus();\n };\n hideCreateForm = function() {\n return $el.find(\".js-new-custom-field\").addClass(\"hidden\");\n };\n showAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").removeClass(\"hidden\");\n };\n hideAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").addClass(\"hidden\");\n };\n showCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").removeClass(\"hidden\");\n };\n hideCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").addClass(\"hidden\");\n };\n resetNewAttr = function() {\n return $scope.newAttr = {};\n };\n create = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideCreateForm();\n resetNewAttr();\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = $scope.newAttr;\n attr.project = $scope.projectId;\n attr.order = $scope.maxOrder ? $scope.maxOrder + 1 : 1;\n return $ctrl.createCustomAttribute(attr).then(onSucces, onError);\n };\n cancelCreate = function() {\n hideCreateForm();\n return resetNewAttr();\n };\n $scope.$watch(\"customAttributes\", function(customAttributes) {\n if (!customAttributes) {\n return;\n }\n if (customAttributes.length === 0) {\n hideCancelButton();\n hideAddButton();\n return showCreateForm();\n } else {\n hideCreateForm();\n showAddButton();\n return showCancelButton();\n }\n });\n $el.on(\"click\", \".js-add-custom-field-button\", function(event) {\n event.preventDefault();\n return showCreateForm();\n });\n $el.on(\"click\", \".js-create-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n }));\n $el.on(\"click\", \".js-cancel-new-custom-field-button\", function(event) {\n event.preventDefault();\n return cancelCreate();\n });\n $el.on(\"keyup\", \".js-new-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n } else if (event.keyCode === 27) {\n return cancelCreate();\n }\n });\n showEditForm = function(formEl) {\n formEl.find(\".js-view-custom-field\").addClass(\"hidden\");\n formEl.find(\".js-edit-custom-field\").removeClass(\"hidden\");\n return formEl.find(\".js-edit-custom-field input:visible\").first().focus().select();\n };\n hideEditForm = function(formEl) {\n formEl.find(\".js-edit-custom-field\").addClass(\"hidden\");\n return formEl.find(\".js-view-custom-field\").removeClass(\"hidden\");\n };\n revertChangesInCustomAttribute = function(formEl) {\n return $scope.$apply(function() {\n return formEl.scope().attr.revert();\n });\n };\n update = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideEditForm(formEl);\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = formEl.scope().attr;\n return $ctrl.saveCustomAttribute(attr).then(onSucces, onError);\n };\n cancelUpdate = function(formEl) {\n hideEditForm(formEl);\n return revertChangesInCustomAttribute(formEl);\n };\n $el.on(\"click\", \".js-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return showEditForm(formEl);\n });\n $el.on(\"click\", \".js-update-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n }));\n $el.on(\"click\", \".js-cancel-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n });\n $el.on(\"keyup\", \".js-edit-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n }\n });\n deleteCustomAttribute = function(formEl) {\n var attr, message, text, title;\n attr = formEl.scope().attr;\n message = attr.name;\n title = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.DELETE\");\n text = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.CONFIRM_DELETE\");\n return $confirm.ask(title, text, message).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadCustomAttributes()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\", null, \"We have not been able to delete '\" + message + \"'.\");\n };\n return $ctrl.deleteCustomAttribute(attr).then(onSucces, onError);\n });\n };\n return $el.on(\"click\", \".js-delete-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return deleteCustomAttribute(formEl);\n }));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectCustomAttributes\", [\"$log\", \"$tgConfirm\", \"animationFrame\", \"$translate\", ProjectCustomAttributesDirective]);\n\n ProjectTagsController = (function(superClass) {\n extend(ProjectTagsController, superClass);\n\n ProjectTagsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$tgModel\", \"tgProjectService\"];\n\n function ProjectTagsController(scope, rootscope, repo, confirm, rs, model, projectService1) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.model = model;\n this.projectService = projectService1;\n this.mixingClass = bind(this.mixingClass, this);\n this.cancelMixingTags = bind(this.cancelMixingTags, this);\n this.confirmMixingTags = bind(this.confirmMixingTags, this);\n this.toggleMixingFromTags = bind(this.toggleMixingFromTags, this);\n this.startMixingTags = bind(this.startMixingTags, this);\n this.deleteTag = bind(this.deleteTag, this);\n this.editTag = bind(this.editTag, this);\n this.createTag = bind(this.createTag, this);\n this.filterAndSortTags = bind(this.filterAndSortTags, this);\n this.loadTags = bind(this.loadTags, this);\n this.loading = true;\n this.loadTags();\n }\n\n ProjectTagsController.prototype.loadTags = function() {\n var project;\n project = this.projectService.project.toJS();\n return this.rs.projects.tagsColors(project.id).then((function(_this) {\n return function(tags) {\n _this.scope.projectTagsAll = _.map(tags.getAttrs(), function(color, name) {\n return _this.model.make_model('tag', {\n name: name,\n color: color\n });\n });\n _this.filterAndSortTags();\n return _this.loading = false;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.filterAndSortTags = function() {\n this.scope.projectTags = _.sortBy(this.scope.projectTagsAll, function(it) {\n return it.name.toLowerCase();\n });\n return this.scope.projectTags = _.filter(this.scope.projectTags, (function(_this) {\n return function(tag) {\n return tag.name.indexOf(_this.scope.tagsFilter.name) !== -1;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.createTag = function(tag, color) {\n return this.rs.projects.createTag(this.scope.projectId, tag, color);\n };\n\n ProjectTagsController.prototype.editTag = function(from_tag, to_tag, color) {\n if (from_tag === to_tag) {\n to_tag = null;\n }\n return this.rs.projects.editTag(this.scope.projectId, from_tag, to_tag, color);\n };\n\n ProjectTagsController.prototype.deleteTag = function(tag) {\n this.scope.loadingDelete = true;\n return this.rs.projects.deleteTag(this.scope.projectId, tag)[\"finally\"]((function(_this) {\n return function() {\n return _this.scope.loadingDelete = false;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.startMixingTags = function(tag) {\n return this.scope.mixingTags.toTag = tag.name;\n };\n\n ProjectTagsController.prototype.toggleMixingFromTags = function(tag) {\n var index;\n if (tag.name !== this.scope.mixingTags.toTag) {\n index = this.scope.mixingTags.fromTags.indexOf(tag.name);\n if (index === -1) {\n return this.scope.mixingTags.fromTags.push(tag.name);\n } else {\n return this.scope.mixingTags.fromTags.splice(index, 1);\n }\n }\n };\n\n ProjectTagsController.prototype.confirmMixingTags = function() {\n var fromTags, toTag;\n toTag = this.scope.mixingTags.toTag;\n fromTags = this.scope.mixingTags.fromTags;\n this.scope.loadingMixing = true;\n return this.rs.projects.mixTags(this.scope.projectId, toTag, fromTags).then((function(_this) {\n return function() {\n _this.cancelMixingTags();\n return _this.loadTags();\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.scope.loadingMixing = false;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.cancelMixingTags = function() {\n this.scope.mixingTags.toTag = null;\n return this.scope.mixingTags.fromTags = [];\n };\n\n ProjectTagsController.prototype.mixingClass = function(tag) {\n if (this.scope.mixingTags.toTag !== null) {\n if (tag.name === this.scope.mixingTags.toTag) {\n return \"mixing-tags-to\";\n } else if (this.scope.mixingTags.fromTags.indexOf(tag.name) !== -1) {\n return \"mixing-tags-from\";\n }\n }\n };\n\n return ProjectTagsController;\n\n })(taiga.Controller);\n\n module.controller(\"ProjectTagsController\", ProjectTagsController);\n\n ProjectTagsDirective = function($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, $window, cancel, goToBottomList, initializeMixingTags, initializeNewValue, initializeTagsFilter, initializeTextTranslations, objName, saveNewValue, saveValue, valueType;\n $window = $(window);\n $ctrl = $el.controller();\n valueType = $attrs.type;\n objName = $attrs.objname;\n initializeNewValue = function() {\n return $scope.newValue = {\n \"tag\": \"\",\n \"color\": \"\"\n };\n };\n initializeTagsFilter = function() {\n return $scope.tagsFilter = {\n \"name\": \"\"\n };\n };\n initializeMixingTags = function() {\n return $scope.mixingTags = {\n \"toTag\": null,\n \"fromTags\": []\n };\n };\n initializeTextTranslations = function() {\n return $scope.addNewElementText = $translate.instant(\"ADMIN.PROJECT_VALUES_TAGS.ACTION_ADD\");\n };\n initializeNewValue();\n initializeTagsFilter();\n initializeMixingTags();\n initializeTextTranslations();\n $rootscope.$on(\"$translateChangeEnd\", function() {\n return $scope.$evalAsync(initializeTextTranslations);\n });\n goToBottomList = (function(_this) {\n return function(focus) {\n var table;\n if (focus == null) {\n focus = false;\n }\n table = $el.find(\".table-main\");\n $(document.body).scrollTop(table.offset().top + table.height());\n if (focus) {\n return $el.find(\".new-value input:visible\").first().focus();\n }\n };\n })(this);\n saveValue = (function(_this) {\n return function(target) {\n var form, formEl, originalTag, promise, tag;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n tag = formEl.scope().tag;\n originalTag = tag.clone();\n originalTag.revert();\n $scope.loadingEdit = true;\n promise = $ctrl.editTag(originalTag.name, tag.name, tag.color);\n promise.then(function() {\n return $ctrl.loadTags().then(function() {\n var row;\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n $scope.loadingEdit = false;\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n });\n return promise.then(null, function(response) {\n $scope.loadingEdit = false;\n return form.setErrors(response.data);\n });\n };\n })(this);\n saveNewValue = (function(_this) {\n return function(target) {\n var form, formEl, promise;\n formEl = target.parents(\"form\");\n formEl = target;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.loadingCreate = true;\n promise = $ctrl.createTag($scope.newValue.tag, $scope.newValue.color);\n promise.then(function(data) {\n return $ctrl.loadTags().then(function() {\n $scope.loadingCreate = false;\n target.addClass(\"hidden\");\n return initializeNewValue();\n });\n });\n return promise.then(null, function(response) {\n $scope.loadingCreate = false;\n return form.setErrors(response.data);\n });\n };\n })(this);\n cancel = function(target) {\n var formEl, row, tag;\n row = target.parents(\".row.table-main\");\n formEl = target.parents(\"form\");\n tag = formEl.scope().tag;\n return $scope.$apply(function() {\n row.addClass(\"hidden\");\n tag.revert();\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n };\n $scope.$watch(\"tagsFilter.name\", function(tagsFilter) {\n return $ctrl.filterAndSortTags();\n });\n $window.on(\"keyup\", function(event) {\n if (event.keyCode === 27) {\n return $scope.$apply(function() {\n return initializeMixingTags();\n });\n }\n });\n $el.on(\"click\", \".show-add-new\", function(event) {\n event.preventDefault();\n return $el.find(\".new-value\").removeClass('hidden');\n });\n $el.on(\"click\", \".add-new\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n }));\n $el.on(\"click\", \".delete-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n });\n $el.on(\"click\", \".mix-tags\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return $scope.$apply(function() {\n return $ctrl.startMixingTags(target.parents('form').scope().tag);\n });\n });\n $el.on(\"click\", \".mixing-row\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return $scope.$apply(function() {\n return $ctrl.toggleMixingFromTags(target.parents('form').scope().tag);\n });\n });\n $el.on(\"click\", \".mixing-confirm\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $scope.$apply(function() {\n return $ctrl.confirmMixingTags();\n });\n });\n $el.on(\"click\", \".mixing-cancel\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $scope.$apply(function() {\n return $ctrl.cancelMixingTags();\n });\n });\n $el.on(\"click\", \".edit-value\", function(event) {\n var editionRow, row, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n editionRow = row.siblings(\".edition\");\n editionRow.removeClass('hidden');\n return editionRow.find('input:visible').first().focus().select();\n });\n $el.on(\"keyup\", \".new-value input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n } else if (event.keyCode === 27) {\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n }\n });\n $el.on(\"keyup\", \".status-name input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === 13) {\n return saveValue(target);\n } else if (event.keyCode === 27) {\n return cancel(target);\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return saveValue(target);\n });\n $el.on(\"click\", \".cancel\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return cancel(target);\n });\n $el.on(\"click\", \".delete-tag\", function(event) {\n var formEl, tag, target, title;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.parents(\"form\");\n tag = formEl.scope().tag;\n title = $translate.instant(\"ADMIN.COMMON.TITLE_ACTION_DELETE_TAG\");\n return $confirm.askOnDelete(title, tag.name).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadTags()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $ctrl.deleteTag(tag.name).then(onSucces, onError);\n });\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return $window.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectTags\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", \"$translate\", \"$rootScope\", ProjectTagsDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin/memberships.coffee\n */\n\n(function() {\n var EditRoleDirective, NewRoleDirective, RolePermissionsDirective, RolesController, RolesDirective, bindMethods, bindOnce, debounce, mixOf, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaAdmin\");\n\n RolesController = (function(superClass) {\n extend(RolesController, superClass);\n\n RolesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgModel\", \"tgAppMetaService\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function RolesController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, model, appMetaService, translate, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.model = model;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n this._disableComputable = bind(this._disableComputable, this);\n this._enableComputable = bind(this._enableComputable, this);\n bindMethods(this);\n this.scope.sectionName = \"ADMIN.MENU.PERMISSIONS\";\n this.scope.project = {};\n this.scope.anyComputableRole = true;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.ROLES.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n RolesController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n project = this.model.make_model(\"projects\", project);\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.anyComputableRole = _.some(_.map(project.roles, function(point) {\n return point.computable;\n }));\n return project;\n };\n\n RolesController.prototype.loadRoles = function() {\n return this.rs.roles.list(this.scope.projectId).then((function(_this) {\n return function(roles) {\n var public_permission;\n roles = roles.map(function(role) {\n role.external_user = false;\n return role;\n });\n public_permission = {\n \"name\": _this.translate.instant(\"ADMIN.ROLES.EXTERNAL_USER\"),\n \"permissions\": _this.scope.project.public_permissions,\n \"external_user\": true\n };\n roles.push(public_permission);\n _this.scope.roles = roles;\n _this.scope.role = _this.scope.roles[0];\n return roles;\n };\n })(this));\n };\n\n RolesController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadRoles();\n };\n\n RolesController.prototype.forceLoadProject = function() {\n return this.projectService.fetchProject((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n RolesController.prototype.setRole = function(role) {\n this.scope.role = role;\n return this.scope.$broadcast(\"role:changed\", this.scope.role);\n };\n\n RolesController.prototype[\"delete\"] = function() {\n var choices, i, len, ref, replacement, role, subtitle, title, warning;\n choices = {};\n ref = this.scope.roles;\n for (i = 0, len = ref.length; i < len; i++) {\n role = ref[i];\n if (role.id !== this.scope.role.id) {\n choices[role.id] = role.name;\n }\n }\n if (_.keys(choices).length === 0) {\n return this.confirm.error(this.translate.instant(\"ADMIN.ROLES.ERROR_DELETE_ALL\"));\n }\n title = this.translate.instant(\"ADMIN.ROLES.TITLE_DELETE_ROLE\");\n subtitle = this.scope.role.name;\n replacement = this.translate.instant(\"ADMIN.ROLES.REPLACEMENT_ROLE\");\n warning = this.translate.instant(\"ADMIN.ROLES.WARNING_DELETE_ROLE\");\n return this.confirm.askChoice(title, subtitle, choices, replacement, warning).then((function(_this) {\n return function(response) {\n var onError, onSuccess;\n onSuccess = function() {\n _this.forceLoadProject();\n return _this.loadRoles()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return _this.confirm.notify('error');\n };\n return _this.repo.remove(_this.scope.role, {\n moveTo: response.selected\n }).then(onSuccess, onError);\n };\n })(this));\n };\n\n RolesController.prototype._enableComputable = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.confirm.notify(\"success\");\n return _this.forceLoadProject();\n };\n })(this);\n onError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.scope.role.revert();\n };\n })(this);\n return this.repo.save(this.scope.role).then(onSuccess, onError);\n };\n\n RolesController.prototype._disableComputable = function() {\n var askOnError, askOnSuccess, subtitle, title;\n askOnSuccess = (function(_this) {\n return function(response) {\n var onError, onSuccess;\n onSuccess = function() {\n response.finish();\n _this.confirm.notify(\"success\");\n return _this.forceLoadProject();\n };\n onError = function() {\n response.finish();\n _this.confirm.notify(\"error\");\n return _this.scope.role.revert();\n };\n return _this.repo.save(_this.scope.role).then(onSuccess, onError);\n };\n })(this);\n askOnError = (function(_this) {\n return function(response) {\n return _this.scope.role.revert();\n };\n })(this);\n title = this.translate.instant(\"ADMIN.ROLES.DISABLE_COMPUTABLE_ALERT_TITLE\");\n subtitle = this.translate.instant(\"ADMIN.ROLES.DISABLE_COMPUTABLE_ALERT_SUBTITLE\", {\n roleName: this.scope.role.name\n });\n return this.confirm.ask(title, subtitle, \"\").then(askOnSuccess, askOnError);\n };\n\n RolesController.prototype.toggleComputable = debounce(2000, function() {\n if (!this.scope.role.computable) {\n return this._disableComputable();\n } else {\n return this._enableComputable();\n }\n });\n\n return RolesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"RolesController\", RolesController);\n\n EditRoleDirective = function($repo, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit, toggleView;\n toggleView = function() {\n $el.find('.total').toggle();\n return $el.find('.edit-role').toggle();\n };\n submit = function() {\n var promise;\n $scope.role.name = $el.find(\"input\").val();\n promise = $repo.save($scope.role);\n promise.then(function() {\n return $confirm.notify(\"success\");\n });\n promise.then(null, function(data) {\n return $confirm.notify(\"error\");\n });\n return toggleView();\n };\n $el.on(\"click\", \".edit-value\", function() {\n toggleView();\n $el.find(\"input\").focus();\n return $el.find(\"input\").val($scope.role.name);\n });\n $el.on(\"click\", \"a.save\", submit);\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return submit();\n } else if (event.keyCode === 27) {\n return toggleView();\n }\n });\n $scope.$on(\"role:changed\", function() {\n if ($el.find('.edit-role').is(\":visible\")) {\n return toggleView();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgEditRole\", [\"$tgRepo\", \"$tgConfirm\", EditRoleDirective]);\n\n RolesDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRoles\", RolesDirective);\n\n NewRoleDirective = function($tgrepo, $confirm) {\n var DEFAULT_PERMISSIONS, link;\n DEFAULT_PERMISSIONS = [\"view_project\", \"view_milestones\", \"view_us\", \"view_tasks\", \"view_issues\"];\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n $el.on(\"click\", \"a.add-button\", function(event) {\n event.preventDefault();\n $el.find(\".new\").removeClass(\"hidden\");\n $el.find(\".new\").focus();\n return $el.find(\".add-button\").hide();\n });\n return $el.on(\"keyup\", \".new\", function(event) {\n var newRole, onError, onSuccess, target;\n event.preventDefault();\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n newRole = {\n project: $scope.projectId,\n name: target.val(),\n permissions: DEFAULT_PERMISSIONS,\n order: _.maxBy($scope.roles, function(r) {\n return r.order;\n }).order + 1,\n computable: false\n };\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new\").val('');\n onSuccess = function(role) {\n var insertPosition;\n insertPosition = $scope.roles.length - 1;\n $scope.roles.splice(insertPosition, 0, role);\n $ctrl.setRole(role);\n $el.find(\".add-button\").show();\n return $ctrl.forceLoadProject();\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $tgrepo.create(\"roles\", newRole).then(onSuccess, onError);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new\").val('');\n return $el.find(\".add-button\").show();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNewRole\", [\"$tgRepo\", \"$tgConfirm\", NewRoleDirective]);\n\n RolePermissionsDirective = function($rootscope, $repo, $confirm, $compile) {\n var baseTemplate, categoryTemplate, link, resumeTemplate;\n resumeTemplate = _.template(\"
    \\\">
    \\n
    \\n
    <%- category.activePermissions %>/<%- category.permissions.length %>
    \\n <% _.each(category.permissions, function(permission) { %>\\n
    active<% } %>\\\"\\n title=\\\"{{ '<%- permission.name %>' | translate }}\\\">
    \\n <% }) %>\\n
    \\n\");\n categoryTemplate = _.template(\"
    \\\">\\n
    \\n
    \\n
    \\n
    \\n <% _.each(category.permissions, function(permission) { %>\\n
    \\\">\\n \\\">\\n
    \\n disabled=\\\"disabled\\\" <% } %>\\n <% if(permission.active) { %> checked=\\\"checked\\\" <% } %>/>\\n
    \\n \\n \\n
    \\n
    \\n <% }) %>\\n
    \\n
    \\n
    \");\n baseTemplate = _.template(\"
    \");\n link = function($scope, $el, $attrs) {\n var $ctrl, generateCategoriesFromRole, renderCategory, renderPermissions, renderResume;\n $ctrl = $el.controller();\n generateCategoriesFromRole = function(role) {\n var categories, epicPermissions, isPermissionEditable, issuePermissions, milestonePermissions, setActivePermissions, setActivePermissionsPerCategory, taskPermissions, userStoryPermissions, wikiPermissions;\n setActivePermissions = function(permissions) {\n return _.map(permissions, function(x) {\n var ref;\n return _.extend({}, x, {\n active: (ref = x[\"key\"], indexOf.call(role.permissions, ref) >= 0)\n });\n });\n };\n isPermissionEditable = function(permission, role, project) {\n if (role.external_user && !project.is_private && permission.key.indexOf(\"view_\") === 0) {\n return false;\n } else {\n return true;\n }\n };\n setActivePermissionsPerCategory = function(category) {\n return _.map(category, function(cat) {\n cat.permissions = cat.permissions.map(function(permission) {\n permission.editable = isPermissionEditable(permission, role, $scope.project);\n return permission;\n });\n return _.extend({}, cat, {\n activePermissions: _.filter(cat[\"permissions\"], \"active\").length\n });\n });\n };\n categories = [];\n epicPermissions = [\n {\n key: \"view_epics\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.VIEW_EPICS\"\n }, {\n key: \"add_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.ADD_EPICS\"\n }, {\n key: \"modify_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.MODIFY_EPICS\"\n }, {\n key: \"comment_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.COMMENT_EPICS\"\n }, {\n key: \"delete_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.DELETE_EPICS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.NAME\",\n permissions: setActivePermissions(epicPermissions)\n });\n milestonePermissions = [\n {\n key: \"view_milestones\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.VIEW_SPRINTS\"\n }, {\n key: \"add_milestone\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.ADD_SPRINTS\"\n }, {\n key: \"modify_milestone\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.MODIFY_SPRINTS\"\n }, {\n key: \"delete_milestone\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.DELETE_SPRINTS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.NAME\",\n permissions: setActivePermissions(milestonePermissions)\n });\n userStoryPermissions = [\n {\n key: \"view_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.VIEW_USER_STORIES\"\n }, {\n key: \"add_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.ADD_USER_STORIES\"\n }, {\n key: \"modify_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.MODIFY_USER_STORIES\"\n }, {\n key: \"comment_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.COMMENT_USER_STORIES\"\n }, {\n key: \"delete_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.DELETE_USER_STORIES\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.NAME\",\n permissions: setActivePermissions(userStoryPermissions)\n });\n taskPermissions = [\n {\n key: \"view_tasks\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.VIEW_TASKS\"\n }, {\n key: \"add_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.ADD_TASKS\"\n }, {\n key: \"modify_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.MODIFY_TASKS\"\n }, {\n key: \"comment_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.COMMENT_TASKS\"\n }, {\n key: \"delete_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.DELETE_TASKS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.NAME\",\n permissions: setActivePermissions(taskPermissions)\n });\n issuePermissions = [\n {\n key: \"view_issues\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.VIEW_ISSUES\"\n }, {\n key: \"add_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.ADD_ISSUES\"\n }, {\n key: \"modify_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.MODIFY_ISSUES\"\n }, {\n key: \"comment_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.COMMENT_ISSUES\"\n }, {\n key: \"delete_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.DELETE_ISSUES\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.NAME\",\n permissions: setActivePermissions(issuePermissions)\n });\n wikiPermissions = [\n {\n key: \"view_wiki_pages\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_PAGES\"\n }, {\n key: \"add_wiki_page\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_PAGES\"\n }, {\n key: \"modify_wiki_page\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.MODIFY_WIKI_PAGES\"\n }, {\n key: \"delete_wiki_page\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_PAGES\"\n }, {\n key: \"view_wiki_links\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_LINKS\"\n }, {\n key: \"add_wiki_link\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_LINKS\"\n }, {\n key: \"delete_wiki_link\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_LINKS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.NAME\",\n permissions: setActivePermissions(wikiPermissions)\n });\n return setActivePermissionsPerCategory(categories);\n };\n renderResume = function(element, category) {\n return element.find(\".resume\").html($compile(resumeTemplate({\n category: category\n }))($scope));\n };\n renderCategory = function(category, index) {\n var html;\n html = categoryTemplate({\n category: category,\n index: index\n });\n html = angular.element(html);\n renderResume(html, category);\n return $compile(html)($scope);\n };\n renderPermissions = function() {\n var html;\n $el.off();\n html = baseTemplate();\n _.each(generateCategoriesFromRole($scope.role), function(category, index) {\n return html = angular.element(html).append(renderCategory(category, index));\n });\n $el.html(html);\n $el.on(\"click\", \".resume\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n target.toggleClass(\"open-drawer\");\n return target.next().toggleClass(\"open\");\n });\n return $el.on(\"change\", \".category-item input\", function(event) {\n var getActivePermissions, onError, onSuccess, target;\n getActivePermissions = function() {\n var activePermissions;\n activePermissions = _.filter($el.find(\".category-item input\"), function(t) {\n return angular.element(t).is(\":checked\");\n });\n activePermissions = _.sortBy(_.map(activePermissions, function(t) {\n var permission;\n return permission = angular.element(t).parents(\".category-item\").data(\"id\");\n }));\n if (activePermissions.length) {\n activePermissions.push(\"view_project\");\n }\n return activePermissions;\n };\n target = angular.element(event.currentTarget);\n $scope.role.permissions = getActivePermissions();\n onSuccess = function() {\n var categories, categoryId;\n categories = generateCategoriesFromRole($scope.role);\n categoryId = target.parents(\".category-config\").data(\"id\");\n renderResume(target.parents(\".category-config\"), categories[categoryId]);\n $rootscope.$broadcast(\"projects:reload\");\n $confirm.notify(\"success\");\n return $ctrl.forceLoadProject();\n };\n onError = function() {\n $confirm.notify(\"error\");\n target.prop(\"checked\", !target.prop(\"checked\"));\n return $scope.role.permissions = getActivePermissions();\n };\n if ($scope.role.external_user) {\n $scope.project.public_permissions = $scope.role.permissions;\n $scope.project.anon_permissions = $scope.role.permissions.filter(function(permission) {\n return permission.indexOf(\"view_\") === 0;\n });\n return $repo.save($scope.project).then(onSuccess, onError);\n } else {\n return $repo.save($scope.role).then(onSuccess, onError);\n }\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n $scope.$on(\"role:changed\", function() {\n return renderPermissions();\n });\n return bindOnce($scope, $attrs.ngModel, renderPermissions);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRolePermissions\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\", RolePermissionsDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin/third-parties.coffee\n */\n\n(function() {\n var BitbucketController, BitbucketWebhooksDirective, GithubController, GithubWebhooksDirective, GitlabController, GitlabWebhooksDirective, GogsController, GogsWebhooksDirective, NewWebhookDirective, SelectInputText, ValidOriginIpsDirective, WebhookDirective, WebhooksController, bindMethods, debounce, mixOf, module, taiga, timeout,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindMethods = this.taiga.bindMethods;\n\n debounce = this.taiga.debounce;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaAdmin\");\n\n WebhooksController = (function(superClass) {\n extend(WebhooksController, superClass);\n\n WebhooksController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function WebhooksController(scope, repo, rs, params, location, navUrls, appMetaService, translate, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = \"ADMIN.WEBHOOKS.SECTION_NAME\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.WEBHOOKS.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"webhooks:reload\", this.loadWebhooks);\n }\n\n WebhooksController.prototype.loadWebhooks = function() {\n return this.rs.webhooks.list(this.scope.projectId).then((function(_this) {\n return function(webhooks) {\n return _this.scope.webhooks = webhooks;\n };\n })(this));\n };\n\n WebhooksController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n WebhooksController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadWebhooks();\n };\n\n return WebhooksController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"WebhooksController\", WebhooksController);\n\n WebhookDirective = function($rs, $repo, $confirm, $loading, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var cancel, openHistory, save, showEditMode, showVisualizationMode, updateLogs, updateShowHideHistoryText, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n updateLogs = function() {\n var prettyDate;\n prettyDate = $translate.instant(\"ADMIN.WEBHOOKS.DATE\");\n return $rs.webhooklogs.list(webhook.id).then((function(_this) {\n return function(webhooklogs) {\n var i, len, log, ref;\n for (i = 0, len = webhooklogs.length; i < len; i++) {\n log = webhooklogs[i];\n log.validStatus = (200 <= (ref = log.status) && ref < 300);\n log.prettySentHeaders = _.map(_.toPairs(log.request_headers), function(arg) {\n var header, value;\n header = arg[0], value = arg[1];\n return header + \": \" + value;\n }).join(\"\\n\");\n log.prettySentData = JSON.stringify(log.request_data);\n log.prettyDate = moment(log.created).format(prettyDate);\n }\n webhook.logs_counter = webhooklogs.length;\n webhook.logs = webhooklogs;\n return updateShowHideHistoryText();\n };\n })(this));\n };\n updateShowHideHistoryText = function() {\n var historyElement, text, textElement, title;\n textElement = $el.find(\".toggle-history\");\n historyElement = textElement.parents(\".single-webhook-wrapper\").find(\".webhooks-history\");\n if (historyElement.hasClass(\"open\")) {\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY\");\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY_TITLE\");\n } else {\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY\");\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY_TITLE\");\n }\n textElement.text(text);\n return textElement.prop(\"title\", title);\n };\n showVisualizationMode = function() {\n $el.find(\".edition-mode\").addClass(\"hidden\");\n return $el.find(\".visualization-mode\").removeClass(\"hidden\");\n };\n showEditMode = function() {\n $el.find(\".visualization-mode\").addClass(\"hidden\");\n return $el.find(\".edition-mode\").removeClass(\"hidden\");\n };\n openHistory = function() {\n return $el.find(\".webhooks-history\").addClass(\"open\");\n };\n cancel = function() {\n showVisualizationMode();\n return $scope.$apply(function() {\n return webhook.revert();\n });\n };\n save = debounce(2000, function(target) {\n var form, promise;\n form = target.parents(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n promise = $repo.save(webhook);\n promise.then((function(_this) {\n return function() {\n return showVisualizationMode();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n $el.on(\"click\", \".test-webhook\", function() {\n openHistory();\n return $rs.webhooks.test(webhook.id).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n $el.on(\"click\", \".edit-webhook\", function() {\n return showEditMode();\n });\n $el.on(\"click\", \".cancel-existing\", function() {\n return cancel();\n });\n $el.on(\"click\", \".edit-existing\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return save(target);\n });\n $el.on(\"keyup\", \".edition-mode input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n return save(target);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n return cancel(target);\n }\n });\n $el.on(\"click\", \".delete-webhook\", function() {\n var message, title;\n title = $translate.instant(\"ADMIN.WEBHOOKS.DELETE\");\n message = $translate.instant(\"ADMIN.WEBHOOKS.WEBHOOK_NAME\", {\n name: webhook.name\n });\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSucces;\n onSucces = function() {\n askResponse.finish();\n return $scope.$emit(\"webhooks:reload\");\n };\n onError = function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n };\n return $repo.remove(webhook).then(onSucces, onError);\n };\n })(this));\n });\n $el.on(\"click\", \".toggle-history\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if ((webhook.logs == null) || webhook.logs.length === 0) {\n return updateLogs().then(function() {\n return timeout(0, function() {\n $el.find(\".webhooks-history\").toggleClass(\"open\").slideToggle();\n return updateShowHideHistoryText();\n });\n });\n } else {\n $el.find(\".webhooks-history\").toggleClass(\"open\").slideToggle();\n return $scope.$apply(function() {\n return updateShowHideHistoryText();\n });\n }\n });\n $el.on(\"click\", \".history-single\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n target.toggleClass(\"history-single-open\");\n return target.siblings(\".history-single-response\").toggleClass(\"open\");\n });\n return $el.on(\"click\", \".resend-request\", function(event) {\n var log, target;\n target = angular.element(event.currentTarget);\n log = target.data(\"log\");\n return $rs.webhooklogs.resend(log).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$translate\", WebhookDirective]);\n\n NewWebhookDirective = function($rs, $repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var addWebhookDOMNode, formDOMNode, initializeNewValue, save, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n formDOMNode = $el.find(\".new-webhook-form\");\n addWebhookDOMNode = $el.find(\".add-webhook\");\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"url\": \"\",\n \"key\": \"\"\n };\n };\n initializeNewValue();\n $scope.$watch(\"webhooks\", function(webhooks) {\n if (webhooks != null) {\n if (webhooks.length === 0) {\n formDOMNode.removeClass(\"hidden\");\n addWebhookDOMNode.addClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n } else {\n formDOMNode.addClass(\"hidden\");\n return addWebhookDOMNode.removeClass(\"hidden\");\n }\n }\n });\n save = debounce(2000, function() {\n var form, promise;\n form = formDOMNode.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n promise = $repo.create(\"webhooks\", $scope.newValue);\n promise.then((function(_this) {\n return function() {\n $analytics.trackEvent(\"webhooks\", \"create\", \"Create new webhook\", 1);\n $scope.$emit(\"webhooks:reload\");\n return initializeNewValue();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n formDOMNode.on(\"click\", \".add-new\", function(event) {\n event.preventDefault();\n return save();\n });\n formDOMNode.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return save();\n }\n });\n formDOMNode.on(\"click\", \".cancel-new\", function(event) {\n return $scope.$apply(function() {\n initializeNewValue();\n if ($scope.webhooks.length >= 1) {\n return formDOMNode.addClass(\"hidden\");\n }\n });\n });\n return addWebhookDOMNode.on(\"click\", function(event) {\n formDOMNode.removeClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNewWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", NewWebhookDirective]);\n\n GithubController = (function(superClass) {\n extend(GithubController, superClass);\n\n GithubController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function GithubController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.GITHUB.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.GITHUB.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n GithubController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"github\").then((function(_this) {\n return function(github) {\n return _this.scope.github = github;\n };\n })(this));\n };\n\n GithubController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n GithubController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return this.loadModules();\n };\n\n return GithubController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GithubController\", GithubController);\n\n GitlabController = (function(superClass) {\n extend(GitlabController, superClass);\n\n GitlabController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function GitlabController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.GITLAB.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.GITLAB.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n GitlabController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"gitlab\").then((function(_this) {\n return function(gitlab) {\n return _this.scope.gitlab = gitlab;\n };\n })(this));\n };\n\n GitlabController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n GitlabController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadModules();\n };\n\n return GitlabController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GitlabController\", GitlabController);\n\n BitbucketController = (function(superClass) {\n extend(BitbucketController, superClass);\n\n BitbucketController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function BitbucketController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.BITBUCKET.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.BITBUCKET.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n BitbucketController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"bitbucket\").then((function(_this) {\n return function(bitbucket) {\n return _this.scope.bitbucket = bitbucket;\n };\n })(this));\n };\n\n BitbucketController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n BitbucketController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadModules();\n };\n\n return BitbucketController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"BitbucketController\", BitbucketController);\n\n SelectInputText = function($translate, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.on(\"click\", \".select-input-content\", function() {\n var source;\n source = $el.find(\"input\");\n if (!source.val()) {\n return;\n }\n source.select();\n document.execCommand('copy');\n return $confirm.notify(\"success\", $translate.instant(\"COMMON.COPIED_TO_CLIPBOARD\"));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSelectInputText\", [\"$translate\", \"$tgConfirm\", SelectInputText]);\n\n GithubWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.saveAttribute($scope.github, \"github\");\n promise.then(function() {\n $analytics.trackEvent(\"github-webhook\", \"created-or-changed\", \"Create or changed github webhook\", 1);\n currentLoading.finish();\n return $confirm.notify(\"success\");\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGithubWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", GithubWebhooksDirective]);\n\n GitlabWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.saveAttribute($scope.gitlab, \"gitlab\");\n promise.then(function() {\n $analytics.trackEvent(\"gitlab-webhook\", \"created-or-changed\", \"Create or changed gitlab webhook\", 1);\n currentLoading.finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGitlabWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", GitlabWebhooksDirective]);\n\n BitbucketWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.saveAttribute($scope.bitbucket, \"bitbucket\");\n promise.then(function() {\n $analytics.trackEvent(\"bitbucket-webhook\", \"created-or-changed\", \"Create or changed bitbucket webhook\", 1);\n currentLoading.finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBitbucketWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", BitbucketWebhooksDirective]);\n\n ValidOriginIpsDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $ngModel) {\n return $ngModel.$parsers.push(function(value) {\n value = $.trim(value);\n if (value === \"\") {\n return [];\n }\n return value.split(\",\");\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgValidOriginIps\", ValidOriginIpsDirective);\n\n GogsController = (function(superClass) {\n extend(GogsController, superClass);\n\n GogsController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function GogsController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.GOGS.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.GOGS.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n GogsController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"gogs\").then((function(_this) {\n return function(gogs) {\n return _this.scope.gogs = gogs;\n };\n })(this));\n };\n\n GogsController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n GogsController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadModules();\n };\n\n return GogsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n GogsWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.saveAttribute($scope.gogs, \"gogs\");\n promise.then(function() {\n $analytics.trackEvent(\"gogs-webhook\", \"create-or-change\", \"Create or change gogs webhook\", 1);\n currentLoading.finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $el.on(\"click\", \".submit-button\", submit);\n };\n return {\n link: link\n };\n };\n\n module.controller(\"GogsController\", GogsController);\n\n module.directive(\"tgGogsWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", GogsWebhooksDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/attachments.coffee\n */\n\n(function() {\n var DeleteProjectDirective, bindOnce, debounce, module, taiga, timeout;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n timeout = this.taiga.timeout;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaProject\");\n\n DeleteProjectDirective = function($repo, $rootscope, $auth, $location, $navUrls, $confirm, lightboxService, tgLoader, currentUserService, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var projectToDelete, submit;\n projectToDelete = null;\n $scope.$on(\"deletelightbox:new\", function(ctx, project) {\n lightboxService.open($el);\n return projectToDelete = project;\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n submit = function() {\n var promise;\n tgLoader.start();\n lightboxService.close($el);\n promise = $repo.remove(projectToDelete);\n promise.then(function(data) {\n $analytics.trackEvent(\"projects\", \"delete\", \"Delete project\", 1);\n tgLoader.pageLoaded();\n $rootscope.$broadcast(\"projects:reload\");\n $location.path($navUrls.resolve(\"home\"));\n $confirm.notify(\"success\");\n return currentUserService.loadProjects();\n });\n return promise.then(null, function() {\n $confirm.notify(\"error\");\n return lightboxService.close($el);\n });\n };\n $el.on(\"click\", \".button-red\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n return $el.on(\"click\", \".button-green\", function(event) {\n event.preventDefault();\n return submit();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbDeleteProject\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfirm\", \"lightboxService\", \"tgLoader\", \"tgCurrentUserService\", \"$tgAnalytics\", DeleteProjectDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/bind.coffee\n */\n\n(function() {\n var BindHtmlDirective, BindOnceAltDirective, BindOnceBindDirective, BindOnceHrefDirective, BindOnceHtmlDirective, BindOnceRefDirective, BindOnceSrcDirective, BindOnceTitleDirective, BindTitleDirective, bindOnce, module;\n\n bindOnce = this.taiga.bindOnce;\n\n BindOnceBindDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoBind, function(val) {\n return $el.text(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHtml, function(val) {\n return $el.html(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceRefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoRef, function(val) {\n return $el.html(\"#\" + val + \" \");\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceSrcDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoSrc, function(val) {\n return $el.attr(\"src\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHrefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHref, function(val) {\n return $el.attr(\"href\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceAltDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoAlt, function(val) {\n return $el.attr(\"alt\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoTitle, function(val) {\n return $el.attr(\"title\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgTitleHtml, function(val) {\n if (val != null) {\n return $el.attr(\"title\", val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n BindHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgBindHtml, function(val) {\n if (val != null) {\n return $el.html(val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaBase\");\n\n module.directive(\"tgBoBind\", BindOnceBindDirective);\n\n module.directive(\"tgBoHtml\", BindOnceHtmlDirective);\n\n module.directive(\"tgBoRef\", BindOnceRefDirective);\n\n module.directive(\"tgBoSrc\", BindOnceSrcDirective);\n\n module.directive(\"tgBoHref\", BindOnceHrefDirective);\n\n module.directive(\"tgBoAlt\", BindOnceAltDirective);\n\n module.directive(\"tgBoTitle\", BindOnceTitleDirective);\n\n module.directive(\"tgBindTitle\", BindTitleDirective);\n\n module.directive(\"tgBindHtml\", BindHtmlDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/conf.coffee\n */\n\n(function() {\n var ConfigurationService, module;\n\n ConfigurationService = (function() {\n function ConfigurationService() {\n this.config = window.taigaConfig;\n }\n\n ConfigurationService.prototype.get = function(key, defaultValue) {\n if (defaultValue == null) {\n defaultValue = null;\n }\n if (_.has(this.config, key)) {\n return this.config[key];\n }\n return defaultValue;\n };\n\n return ConfigurationService;\n\n })();\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgConfig\", ConfigurationService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/contrib.coffee\n */\n\n(function() {\n var ContribController, ContribUserSettingsController, module,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n module = angular.module(\"taigaBase\");\n\n ContribController = (function(superClass) {\n extend(ContribController, superClass);\n\n ContribController.$inject = [\"$rootScope\", \"$scope\", \"$routeParams\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"tgProjectService\"];\n\n function ContribController(rootScope, scope, params, repo, rs, confirm, projectService) {\n this.rootScope = rootScope;\n this.scope = scope;\n this.params = params;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.projectService = projectService;\n this.scope.currentPlugin = _.head(_.filter(this.rootScope.adminPlugins, {\n \"slug\": this.params.plugin\n }));\n this.scope.projectSlug = this.params.pslug;\n this.loadInitialData();\n }\n\n ContribController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.$broadcast('project:loaded', project);\n return project;\n };\n\n ContribController.prototype.loadInitialData = function() {\n return this.loadProject();\n };\n\n return ContribController;\n\n })(taiga.Controller);\n\n module.controller(\"ContribController\", ContribController);\n\n ContribUserSettingsController = (function(superClass) {\n extend(ContribUserSettingsController, superClass);\n\n ContribUserSettingsController.$inject = [\"$rootScope\", \"$scope\", \"$routeParams\"];\n\n function ContribUserSettingsController(rootScope, scope, params) {\n this.rootScope = rootScope;\n this.scope = scope;\n this.params = params;\n this.scope.currentPlugin = _.head(_.filter(this.rootScope.userSettingsPlugins, {\n \"slug\": this.params.plugin\n }));\n }\n\n return ContribUserSettingsController;\n\n })(taiga.Controller);\n\n module.controller(\"ContribUserSettingsController\", ContribUserSettingsController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/filters.coffee\n */\n\n(function() {\n var FiltersStorageService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n FiltersStorageService = (function(superClass) {\n extend(FiltersStorageService, superClass);\n\n FiltersStorageService.$inject = [\"$tgStorage\", \"$routeParams\"];\n\n function FiltersStorageService(storage, params) {\n this.storage = storage;\n this.params = params;\n }\n\n FiltersStorageService.prototype.generateHash = function(components) {\n if (components == null) {\n components = [];\n }\n components = _.map(components, function(x) {\n return JSON.stringify(x);\n });\n return hex_sha1(components.join(\":\"));\n };\n\n return FiltersStorageService;\n\n })(taiga.Service);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/http.coffee\n */\n\n(function() {\n var HttpService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n HttpService = (function(superClass) {\n extend(HttpService, superClass);\n\n HttpService.$inject = [\"$http\", \"$q\", \"$tgStorage\", \"$rootScope\", \"$cacheFactory\", \"$translate\"];\n\n function HttpService(http, q, storage, rootScope, cacheFactory, translate) {\n this.http = http;\n this.q = q;\n this.storage = storage;\n this.rootScope = rootScope;\n this.cacheFactory = cacheFactory;\n this.translate = translate;\n HttpService.__super__.constructor.call(this);\n this.cache = this.cacheFactory(\"httpget\");\n }\n\n HttpService.prototype.headers = function() {\n var headers, lang, token;\n headers = {};\n token = this.storage.get('token');\n if (token) {\n headers[\"Authorization\"] = \"Bearer \" + token;\n }\n lang = this.translate.preferredLanguage();\n if (lang) {\n headers[\"Accept-Language\"] = lang;\n }\n return headers;\n };\n\n HttpService.prototype.request = function(options) {\n options.headers = _.assign({}, options.headers || {}, this.headers());\n return this.http(options);\n };\n\n HttpService.prototype.get = function(url, params, options) {\n options = _.assign({\n method: \"GET\",\n url: url\n }, options);\n if (params) {\n options.params = params;\n }\n options.cache = this.cache;\n return this.request(options)[\"finally\"]((function(_this) {\n return function(data) {\n return _this.cache.removeAll();\n };\n })(this));\n };\n\n HttpService.prototype.post = function(url, data, params, options) {\n options = _.assign({\n method: \"POST\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.put = function(url, data, params, options) {\n options = _.assign({\n method: \"PUT\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.patch = function(url, data, params, options) {\n options = _.assign({\n method: \"PATCH\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype[\"delete\"] = function(url, data, params, options) {\n options = _.assign({\n method: \"DELETE\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n return HttpService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgHttp\", HttpService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/location.coffee\n */\n\n(function() {\n var locationFactory, module;\n\n locationFactory = function($location, $route, $rootscope) {\n $location.noreload = function(scope) {\n var lastRoute, un;\n lastRoute = $route.current;\n un = scope.$on(\"$locationChangeSuccess\", function() {\n $route.current = lastRoute;\n return un();\n });\n return $location;\n };\n $location.isInCurrentRouteParams = function(name, value) {\n var params;\n params = $location.search() || {};\n return params[name] === value;\n };\n return $location;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgLocation\", [\"$location\", \"$route\", \"$rootScope\", locationFactory]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/model.coffee\n */\n\n(function() {\n var Model, ModelService, module, provider, taiga,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n Model = (function() {\n function Model(name, data, dataTypes) {\n this._attrs = data;\n this._name = name;\n this._dataTypes = dataTypes;\n this.setAttrs(data);\n this.initialize();\n }\n\n Model.prototype.realClone = function() {\n var attrs, instance;\n attrs = _.cloneDeep(this._attrs);\n instance = new Model(this._name, attrs, this._dataTypes);\n instance._modifiedAttrs = _.cloneDeep(this._modifiedAttrs);\n instance._isModified = _.cloneDeep(this._isModified);\n return instance;\n };\n\n Model.prototype.clone = function() {\n var instance;\n instance = new Model(this._name, this._attrs, this._dataTypes);\n instance._modifiedAttrs = this._modifiedAttrs;\n instance._isModified = this._isModified;\n return instance;\n };\n\n Model.prototype.applyCasts = function() {\n var attrName, castMethod, castName, ref, results;\n ref = this._dataTypes;\n results = [];\n for (attrName in ref) {\n castName = ref[attrName];\n castMethod = service.casts[castName];\n if (!castMethod) {\n continue;\n }\n results.push(this._attrs[attrName] = castMethod(this._attrs[attrName]));\n }\n return results;\n };\n\n Model.prototype.getIdAttrName = function() {\n return \"id\";\n };\n\n Model.prototype.getName = function() {\n return this._name;\n };\n\n Model.prototype.getAttrs = function(patch) {\n if (patch == null) {\n patch = false;\n }\n if (this._attrs.version != null) {\n this._modifiedAttrs.version = this._attrs.version;\n }\n if (patch) {\n return _.extend({}, this._modifiedAttrs);\n }\n return _.extend({}, this._attrs, this._modifiedAttrs);\n };\n\n Model.prototype.setAttrs = function(attrs) {\n this._attrs = attrs;\n this._modifiedAttrs = {};\n this.applyCasts();\n return this._isModified = false;\n };\n\n Model.prototype.setAttr = function(name, value) {\n this._modifiedAttrs[name] = value;\n return this._isModified = true;\n };\n\n Model.prototype.initialize = function() {\n var getter, self, setter;\n self = this;\n getter = function(name) {\n return function() {\n if (typeof name === 'string' && name.substr(0, 2) === \"__\") {\n return self[name];\n }\n if (indexOf.call(_.keys(self._modifiedAttrs), name) < 0) {\n return self._attrs[name];\n }\n return self._modifiedAttrs[name];\n };\n };\n setter = function(name) {\n return function(value) {\n if (typeof name === 'string' && name.substr(0, 2) === \"__\") {\n self[name] = value;\n return;\n }\n if (self._attrs[name] !== value) {\n self._modifiedAttrs[name] = value;\n self._isModified = true;\n } else {\n delete self._modifiedAttrs[name];\n }\n };\n };\n return _.each(this._attrs, function(value, name) {\n var options;\n options = {\n get: getter(name),\n set: setter(name),\n enumerable: true,\n configurable: true\n };\n return Object.defineProperty(self, name, options);\n });\n };\n\n Model.prototype.serialize = function() {\n var data;\n data = {\n \"data\": _.clone(this._attrs),\n \"name\": this._name\n };\n return JSON.stringify(data);\n };\n\n Model.prototype.isModified = function() {\n return this._isModified;\n };\n\n Model.prototype.isAttributeModified = function(attribute) {\n return this._modifiedAttrs[attribute] != null;\n };\n\n Model.prototype.markSaved = function() {\n this._isModified = false;\n this._attrs = this.getAttrs();\n return this._modifiedAttrs = {};\n };\n\n Model.prototype.revert = function() {\n this._modifiedAttrs = {};\n return this._isModified = false;\n };\n\n Model.desSerialize = function(sdata) {\n var ddata, model;\n ddata = JSON.parse(sdata);\n model = new Model(ddata.url, ddata.data);\n return model;\n };\n\n return Model;\n\n })();\n\n taiga = this.taiga;\n\n ModelService = (function(superClass) {\n extend(ModelService, superClass);\n\n ModelService.$inject = [\"$q\", \"$tgUrls\", \"$tgStorage\", \"$tgHttp\"];\n\n function ModelService(q, urls, storage, http) {\n this.q = q;\n this.urls = urls;\n this.storage = storage;\n this.http = http;\n ModelService.__super__.constructor.call(this);\n }\n\n return ModelService;\n\n })(taiga.Service);\n\n provider = function($q, $http, $gmUrls, $gmStorage) {\n var service;\n service = {};\n service.make_model = function(name, data, cls, dataTypes) {\n if (cls == null) {\n cls = Model;\n }\n if (dataTypes == null) {\n dataTypes = {};\n }\n return new cls(name, data, dataTypes);\n };\n service.cls = Model;\n service.casts = {\n int: function(value) {\n return parseInt(value, 10);\n },\n float: function(value) {\n return parseFloat(value, 10);\n }\n };\n return service;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgModel\", [\"$q\", \"$http\", \"$tgUrls\", \"$tgStorage\", provider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/navurl.coffee\n */\n\n(function() {\n var NavigationUrlsDirective, NavigationUrlsService, bindOnce, module, taiga, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\");\n\n NavigationUrlsService = (function(superClass) {\n extend(NavigationUrlsService, superClass);\n\n function NavigationUrlsService() {\n this.urls = {};\n }\n\n NavigationUrlsService.prototype.update = function(urls) {\n return this.urls = _.merge({}, this.urls, urls || {});\n };\n\n NavigationUrlsService.prototype.formatUrl = function(url, ctx) {\n var replacer;\n if (ctx == null) {\n ctx = {};\n }\n replacer = function(match) {\n match = trim(match, \":\");\n return ctx[match] || \"undefined\";\n };\n return url.replace(/(:\\w+)/g, replacer);\n };\n\n NavigationUrlsService.prototype.resolve = function(name, ctx) {\n var url;\n url = this.urls[name];\n if (!url) {\n return \"\";\n }\n if (ctx) {\n return this.formatUrl(url, ctx);\n }\n return url;\n };\n\n return NavigationUrlsService;\n\n })(taiga.Service);\n\n module.service(\"$tgNavUrls\", NavigationUrlsService);\n\n NavigationUrlsDirective = function($navurls, $auth, $q, $location, lightboxService) {\n var bindOnceP, link, parseNav;\n bindOnceP = function($scope, attr) {\n var defered;\n defered = $q.defer();\n bindOnce($scope, attr, function(v) {\n return defered.resolve(v);\n });\n return defered.promise;\n };\n parseNav = function(data, $scope) {\n var index, name, obj, params, promises, ref, result, values;\n ref = _.map(data.split(\":\"), trim), name = ref[0], params = ref[1];\n if (params) {\n result = params.split(/(\\w+)=/);\n result = _.filter(result, function(str) {\n return str.length;\n });\n result = _.map(result, function(str) {\n return trim(str.replace(/,$/g, ''));\n });\n params = [];\n index = 0;\n while (index < result.length) {\n obj = {};\n obj[result[index]] = result[index + 1];\n params.push(obj);\n index = index + 2;\n }\n } else {\n params = [];\n }\n values = _.map(params, function(param) {\n return _.values(param)[0];\n });\n promises = _.map(values, function(x) {\n return bindOnceP($scope, x);\n });\n return $q.all(promises).then(function() {\n var i, key, len, options, param, value;\n options = {};\n for (i = 0, len = params.length; i < len; i++) {\n param = params[i];\n key = Object.keys(param)[0];\n value = param[key];\n options[key] = $scope.$eval(value);\n }\n return [name, options];\n });\n };\n link = function($scope, $el, $attrs) {\n if ($el.is(\"a\")) {\n $el.attr(\"href\", \"#\");\n }\n $el.on(\"mouseenter\", function(event) {\n var target;\n target = $(event.currentTarget);\n if (!target.data(\"fullUrl\") || $attrs.tgNavGetParams !== target.data(\"params\")) {\n return parseNav($attrs.tgNav, $scope).then(function(result) {\n var fullUrl, getURLParams, getURLParamsStr, name, options, url, user;\n name = result[0], options = result[1];\n user = $auth.getUser();\n if (user) {\n options.user = user.username;\n }\n url = $navurls.resolve(name);\n fullUrl = $navurls.formatUrl(url, options);\n if ($attrs.tgNavGetParams) {\n getURLParams = JSON.parse($attrs.tgNavGetParams);\n getURLParamsStr = $.param(getURLParams);\n fullUrl = fullUrl + \"?\" + getURLParamsStr;\n target.data(\"params\", $attrs.tgNavGetParams);\n }\n target.data(\"fullUrl\", fullUrl);\n if (target.is(\"a\")) {\n target.attr(\"href\", fullUrl);\n }\n return $el.on(\"click\", function(event) {\n if (event.metaKey || event.ctrlKey) {\n return;\n }\n event.preventDefault();\n target = $(event.currentTarget);\n if (target.hasClass('noclick')) {\n return;\n }\n fullUrl = target.data(\"fullUrl\");\n switch (event.which) {\n case 1:\n $location.url(fullUrl);\n $scope.$apply();\n break;\n case 2:\n window.open(fullUrl);\n }\n return lightboxService.closeAll();\n });\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNav\", [\"$tgNavUrls\", \"$tgAuth\", \"$q\", \"$tgLocation\", \"lightboxService\", NavigationUrlsDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/repository.coffee\n */\n\n(function() {\n var RepositoryService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n RepositoryService = (function(superClass) {\n extend(RepositoryService, superClass);\n\n RepositoryService.$inject = [\"$q\", \"$tgModel\", \"$tgStorage\", \"$tgHttp\", \"$tgUrls\"];\n\n function RepositoryService(q, model1, storage, http, urls) {\n this.q = q;\n this.model = model1;\n this.storage = storage;\n this.http = http;\n this.urls = urls;\n RepositoryService.__super__.constructor.call(this);\n }\n\n RepositoryService.prototype.resolveUrlForModel = function(model) {\n var idAttrName;\n idAttrName = model.getIdAttrName();\n return (this.urls.resolve(model.getName())) + \"/\" + model[idAttrName];\n };\n\n RepositoryService.prototype.resolveUrlForAttributeModel = function(model) {\n return this.urls.resolve(model.getName(), model.parent);\n };\n\n RepositoryService.prototype.create = function(name, data, dataTypes, extraParams) {\n var defered, promise, url;\n if (dataTypes == null) {\n dataTypes = {};\n }\n if (extraParams == null) {\n extraParams = {};\n }\n defered = this.q.defer();\n url = this.urls.resolve(name);\n promise = this.http.post(url, JSON.stringify(data), extraParams);\n promise.success((function(_this) {\n return function(_data, _status) {\n return defered.resolve(_this.model.make_model(name, _data, null, dataTypes));\n };\n })(this));\n promise.error((function(_this) {\n return function(data, status) {\n return defered.reject(data);\n };\n })(this));\n return defered.promise;\n };\n\n RepositoryService.prototype.remove = function(model, params) {\n var defered, promise, url;\n if (params == null) {\n params = {};\n }\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http[\"delete\"](url, {}, params);\n promise.success(function(data, status) {\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(model);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAll = function(models, patch) {\n var promises;\n if (patch == null) {\n patch = true;\n }\n promises = _.map(models, (function(_this) {\n return function(x) {\n return _this.save(x, true);\n };\n })(this));\n return this.q.all(promises);\n };\n\n RepositoryService.prototype.save = function(model, patch, params, options, returnHeaders) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n if (params == null) {\n params = {};\n }\n if (returnHeaders == null) {\n returnHeaders = false;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForModel(model);\n data = JSON.stringify(model.getAttrs(patch));\n if (patch) {\n promise = this.http.patch(url, data, params, options);\n } else {\n promise = this.http.put(url, data, params, options);\n }\n promise.success((function(_this) {\n return function(data, status, headers, response) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n if (returnHeaders) {\n return defered.resolve([model, headers()]);\n } else {\n return defered.resolve(model);\n }\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAttribute = function(model, attribute, patch) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForAttributeModel(model);\n data = {};\n data[attribute] = model.getAttrs();\n if (patch) {\n promise = this.http.patch(url, data);\n } else {\n promise = this.http.put(url, data);\n }\n promise.success((function(_this) {\n return function(data, status) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n return defered.resolve(model);\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.refresh = function(model) {\n var defered, promise, url;\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http.get(url);\n promise.success(function(data, status) {\n model._modifiedAttrs = {};\n model._attrs = data;\n model._isModified = false;\n model.applyCasts();\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.queryMany = function(name, params, options, headers) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n if (headers == null) {\n headers = false;\n }\n url = this.urls.resolve(name);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var result;\n result = _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n if (headers) {\n return [result, data.headers];\n }\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneAttribute = function(name, id, attribute, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name, id);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var model;\n model = _this.model.make_model(name, data.data[attribute]);\n model.parent = id;\n return model;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOne = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return _this.model.make_model(name, data.data);\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneRaw = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = _.merge({\n headers: {}\n }, options);\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryPaginated = function(name, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n httpOptions = _.merge({\n headers: {}\n }, options);\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var headers, result;\n headers = data.headers();\n result = {};\n result.models = _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n result.count = parseInt(headers[\"x-pagination-count\"], 10);\n result.current = parseInt(headers[\"x-pagination-current\"] || 1, 10);\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10);\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOnePaginatedRaw = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = _.merge({\n headers: {}\n }, options);\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var headers, result;\n headers = data.headers();\n result = {};\n result.data = data.data;\n result.count = parseInt(headers[\"x-pagination-count\"], 10);\n result.current = parseInt(headers[\"x-pagination-current\"] || 1, 10);\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10);\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.resolve = function(options) {\n var cache, params;\n params = {};\n if (options.pslug != null) {\n params.project = options.pslug;\n }\n if (options.usref != null) {\n params.us = options.usref;\n }\n if (options.taskref != null) {\n params.task = options.taskref;\n }\n if (options.issueref != null) {\n params.issue = options.issueref;\n }\n if (options.sslug != null) {\n params.milestone = options.sslug;\n }\n if (options.wikipage != null) {\n params.wikipage = options.wikipage;\n }\n if (options.ref != null) {\n params.ref = options.ref;\n }\n cache = !(options.wikipage || options.sslug);\n return this.queryOneRaw(\"resolver\", null, params, {\n cache: cache\n });\n };\n\n return RepositoryService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgRepo\", RepositoryService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/storage.coffee\n */\n\n(function() {\n var StorageService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n StorageService = (function(superClass) {\n extend(StorageService, superClass);\n\n StorageService.$inject = [\"$rootScope\"];\n\n function StorageService($rootScope) {\n StorageService.__super__.constructor.call(this);\n }\n\n StorageService.prototype.get = function(key, _default) {\n var serializedValue;\n serializedValue = localStorage.getItem(key);\n if (serializedValue === null) {\n return _default || null;\n }\n return JSON.parse(serializedValue);\n };\n\n StorageService.prototype.set = function(key, val) {\n if (_.isObject(key)) {\n return _.each(key, (function(_this) {\n return function(val, key) {\n return _this.set(key, val);\n };\n })(this));\n } else {\n return localStorage.setItem(key, JSON.stringify(val));\n }\n };\n\n StorageService.prototype.contains = function(key) {\n var value;\n value = this.get(key);\n return value !== null;\n };\n\n StorageService.prototype.remove = function(key) {\n return localStorage.removeItem(key);\n };\n\n StorageService.prototype.clear = function() {\n return localStorage.clear();\n };\n\n return StorageService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgStorage\", StorageService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/http.coffee\n */\n\n(function() {\n var UrlsService, format, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n format = function(fmt, obj) {\n obj = _.clone(obj);\n return fmt.replace(/%s/g, function(match) {\n return String(obj.shift());\n });\n };\n\n taiga = this.taiga;\n\n UrlsService = (function(superClass) {\n extend(UrlsService, superClass);\n\n UrlsService.$inject = [\"$tgConfig\"];\n\n function UrlsService(config) {\n this.config = config;\n this.urls = {};\n this.mainUrl = this.config.get(\"api\");\n }\n\n UrlsService.prototype.update = function(urls) {\n return this.urls = _.merge(this.urls, urls);\n };\n\n UrlsService.prototype.resolve = function() {\n var args, name, url;\n args = _.toArray(arguments);\n if (args.length === 0) {\n throw Error(\"wrong arguments to setUrls\");\n }\n name = args.slice(0, 1)[0];\n url = format(this.urls[name], args.slice(1));\n return format(\"%s/%s\", [_.trimEnd(this.mainUrl, \"/\"), _.trimStart(url, \"/\")]);\n };\n\n UrlsService.prototype.resolveAbsolute = function() {\n var url;\n url = this.resolve.apply(this, arguments);\n if (/^https?:\\/\\//i.test(url)) {\n return url;\n }\n if (/^\\//.test(url)) {\n return window.location.protocol + \"//\" + window.location.host + url;\n }\n return window.location.protocol + \"//\" + window.location.host + \"/\" + url;\n };\n\n return UrlsService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service('$tgUrls', UrlsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/custom-field-values.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var _get, service;\n _get = function(objectId, resource) {\n return $repo.queryOne(resource, objectId);\n };\n service = {\n epic: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/epic\");\n }\n },\n userstory: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/userstory\");\n }\n },\n task: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/task\");\n }\n },\n issue: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributesValues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesValuesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($repo) {\n var _list, service;\n _list = function(projectId, resource) {\n return $repo.queryMany(resource, {\n project: projectId\n });\n };\n service = {\n epic: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/epic\");\n }\n },\n userstory: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/userstory\");\n }\n },\n task: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/task\");\n }\n },\n issue: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributes = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/epics.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"epics-queryparams\";\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"epics\", \"by_ref\", params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.upvote = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-upvote\", epicId);\n return $http.post(url);\n };\n service.downvote = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-downvote\", epicId);\n return $http.post(url);\n };\n service.watch = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-watch\", epicId);\n return $http.post(url);\n };\n service.unwatch = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-unwatch\", epicId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.epics = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgEpicsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/history.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(type, objectId) {\n return $repo.queryOneRaw(\"history/\" + type, objectId);\n };\n service.editComment = function(type, objectId, activityId, comment) {\n var commentData, params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/edit_comment\";\n params = {\n id: activityId\n };\n commentData = {\n comment: comment\n };\n return $http.post(url, commentData, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.getCommentHistory = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/comment_versions\";\n params = {\n id: activityId\n };\n return $http.get(url, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.deleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/delete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.undeleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/undelete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.history = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgHistoryResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.get = function(token) {\n return $repo.queryOne(\"invitations\", token);\n };\n return function(instance) {\n return instance.invitations = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgInvitationsResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/issues.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage, $q) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"issues-queryparams\";\n service.get = function(projectId, issueId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"issues\", issueId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"issues\", \"by_ref\", params);\n };\n service.listInAllProjects = function(filters) {\n return $repo.queryMany(\"issues\", filters);\n };\n service.list = function(projectId, filters, options) {\n var params;\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryPaginated(\"issues\", params, options);\n };\n service.listInProject = function(projectId, sprintId, params) {\n if (sprintId == null) {\n sprintId = null;\n }\n params = _.merge(params, {\n project: projectId\n });\n if (sprintId) {\n params.milestone = sprintId;\n }\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"issues\", params);\n };\n service.bulkCreate = function(projectId, milestoneId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-issues\");\n params = {\n project_id: projectId,\n milestone_id: milestoneId,\n bulk_issues: data\n };\n return $http.post(url, params);\n };\n service.upvote = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-upvote\", issueId);\n return $http.post(url);\n };\n service.downvote = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-downvote\", issueId);\n return $http.post(url);\n };\n service.watch = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-watch\", issueId);\n return $http.post(url);\n };\n service.unwatch = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-unwatch\", issueId);\n return $http.post(url);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/issues_stats\");\n };\n service.filtersData = function(params) {\n return $repo.queryOneRaw(\"issues-filters\", null, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.createDefaultValues = function(projectId, type) {\n var data, url;\n data = {\n \"project_id\": projectId\n };\n url = $urls.resolve(type + \"-create-default\");\n return $http.post(url, data);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.issues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgIssuesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/kanban.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($storage) {\n var hashSuffixStatusColumnModes, hashSuffixStatusViewModes, service;\n service = {};\n hashSuffixStatusViewModes = \"kanban-statusviewmodels\";\n hashSuffixStatusColumnModes = \"kanban-statuscolumnmodels\";\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.kanban = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgKanbanResourcesProvider\", [\"$tgStorage\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/locales.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($repo) {\n var service;\n service = {\n list: function() {\n return $repo.queryMany(\"locales\");\n }\n };\n return function(instance) {\n return instance.locales = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgLocalesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/mdrender.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.render = function(projectId, content) {\n var params, url;\n if ((content == null) || content === \"\") {\n content = ' ';\n }\n params = {\n project_id: projectId,\n content: content\n };\n url = $urls.resolve(\"wiki\");\n return $http.post(url + \"/render\", params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.mdrender = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMdRenderResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"memberships\", id);\n };\n service.list = function(projectId, filters, enablePagination) {\n var options, params;\n if (enablePagination == null) {\n enablePagination = true;\n }\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n if (enablePagination) {\n return $repo.queryPaginated(\"memberships\", params);\n }\n return $repo.queryMany(\"memberships\", params, options = {\n enablePagination: enablePagination\n });\n };\n service.listByUser = function(userId, filters) {\n var params;\n params = {\n user: userId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryPaginated(\"memberships\", params);\n };\n service.resendInvitation = function(id) {\n var url;\n url = $urls.resolve(\"memberships\");\n return $http.post(url + \"/\" + id + \"/resend_invitation\", {});\n };\n service.bulkCreateMemberships = function(projectId, data, invitation_extra_text) {\n var params, url;\n url = $urls.resolve(\"bulk-create-memberships\");\n params = {\n project_id: projectId,\n bulk_memberships: data,\n invitation_extra_text: invitation_extra_text\n };\n return $http.post(url, params);\n };\n return function(instance) {\n return instance.memberships = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMembershipsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules.coffee\n */\n\n(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.list = function(projectId, module) {\n return $repo.queryOneAttribute(\"project-modules\", projectId, module);\n };\n return function(instance) {\n return instance.modules = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgModulesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"notify-policies\", id);\n };\n service.list = function(filters) {\n var params;\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"notify-policies\", params);\n };\n return function(instance) {\n return instance.notifyPolicies = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgNotifyPoliciesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $auth, $q, $translate) {\n var service;\n service = {};\n service.get = function(projectId) {\n return $repo.queryOne(\"projects\", projectId);\n };\n service.getBySlug = function(projectSlug) {\n return $repo.queryOne(\"projects\", \"by_slug?slug=\" + projectSlug);\n };\n service.list = function(filters) {\n var params;\n params = {\n \"order_by\": \"user_order\"\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"projects\", params);\n };\n service.listByMember = function(memberId) {\n var params;\n params = {\n \"member\": memberId,\n \"order_by\": \"user_order\"\n };\n return $repo.queryMany(\"projects\", params);\n };\n service.templates = function() {\n return $repo.queryMany(\"project-templates\");\n };\n service.usersList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"users\", params);\n };\n service.rolesList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"roles\", params);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/stats\");\n };\n service.bulkUpdateOrder = function(bulkData) {\n var url;\n url = $urls.resolve(\"bulk-update-projects-order\");\n return $http.post(url, bulkData);\n };\n service.regenerate_epics_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_epics_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_userstories_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_userstories_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_tasks_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_tasks_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_issues_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_issues_csv_uuid\";\n return $http.post(url);\n };\n service.leave = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/leave\";\n return $http.post(url);\n };\n service.memberStats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/member_stats\");\n };\n service.tagsColors = function(projectId) {\n return $repo.queryOne(\"projects\", projectId + \"/tags_colors\");\n };\n service.deleteTag = function(projectId, tag) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/delete_tag\";\n return $http.post(url, {\n tag: tag\n });\n };\n service.createTag = function(projectId, tag, color) {\n var data, url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/create_tag\";\n data = {};\n data.tag = tag;\n data.color = null;\n if (color) {\n data.color = color;\n }\n return $http.post(url, data);\n };\n service.editTag = function(projectId, from_tag, to_tag, color) {\n var data, url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/edit_tag\";\n data = {};\n data.from_tag = from_tag;\n if (to_tag) {\n data.to_tag = to_tag;\n }\n data.color = null;\n if (color) {\n data.color = color;\n }\n return $http.post(url, data);\n };\n service.mixTags = function(projectId, to_tag, from_tags) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/mix_tags\";\n return $http.post(url, {\n to_tag: to_tag,\n from_tags: from_tags\n });\n };\n service[\"export\"] = function(projectId) {\n var url;\n url = ($urls.resolve(\"exporter\")) + \"/\" + projectId;\n return $http.get(url);\n };\n service[\"import\"] = function(file, statusUpdater) {\n var complete, data, defered, errorMsg, failed, maxFileSize, response, uploadComplete, uploadFailed, uploadProgress, xhr;\n defered = $q.defer();\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_MAX_SIZE_EXCEEDED\", {\n fileName: file.name,\n fileSize: sizeFormat(file.size),\n maxFileSize: sizeFormat(maxFileSize)\n });\n response = {\n status: 413,\n data: {\n _error_message: errorMsg\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n var message, percent;\n percent = Math.round((evt.loaded / evt.total) * 100);\n message = $translate.instant(\"PROJECT.IMPORT.UPLOAD_IN_PROGRESS_MESSAGE\", {\n uploadedSize: sizeFormat(evt.loaded),\n totalSize: sizeFormat(evt.total)\n });\n return statusUpdater(\"in-progress\", null, message, percent);\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return statusUpdater(\"done\", $translate.instant(\"PROJECT.IMPORT.TITLE\"), $translate.instant(\"PROJECT.IMPORT.DESCRIPTION\"));\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return statusUpdater(\"error\");\n };\n })(this);\n complete = (function(_this) {\n return function(evt) {\n var ref;\n response = {};\n try {\n response.data = JSON.parse(evt.target.responseText);\n } catch (error) {\n response.data = {};\n }\n response.status = evt.target.status;\n if (evt.target.getResponseHeader('Taiga-Info-Project-Is-Private')) {\n response.headers = {\n isPrivate: evt.target.getResponseHeader('Taiga-Info-Project-Is-Private') === 'True',\n memberships: parseInt(evt.target.getResponseHeader('Taiga-Info-Project-Memberships'))\n };\n }\n if ((ref = response.status) === 201 || ref === 202) {\n defered.resolve(response);\n }\n return defered.reject(response);\n };\n })(this);\n failed = (function(_this) {\n return function(evt) {\n return defered.reject(\"fail\");\n };\n })(this);\n data = new FormData();\n data.append('dump', file);\n xhr = new XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", uploadProgress, false);\n xhr.upload.addEventListener(\"load\", uploadComplete, false);\n xhr.upload.addEventListener(\"error\", uploadFailed, false);\n xhr.upload.addEventListener(\"abort\", uploadFailed, false);\n xhr.addEventListener(\"load\", complete, false);\n xhr.addEventListener(\"error\", failed, false);\n xhr.open(\"POST\", $urls.resolve(\"importer\"));\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" + ($auth.getToken()));\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send(data);\n return defered.promise;\n };\n service.changeLogo = function(projectId, file) {\n var data, defered, maxFileSize, options, response, url;\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered = $q.defer();\n defered.reject(response);\n return defered.promise;\n }\n data = new FormData();\n data.append('logo', file);\n options = {\n transformRequest: angular.identity,\n headers: {\n 'Content-Type': void 0\n }\n };\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/change_logo\";\n return $http.post(url, data, {}, options);\n };\n service.removeLogo = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/remove_logo\";\n return $http.post(url);\n };\n return function(instance) {\n return instance.projects = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgProjectsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgAuth\", \"$q\", \"$translate\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"roles\", id);\n };\n service.list = function(projectId) {\n return $repo.queryMany(\"roles\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.roles = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgRolesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/search.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http, $q) {\n var service;\n service = {};\n service[\"do\"] = function(projectId, term) {\n var deferredAbort, params, request, url;\n deferredAbort = $q.defer();\n url = $urls.resolve(\"search\");\n params = {\n url: url,\n method: \"GET\",\n timeout: deferredAbort.promise,\n cancelable: true,\n params: {\n project: projectId,\n text: term,\n get_all: false\n }\n };\n request = $http.request(params).then(function(data) {\n return data.data;\n });\n request.abort = function() {\n return deferredAbort.resolve();\n };\n request[\"finally\"] = function() {\n request.abort = angular.noop;\n return deferredAbort = request = null;\n };\n return request;\n };\n return function(instance) {\n return instance.search = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSearchResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", \"$q\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/sprints.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $model, $storage) {\n var service;\n service = {};\n service.get = function(projectId, sprintId) {\n return $repo.queryOne(\"milestones\", sprintId).then(function(sprint) {\n var uses;\n uses = sprint.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n sprint._attrs.user_stories = uses;\n return sprint;\n });\n };\n service.stats = function(projectId, sprintId) {\n return $repo.queryOneRaw(\"milestones\", sprintId + \"/stats\");\n };\n service.list = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"milestones\", params, {}, true).then((function(_this) {\n return function(result) {\n var headers, i, len, m, milestones, uses;\n milestones = result[0];\n headers = result[1];\n for (i = 0, len = milestones.length; i < len; i++) {\n m = milestones[i];\n uses = m.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n m._attrs.user_stories = uses;\n }\n return {\n milestones: milestones,\n closed: parseInt(headers(\"Taiga-Info-Total-Closed-Milestones\"), 10),\n open: parseInt(headers(\"Taiga-Info-Total-Opened-Milestones\"), 10)\n };\n };\n })(this));\n };\n return function(instance) {\n return instance.sprints = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSprintsResourcesProvider\", [\"$tgRepo\", \"$tgModel\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/tasks.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, hashSuffixStatusColumnModes, hashSuffixUsRowModes, service;\n service = {};\n hashSuffix = \"tasks-queryparams\";\n hashSuffixStatusColumnModes = \"tasks-statuscolumnmodels\";\n hashSuffixUsRowModes = \"tasks-usrowmodels\";\n service.get = function(projectId, taskId, extraParams) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"tasks\", taskId, params);\n };\n service.getByRef = function(projectId, ref, extraParams) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"tasks\", \"by_ref\", params);\n };\n service.listInAllProjects = function(filters) {\n return $repo.queryMany(\"tasks\", filters);\n };\n service.filtersData = function(params) {\n return $repo.queryOneRaw(\"task-filters\", null, params);\n };\n service.list = function(projectId, sprintId, userStoryId, params) {\n if (sprintId == null) {\n sprintId = null;\n }\n if (userStoryId == null) {\n userStoryId = null;\n }\n params = _.merge(params, {\n project: projectId\n });\n if (sprintId) {\n params.milestone = sprintId;\n }\n if (userStoryId) {\n params.user_story = userStoryId;\n }\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"tasks\", params);\n };\n service.bulkCreate = function(projectId, sprintId, usId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-tasks\");\n params = {\n project_id: projectId,\n milestone_id: sprintId,\n us_id: usId,\n bulk_tasks: data\n };\n return $http.post(url, params).then(function(result) {\n return result.data;\n });\n };\n service.upvote = function(taskId) {\n var url;\n url = $urls.resolve(\"task-upvote\", taskId);\n return $http.post(url);\n };\n service.downvote = function(taskId) {\n var url;\n url = $urls.resolve(\"task-downvote\", taskId);\n return $http.post(url);\n };\n service.watch = function(taskId) {\n var url;\n url = $urls.resolve(\"task-watch\", taskId);\n return $http.post(url);\n };\n service.unwatch = function(taskId) {\n var url;\n url = $urls.resolve(\"task-unwatch\", taskId);\n return $http.post(url);\n };\n service.bulkUpdateTaskTaskboardOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-task-taskboard-order\");\n params = {\n project_id: projectId,\n bulk_tasks: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(type, params);\n };\n service.createDefaultValues = function(projectId, type) {\n var data, url;\n data = {\n \"project_id\": projectId\n };\n url = $urls.resolve(type + \"-create-default\");\n return $http.post(url, data);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeUsRowModes = function(projectId, sprintId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.set(hash, params);\n };\n service.getUsRowModes = function(projectId, sprintId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.tasks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgTasksResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $q) {\n var service;\n service = {};\n service.changeAvatar = function(file) {\n var data, defered, maxFileSize, options, response, url;\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered = $q.defer();\n defered.reject(response);\n return defered.promise;\n }\n data = new FormData();\n data.append('avatar', file);\n options = {\n transformRequest: angular.identity,\n headers: {\n 'Content-Type': void 0\n }\n };\n url = ($urls.resolve(\"users\")) + \"/change_avatar\";\n return $http.post(url, data, {}, options);\n };\n service.removeAvatar = function() {\n var url;\n url = ($urls.resolve(\"users\")) + \"/remove_avatar\";\n return $http.post(url);\n };\n service.changePassword = function(currentPassword, newPassword) {\n var data, url;\n url = ($urls.resolve(\"users\")) + \"/change_password\";\n data = {\n current_password: currentPassword,\n password: newPassword\n };\n return $http.post(url, data);\n };\n return function(instance) {\n return instance.userSettings = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserSettingsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$q\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/user.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($http, $urls) {\n var service;\n service = {};\n service.contacts = function(userId, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = $urls.resolve(\"user-contacts\", userId);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return $http.get(url, {}, httpOptions).then(function(result) {\n return result.data;\n });\n };\n return function(instance) {\n return instance.users = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUsersResourcesProvider\", [\"$tgHttp\", \"$tgUrls\", \"$q\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/userstories.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage, $q) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"userstories-queryparams\";\n service.get = function(projectId, usId, extraParams) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"userstories\", usId, params);\n };\n service.getByRef = function(projectId, ref, extraParams) {\n var params;\n if (extraParams == null) {\n extraParams = {};\n }\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"userstories\", \"by_ref\", params);\n };\n service.listInAllProjects = function(filters) {\n return $repo.queryMany(\"userstories\", filters);\n };\n service.filtersData = function(params) {\n return $repo.queryOneRaw(\"userstories-filters\", null, params);\n };\n service.listUnassigned = function(projectId, filters, pageSize) {\n var params;\n params = {\n \"project\": projectId,\n \"milestone\": \"null\"\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", _.extend(params, {\n page_size: pageSize\n }), {\n enablePagination: true\n }, true);\n };\n service.listAll = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", params);\n };\n service.bulkCreate = function(projectId, status, bulk) {\n var data, url;\n data = {\n project_id: projectId,\n status_id: status,\n bulk_stories: bulk\n };\n url = $urls.resolve(\"bulk-create-us\");\n return $http.post(url, data);\n };\n service.upvote = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-upvote\", userStoryId);\n return $http.post(url);\n };\n service.downvote = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-downvote\", userStoryId);\n return $http.post(url);\n };\n service.watch = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-watch\", userStoryId);\n return $http.post(url);\n };\n service.unwatch = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-unwatch\", userStoryId);\n return $http.post(url);\n };\n service.bulkUpdateBacklogOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-backlog-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateMilestone = function(projectId, milestoneId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-milestone\");\n params = {\n project_id: projectId,\n milestone_id: milestoneId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateKanbanOrder = function(projectId, statusId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-kanban-order\");\n params = {\n project_id: projectId,\n status_id: statusId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.createDefaultValues = function(projectId, type) {\n var data, url;\n data = {\n \"project_id\": projectId\n };\n url = $urls.resolve(type + \"-create-default\");\n return $http.post(url, data);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeShowTags = function(projectId, showTags) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.set(hash, showTags);\n };\n service.getShowTags = function(projectId) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.get(hash) || null;\n };\n return function(instance) {\n return instance.userstories = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserstoriesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: webhooklogs.coffee\n */\n\n(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(webhookId) {\n var params;\n params = {\n webhook: webhookId\n };\n return $repo.queryMany(\"webhooklogs\", params);\n };\n service.resend = function(webhooklogId) {\n var url;\n url = $urls.resolve(\"webhooklogs-resend\", webhooklogId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooklogs = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhookLogsResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: webhooks.coffee\n */\n\n(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(projectId) {\n var params;\n params = {\n project: projectId\n };\n return $repo.queryMany(\"webhooks\", params);\n };\n service.test = function(webhookId) {\n var url;\n url = $urls.resolve(\"webhooks-test\", webhookId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhooksResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/wikis.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(wikiId) {\n return $repo.queryOne(\"wiki\", wikiId);\n };\n service.getBySlug = function(projectId, slug) {\n return $repo.queryOne(\"wiki\", \"by_slug?project=\" + projectId + \"&slug=\" + slug);\n };\n service.list = function(projectId) {\n return $repo.queryMany(\"wiki\", {\n project: projectId\n });\n };\n service.listLinks = function(projectId) {\n return $repo.queryMany(\"wiki-links\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.wiki = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWikiResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/user-settings/main.coffee\n */\n\n(function() {\n var UserChangePasswordController, UserChangePasswordDirective, debounce, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserChangePasswordController = (function(superClass) {\n extend(UserChangePasswordController, superClass);\n\n UserChangePasswordController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"$translate\"];\n\n function UserChangePasswordController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth, translate) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.translate = translate;\n this.scope.sectionName = this.translate.instant(\"CHANGE_PASSWORD.SECTION_NAME\");\n this.scope.user = this.auth.getUser();\n }\n\n return UserChangePasswordController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserChangePasswordController\", UserChangePasswordController);\n\n UserChangePasswordDirective = function($rs, $confirm, $loading, $translate) {\n var link;\n link = function($scope, $el, $attrs, ctrl) {\n var form, submit, submitButton;\n form = new checksley.Form($el.find(\"form\"));\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n if ($scope.newPassword1 !== $scope.newPassword2) {\n $confirm.notify('error', $translate.instant(\"CHANGE_PASSWORD.ERROR_PASSWORD_MATCH\"));\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $rs.userSettings.changePassword($scope.currentPassword, $scope.newPassword1);\n promise.then(function() {\n currentLoading.finish();\n return $confirm.notify('success');\n });\n return promise.then(null, function(response) {\n currentLoading.finish();\n return $confirm.notify('error', response.data._error_message);\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserChangePassword\", [\"$tgResources\", \"$tgConfirm\", \"$tgLoading\", \"$translate\", UserChangePasswordDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/issues/lightboxes.coffee\n */\n\n(function() {\n var DeleteUserDirective, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaUserSettings\");\n\n DeleteUserDirective = function($repo, $rootscope, $auth, $location, $navUrls, lightboxService, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit, submitButton;\n $scope.$on(\"deletelightbox:new\", function(ctx, user) {\n return lightboxService.open($el);\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n submit = function() {\n var currentLoading, promise;\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.remove($scope.user);\n promise.then(function(data) {\n currentLoading.finish();\n lightboxService.close($el);\n $auth.logout();\n return $location.path($navUrls.resolve(\"login\"));\n });\n return promise.then(null, function() {\n currentLoading.finish();\n return console.log(\"FAIL\");\n });\n };\n $el.on(\"click\", \".button-green\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n $el.on(\"click\", \".button-red\", debounce(2000, function(event) {\n event.preventDefault();\n return submit();\n }));\n return submitButton = $el.find(\".button-red\");\n };\n return {\n link: link,\n templateUrl: \"user/lightbox/lightbox-delete-account.html\"\n };\n };\n\n module.directive(\"tgLbDeleteUser\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\", \"lightboxService\", \"$tgLoading\", DeleteUserDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/user-settings/live-notifications.coffee\n */\n\n(function() {\n var UserLiveNotificationsController, UserLiveNotificationsDirective, UserLiveNotificationsListDirective, bindOnce, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserLiveNotificationsController = (function(superClass) {\n extend(UserLiveNotificationsController, superClass);\n\n UserLiveNotificationsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"tgErrorHandlingService\"];\n\n function UserLiveNotificationsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth, errorHandlingService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.errorHandlingService = errorHandlingService;\n this.scope.sectionName = \"USER_SETTINGS.NOTIFICATIONS.LIVE_SECTION_NAME\";\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserLiveNotificationsController.prototype.loadInitialData = function() {\n return this.rs.notifyPolicies.list().then((function(_this) {\n return function(notifyPolicies) {\n _this.scope.notifyPolicies = notifyPolicies;\n return notifyPolicies;\n };\n })(this));\n };\n\n return UserLiveNotificationsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserLiveNotificationsController\", UserLiveNotificationsController);\n\n UserLiveNotificationsDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserLiveNotifications\", UserLiveNotificationsDirective);\n\n UserLiveNotificationsListDirective = function($repo, $confirm, $compile) {\n var link, template;\n template = _.template(\"<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\\n
    \\\">\\n
    <%- notifyPolicy.project_name %>
    \\n
    \\n
    \\n \\\" id=\\\"policy-all-<%- notifyPolicy.id %>\\\"\\n value=\\\"2\\\" <% if (notifyPolicy.live_notify_level == 2) { %>checked=\\\"checked\\\"<% } %>/>\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-involved-<%- notifyPolicy.id %>\\\"\\n value=\\\"1\\\" <% if (notifyPolicy.live_notify_level == 1) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-none-<%- notifyPolicy.id %>\\\"\\n value=\\\"3\\\" <% if (notifyPolicy.live_notify_level == 3) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n<% }) %>\");\n link = function($scope, $el, $attrs) {\n var render;\n render = function() {\n var ctx, html;\n $el.off();\n ctx = {\n notifyPolicies: $scope.notifyPolicies\n };\n html = template(ctx);\n $el.html($compile(html)($scope));\n return $el.on(\"change\", \"input[type=radio]\", function(event) {\n var onError, onSuccess, policy, policyIndex, prev_level, target;\n target = angular.element(event.currentTarget);\n policyIndex = target.parents(\".policy-table-row\").data('index');\n policy = $scope.notifyPolicies[policyIndex];\n prev_level = policy.live_notify_level;\n policy.live_notify_level = parseInt(target.val(), 10);\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n return target.parents(\".policy-table-row\").find(\"input[value=\" + prev_level + \"]\").prop(\"checked\", true);\n };\n return $repo.save(policy).then(onSuccess, onError);\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return bindOnce($scope, $attrs.ngModel, render);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserLiveNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", \"$compile\", UserLiveNotificationsListDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/user-settings/main.coffee\n */\n\n(function() {\n var TaigaAvatarModelDirective, UserAvatarDirective, UserProfileDirective, UserSettingsController, debounce, mixOf, module, sizeFormat, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n sizeFormat = this.taiga.sizeFormat;\n\n module = angular.module(\"taigaUserSettings\");\n\n debounce = this.taiga.debounce;\n\n UserSettingsController = (function(superClass) {\n extend(UserSettingsController, superClass);\n\n UserSettingsController.$inject = [\"$scope\", \"$rootScope\", \"$tgConfig\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"$translate\", \"tgErrorHandlingService\", \"$window\"];\n\n function UserSettingsController(scope, rootscope, config, repo, confirm, rs, params, q, location, navUrls, auth, translate, errorHandlingService, window) {\n var maxFileSize, promise, text;\n this.scope = scope;\n this.rootscope = rootscope;\n this.config = config;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.window = window;\n this.scope.sectionName = \"USER_SETTINGS.MENU.SECTION_TITLE\";\n this.scope.project = {};\n this.scope.user = this.auth.getUser();\n if (!this.scope.user) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.lang = this.getLan();\n this.scope.theme = this.getTheme();\n maxFileSize = this.config.get(\"maxUploadFileSize\", null);\n if (maxFileSize) {\n text = this.translate.instant(\"USER_SETTINGS.AVATAR_MAX_SIZE\", {\n \"maxFileSize\": sizeFormat(maxFileSize)\n });\n this.scope.maxFileSizeMsg = text;\n }\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserSettingsController.prototype.loadInitialData = function() {\n this.scope.availableThemes = this.config.get(\"themes\", []);\n return this.rs.locales.list().then((function(_this) {\n return function(locales) {\n _this.scope.locales = locales;\n return locales;\n };\n })(this));\n };\n\n UserSettingsController.prototype.openDeleteLightbox = function() {\n return this.rootscope.$broadcast(\"deletelightbox:new\", this.scope.user);\n };\n\n UserSettingsController.prototype.getLan = function() {\n return this.scope.user.lang || this.translate.preferredLanguage();\n };\n\n UserSettingsController.prototype.getTheme = function() {\n return this.scope.user.theme || this.config.get(\"defaultTheme\") || \"taiga\";\n };\n\n UserSettingsController.prototype.exportProfile = function() {\n var onError, onSuccess;\n onSuccess = function(result) {\n var dumpUrl;\n dumpUrl = result.data.url;\n return this.window.open(dumpUrl, \"_blank\");\n };\n onError = (function(_this) {\n return function(response) {\n var ref;\n if ((ref = response.data) != null ? ref._error_message : void 0) {\n return _this.confirm.notify(\"error\", response.data._error_message);\n }\n };\n })(this);\n return this.auth.exportProfile().then(onSuccess, onError);\n };\n\n return UserSettingsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserSettingsController\", UserSettingsController);\n\n UserProfileDirective = function($confirm, $auth, $repo, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit;\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var changeEmail, form, onError, onSuccess;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n changeEmail = $scope.user.isAttributeModified(\"email\");\n $scope.user.lang = $scope.lang;\n $scope.user.theme = $scope.theme;\n onSuccess = function(data) {\n var text;\n $auth.setUser(data);\n if (changeEmail) {\n text = $translate.instant(\"USER_PROFILE.CHANGE_EMAIL_SUCCESS\");\n return $confirm.success(text);\n } else {\n return $confirm.notify('success');\n }\n };\n onError = function(data) {\n form.setErrors(data);\n return $confirm.notify('error', data._error_message);\n };\n return $repo.save($scope.user).then(onSuccess, onError);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserProfile\", [\"$tgConfirm\", \"$tgAuth\", \"$tgRepo\", \"$translate\", UserProfileDirective]);\n\n UserAvatarDirective = function($auth, $model, $rs, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var onError, onSuccess, showSizeInfo;\n showSizeInfo = function() {\n return $el.find(\".size-info\").removeClass(\"hidden\");\n };\n onSuccess = function(response) {\n var user;\n user = $model.make_model(\"users\", response.data);\n $auth.setUser(user);\n $scope.user = user;\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('success');\n };\n onError = function(response) {\n if (response.status === 413) {\n showSizeInfo();\n }\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('error', response.data._error_message);\n };\n $el.on(\"click\", \".js-change-avatar\", function() {\n return $el.find(\"#avatar-field\").click();\n });\n $el.on(\"change\", \"#avatar-field\", function(event) {\n if ($scope.avatarAttachment) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.userSettings.changeAvatar($scope.avatarAttachment).then(onSuccess, onError);\n }\n });\n $el.on(\"click\", \"a.js-use-gravatar\", function(event) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.userSettings.removeAvatar().then(onSuccess, onError);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserAvatar\", [\"$tgAuth\", \"$tgModel\", \"$tgResources\", \"$tgConfirm\", UserAvatarDirective]);\n\n TaigaAvatarModelDirective = function($parse) {\n var link;\n link = function($scope, $el, $attrs) {\n var model, modelSetter;\n model = $parse($attrs.tgAvatarModel);\n modelSetter = model.assign;\n return $el.bind('change', function() {\n return $scope.$apply(function() {\n return modelSetter($scope, $el[0].files[0]);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive('tgAvatarModel', ['$parse', TaigaAvatarModelDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/user-settings/nav.coffee\n */\n\n(function() {\n var UserSettingsNavigationDirective, module;\n\n UserSettingsNavigationDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var section;\n section = $attrs.tgUserSettingsNavigation;\n $el.find(\".active\").removeClass(\"active\");\n $el.find(\"#usersettingsmenu-\" + section + \" a\").addClass(\"active\");\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaUserSettings\");\n\n module.directive(\"tgUserSettingsNavigation\", UserSettingsNavigationDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/user-settings/notifications.coffee\n */\n\n(function() {\n var UserNotificationsController, UserNotificationsDirective, UserNotificationsListDirective, bindOnce, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserNotificationsController = (function(superClass) {\n extend(UserNotificationsController, superClass);\n\n UserNotificationsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"tgErrorHandlingService\"];\n\n function UserNotificationsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth, errorHandlingService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.errorHandlingService = errorHandlingService;\n this.scope.sectionName = \"USER_SETTINGS.NOTIFICATIONS.SECTION_NAME\";\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserNotificationsController.prototype.loadInitialData = function() {\n return this.rs.notifyPolicies.list().then((function(_this) {\n return function(notifyPolicies) {\n _this.scope.notifyPolicies = notifyPolicies;\n return notifyPolicies;\n };\n })(this));\n };\n\n return UserNotificationsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserNotificationsController\", UserNotificationsController);\n\n UserNotificationsDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotifications\", UserNotificationsDirective);\n\n UserNotificationsListDirective = function($repo, $confirm, $compile) {\n var link, template;\n template = _.template(\"<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\\n
    \\\">\\n
    <%- notifyPolicy.project_name %>
    \\n
    \\n
    \\n \\\" id=\\\"policy-all-<%- notifyPolicy.id %>\\\"\\n value=\\\"2\\\" <% if (notifyPolicy.notify_level == 2) { %>checked=\\\"checked\\\"<% } %>/>\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-involved-<%- notifyPolicy.id %>\\\"\\n value=\\\"1\\\" <% if (notifyPolicy.notify_level == 1) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-none-<%- notifyPolicy.id %>\\\"\\n value=\\\"3\\\" <% if (notifyPolicy.notify_level == 3) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n<% }) %>\");\n link = function($scope, $el, $attrs) {\n var render;\n render = function() {\n var ctx, html;\n $el.off();\n ctx = {\n notifyPolicies: $scope.notifyPolicies\n };\n html = template(ctx);\n $el.html($compile(html)($scope));\n return $el.on(\"change\", \"input[type=radio]\", function(event) {\n var onError, onSuccess, policy, policyIndex, prev_level, target;\n target = angular.element(event.currentTarget);\n policyIndex = target.parents(\".policy-table-row\").data('index');\n policy = $scope.notifyPolicies[policyIndex];\n prev_level = policy.notify_level;\n policy.notify_level = parseInt(target.val(), 10);\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n return target.parents(\".policy-table-row\").find(\"input[value=\" + prev_level + \"]\").prop(\"checked\", true);\n };\n return $repo.save(policy).then(onSuccess, onError);\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return bindOnce($scope, $attrs.ngModel, render);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", \"$compile\", UserNotificationsListDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: components.module.coffee\n */\n\n(function() {\n angular.module(\"taigaComponents\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaDiscover\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: external-apps.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaExternalApps\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.module.coffee\n */\n\n(function() {\n angular.module(\"taigaHistory\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: home.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaHome\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: navigation-bar.module.coffee\n */\n\n(function() {\n angular.module(\"taigaNavigationBar\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaProfile\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: projects.module.coffee\n */\n\n(function() {\n angular.module(\"taigaProjects\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: resources.module.coffee\n */\n\n(function() {\n angular.module(\"taigaResources2\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline.module.coffee\n */\n\n(function() {\n angular.module(\"taigaUserTimeline\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: utils.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaUtils\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: wiki-history.module.coffee\n */\n\n(function() {\n angular.module(\"taigaWikiHistory\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: assigned-to-selector.directive.coffee\n */\n\n(function() {\n var AssignedItemDirective;\n\n AssignedItemDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n templateUrl: \"components/assigned-to/assigned-item/assigned-item.html\",\n scope: {\n member: \"=\"\n },\n link: link\n };\n };\n\n AssignedItemDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAssignedItem\", AssignedItemDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: assigned-to-selector.controller.coffee\n */\n\n(function() {\n var AssignedToSelectorController;\n\n AssignedToSelectorController = (function() {\n AssignedToSelectorController.$inject = [];\n\n function AssignedToSelectorController() {\n if (this.assigned) {\n this._getAssignedMember();\n }\n this._filterAssignedMember();\n }\n\n AssignedToSelectorController.prototype._getAssignedMember = function() {\n return this.assignedMember = _.filter(this.project.members, (function(_this) {\n return function(member) {\n return member.id === _this.assigned.get('id');\n };\n })(this));\n };\n\n AssignedToSelectorController.prototype._filterAssignedMember = function() {\n if (this.assigned) {\n return this.nonAssignedMembers = _.filter(this.project.members, (function(_this) {\n return function(member) {\n return member.id !== _this.assigned.get('id');\n };\n })(this));\n } else {\n return this.nonAssignedMembers = this.project.members;\n }\n };\n\n return AssignedToSelectorController;\n\n })();\n\n angular.module('taigaComponents').controller('AssignedToSelectorCtrl', AssignedToSelectorController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: assigned-to-selector.directive.coffee\n */\n\n(function() {\n var AssignedToSelectorDirective;\n\n AssignedToSelectorDirective = function() {\n return {\n controller: \"AssignedToSelectorCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"components/assigned-to/assigned-to-selector/assigned-to-selector.html\",\n scope: {\n assigned: \"=\",\n project: \"=\",\n onRemoveAssigned: \"&\",\n onAssignTo: \"&\"\n }\n };\n };\n\n AssignedToSelectorDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAssignedToSelector\", AssignedToSelectorDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: assigned-to.controller.coffee\n */\n\n(function() {\n var AssignedToController;\n\n AssignedToController = (function() {\n AssignedToController.$inject = [\"tgLightboxFactory\", \"lightboxService\"];\n\n function AssignedToController(lightboxFactory, lightboxService) {\n this.lightboxFactory = lightboxFactory;\n this.lightboxService = lightboxService;\n this.has_permissions = _.includes(this.project.my_permissions, 'modify_epic');\n }\n\n AssignedToController.prototype._closeAndRemoveAssigned = function() {\n this.lightboxService.closeAll();\n return this.onRemoveAssigned();\n };\n\n AssignedToController.prototype._closeAndAssign = function(member) {\n this.lightboxService.closeAll();\n return this.onAssignTo({\n 'member': member\n });\n };\n\n AssignedToController.prototype.onSelectAssignedTo = function(assigned, project) {\n return this.lightboxFactory.create('tg-assigned-to-selector', {\n \"class\": \"lightbox lightbox-assigned-to-selector open\",\n \"assigned\": \"assigned\",\n \"project\": \"project\",\n \"on-remove-assigned\": \"onRemoveAssigned()\",\n \"on-assign-to\": \"assignTo(member)\"\n }, {\n \"assigned\": this.assignedTo,\n \"project\": this.project,\n \"onRemoveAssigned\": this._closeAndRemoveAssigned.bind(this),\n \"assignTo\": this._closeAndAssign.bind(this)\n });\n };\n\n return AssignedToController;\n\n })();\n\n angular.module('taigaComponents').controller('AssignedToCtrl', AssignedToController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: assigned-to.directive.coffee\n */\n\n(function() {\n var AssignedToDirective;\n\n AssignedToDirective = function() {\n return {\n controller: \"AssignedToCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"components/assigned-to/assigned-to.html\",\n scope: {\n assignedTo: \"=\",\n project: \"=\",\n onRemoveAssigned: \"&\",\n onAssignTo: \"&\"\n }\n };\n };\n\n AssignedToDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAssignedToComponent\", AssignedToDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachment-link.directive.coffee\n */\n\n(function() {\n var AttachmentLinkDirective;\n\n AttachmentLinkDirective = function($parse, attachmentsPreviewService, lightboxService) {\n var link;\n link = function(scope, el, attrs) {\n var attachment;\n attachment = $parse(attrs.tgAttachmentLink)(scope);\n el.on(\"click\", function(event) {\n if (taiga.isImage(attachment.getIn(['file', 'name']))) {\n event.preventDefault();\n return scope.$apply(function() {\n lightboxService.open($('tg-attachments-preview'));\n return attachmentsPreviewService.fileId = attachment.getIn(['file', 'id']);\n });\n } else if (taiga.isPdf(attachment.getIn(['file', 'name']))) {\n event.preventDefault();\n return window.open(attachment.getIn(['file', 'url']));\n }\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n };\n return {\n link: link\n };\n };\n\n AttachmentLinkDirective.$inject = [\"$parse\", \"tgAttachmentsPreviewService\", \"lightboxService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentLink\", AttachmentLinkDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachment-gallery.directive.coffee\n */\n\n(function() {\n var AttachmentGalleryDirective;\n\n AttachmentGalleryDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n scope: {},\n bindToController: {\n attachment: \"=\",\n onDelete: \"&\",\n onUpdate: \"&\",\n type: \"=\"\n },\n controller: \"Attachment\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachment/attachment-gallery.html\",\n link: link\n };\n };\n\n AttachmentGalleryDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentGallery\", AttachmentGalleryDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attchment.controller.coffee\n */\n\n(function() {\n var AttachmentController;\n\n AttachmentController = (function() {\n AttachmentController.$inject = ['tgAttachmentsService', '$translate'];\n\n function AttachmentController(attachmentsService, translate) {\n this.attachmentsService = attachmentsService;\n this.translate = translate;\n this.form = {};\n this.form.description = this.attachment.getIn(['file', 'description']);\n this.form.is_deprecated = this.attachment.get(['file', 'is_deprecated']);\n this.title = this.translate.instant(\"ATTACHMENT.TITLE\", {\n fileName: this.attachment.get('name'),\n date: moment(this.attachment.get('created_date')).format(this.translate.instant(\"ATTACHMENT.DATE\"))\n });\n }\n\n AttachmentController.prototype.editMode = function(mode) {\n var attachment;\n attachment = this.attachment.set('editable', mode);\n return this.onUpdate({\n attachment: attachment\n });\n };\n\n AttachmentController.prototype[\"delete\"] = function() {\n return this.onDelete({\n attachment: this.attachment\n });\n };\n\n AttachmentController.prototype.save = function() {\n var attachment;\n attachment = this.attachment.set('loading', true);\n this.onUpdate({\n attachment: attachment\n });\n attachment = this.attachment.merge({\n editable: false,\n loading: false\n });\n attachment = attachment.mergeIn(['file'], {\n description: this.form.description,\n is_deprecated: !!this.form.is_deprecated\n });\n return this.onUpdate({\n attachment: attachment\n });\n };\n\n return AttachmentController;\n\n })();\n\n angular.module('taigaComponents').controller('Attachment', AttachmentController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachment.directive.coffee\n */\n\n(function() {\n var AttachmentDirective;\n\n AttachmentDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n scope: {},\n bindToController: {\n attachment: \"=\",\n onDelete: \"&\",\n onUpdate: \"&\",\n type: \"=\"\n },\n controller: \"Attachment\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachment/attachment.html\",\n link: link\n };\n };\n\n AttachmentDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachment\", AttachmentDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachments-drop.directive.coffee\n */\n\n(function() {\n var AttachmentsDropDirective;\n\n AttachmentsDropDirective = function($parse) {\n var link;\n link = function(scope, el, attrs) {\n var eventAttr;\n eventAttr = $parse(attrs.tgAttachmentsDrop);\n el.on('dragover', function(e) {\n e.preventDefault();\n return false;\n });\n el.on('drop', function(e) {\n var dataTransfer;\n e.stopPropagation();\n e.preventDefault();\n dataTransfer = e.dataTransfer || (e.originalEvent && e.originalEvent.dataTransfer);\n return scope.$apply(function() {\n return eventAttr(scope, {\n files: dataTransfer.files\n });\n });\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n };\n return {\n link: link\n };\n };\n\n AttachmentsDropDirective.$inject = [\"$parse\"];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsDrop\", AttachmentsDropDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attchments-full.controller.coffee\n */\n\n(function() {\n var AttachmentsFullController, sizeFormat;\n\n sizeFormat = this.taiga.sizeFormat;\n\n AttachmentsFullController = (function() {\n AttachmentsFullController.$inject = [\"$translate\", \"$tgConfirm\", \"$tgConfig\", \"$tgStorage\", \"tgAttachmentsFullService\", \"tgProjectService\", \"tgAttachmentsPreviewService\"];\n\n function AttachmentsFullController(translate, confirm, config, storage, attachmentsFullService, projectService, attachmentsPreviewService) {\n this.translate = translate;\n this.confirm = confirm;\n this.config = config;\n this.storage = storage;\n this.attachmentsFullService = attachmentsFullService;\n this.projectService = projectService;\n this.attachmentsPreviewService = attachmentsPreviewService;\n this.mode = this.storage.get('attachment-mode', 'list');\n this.maxFileSize = this.config.get(\"maxUploadFileSize\", null);\n if (this.maxFileSize) {\n this.maxFileSize = sizeFormat(this.maxFileSize);\n }\n this.maxFileSizeMsg = this.maxFileSize ? this.translate.instant(\"ATTACHMENT.MAX_UPLOAD_SIZE\", {\n maxFileSize: this.maxFileSize\n }) : \"\";\n taiga.defineImmutableProperty(this, 'attachments', (function(_this) {\n return function() {\n return _this.attachmentsFullService.attachments;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsCount', (function(_this) {\n return function() {\n return _this.attachmentsFullService.deprecatedsCount;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'attachmentsVisible', (function(_this) {\n return function() {\n return _this.attachmentsFullService.attachmentsVisible;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsVisible', (function(_this) {\n return function() {\n return _this.attachmentsFullService.deprecatedsVisible;\n };\n })(this));\n }\n\n AttachmentsFullController.prototype.uploadingAttachments = function() {\n return this.attachmentsFullService.uploadingAttachments;\n };\n\n AttachmentsFullController.prototype.addAttachment = function(file) {\n var editable;\n editable = this.mode === 'list';\n return this.attachmentsFullService.addAttachment(this.projectId, this.objId, this.type, file, editable);\n };\n\n AttachmentsFullController.prototype.setMode = function(mode) {\n this.mode = mode;\n return this.storage.set('attachment-mode', mode);\n };\n\n AttachmentsFullController.prototype.toggleDeprecatedsVisible = function() {\n return this.attachmentsFullService.toggleDeprecatedsVisible();\n };\n\n AttachmentsFullController.prototype.addAttachments = function(files) {\n return _.forEach(files, (function(_this) {\n return function(file) {\n return _this.addAttachment(file);\n };\n })(this));\n };\n\n AttachmentsFullController.prototype.loadAttachments = function() {\n return this.attachmentsFullService.loadAttachments(this.type, this.objId, this.projectId);\n };\n\n AttachmentsFullController.prototype.deleteAttachment = function(toDeleteAttachment) {\n var message, title;\n this.attachmentsPreviewService.fileId = null;\n title = this.translate.instant(\"ATTACHMENT.TITLE_LIGHTBOX_DELETE_ATTACHMENT\");\n message = this.translate.instant(\"ATTACHMENT.MSG_LIGHTBOX_DELETE_ATTACHMENT\", {\n fileName: toDeleteAttachment.getIn(['file', 'name'])\n });\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSuccess;\n onError = function() {\n message = _this.translate.instant(\"ATTACHMENT.ERROR_DELETE_ATTACHMENT\", {\n errorMessage: message\n });\n _this.confirm.notify(\"error\", null, message);\n return askResponse.finish(false);\n };\n onSuccess = function() {\n return askResponse.finish();\n };\n return _this.attachmentsFullService.deleteAttachment(toDeleteAttachment, _this.type).then(onSuccess, onError);\n };\n })(this));\n };\n\n AttachmentsFullController.prototype.reorderAttachment = function(attachment, newIndex) {\n return this.attachmentsFullService.reorderAttachment(this.type, attachment, newIndex);\n };\n\n AttachmentsFullController.prototype.updateAttachment = function(toUpdateAttachment) {\n return this.attachmentsFullService.updateAttachment(toUpdateAttachment, this.type);\n };\n\n AttachmentsFullController.prototype._isEditable = function() {\n if (this.projectService.project) {\n return this.projectService.hasPermission(this.editPermission);\n }\n return false;\n };\n\n AttachmentsFullController.prototype.showAttachments = function() {\n return this._isEditable() || this.attachmentsFullService.attachments.size;\n };\n\n return AttachmentsFullController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"AttachmentsFull\", AttachmentsFullController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attchments-full.directive.coffee\n */\n\n(function() {\n var AttachmentsFullDirective, bindOnce;\n\n bindOnce = this.taiga.bindOnce;\n\n AttachmentsFullDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return bindOnce(scope, 'vm.objId', function(value) {\n return ctrl.loadAttachments();\n });\n };\n return {\n scope: {},\n bindToController: {\n type: \"@\",\n objId: \"=\",\n projectId: \"=\",\n editPermission: \"@\"\n },\n controller: \"AttachmentsFull\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachments-full/attachments-full.html\",\n link: link\n };\n };\n\n AttachmentsFullDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsFull\", AttachmentsFullDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachments-full.service.coffee\n */\n\n(function() {\n var AttachmentsFullService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n AttachmentsFullService = (function(superClass) {\n extend(AttachmentsFullService, superClass);\n\n AttachmentsFullService.$inject = [\"tgAttachmentsService\", \"$rootScope\"];\n\n function AttachmentsFullService(attachmentsService, rootScope) {\n this.attachmentsService = attachmentsService;\n this.rootScope = rootScope;\n this._attachments = Immutable.List();\n this._deprecatedsCount = 0;\n this._attachmentsVisible = Immutable.List();\n this._deprecatedsVisible = false;\n this.uploadingAttachments = [];\n taiga.defineImmutableProperty(this, 'attachments', (function(_this) {\n return function() {\n return _this._attachments;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsCount', (function(_this) {\n return function() {\n return _this._deprecatedsCount;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'attachmentsVisible', (function(_this) {\n return function() {\n return _this._attachmentsVisible;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsVisible', (function(_this) {\n return function() {\n return _this._deprecatedsVisible;\n };\n })(this));\n }\n\n AttachmentsFullService.prototype.toggleDeprecatedsVisible = function() {\n this._deprecatedsVisible = !this._deprecatedsVisible;\n return this.regenerate();\n };\n\n AttachmentsFullService.prototype.regenerate = function() {\n this._deprecatedsCount = this._attachments.count(function(it) {\n return it.getIn(['file', 'is_deprecated']);\n });\n if (this._deprecatedsVisible) {\n return this._attachmentsVisible = this._attachments;\n } else {\n return this._attachmentsVisible = this._attachments.filter(function(it) {\n return !it.getIn(['file', 'is_deprecated']);\n });\n }\n };\n\n AttachmentsFullService.prototype.addAttachment = function(projectId, objId, type, file, editable, comment) {\n if (editable == null) {\n editable = true;\n }\n if (comment == null) {\n comment = false;\n }\n return new Promise((function(_this) {\n return function(resolve, reject) {\n var promise;\n if (_this.attachmentsService.validate(file)) {\n _this.uploadingAttachments.push(file);\n promise = _this.attachmentsService.upload(file, objId, projectId, type, comment);\n return promise.then(function(file) {\n var attachment;\n _this.uploadingAttachments = _this.uploadingAttachments.filter(function(uploading) {\n return uploading.name !== file.get('name');\n });\n attachment = Immutable.Map();\n attachment = attachment.merge({\n file: file,\n editable: editable,\n loading: false,\n from_comment: comment\n });\n _this._attachments = _this._attachments.push(attachment);\n _this.regenerate();\n _this.rootScope.$broadcast(\"attachment:create\");\n return resolve(attachment);\n });\n } else {\n return reject(new Error(file));\n }\n };\n })(this));\n };\n\n AttachmentsFullService.prototype.loadAttachments = function(type, objId, projectId) {\n return this.attachmentsService.list(type, objId, projectId).then((function(_this) {\n return function(files) {\n _this._attachments = files.map(function(file) {\n var attachment;\n attachment = Immutable.Map();\n return attachment.merge({\n loading: false,\n editable: false,\n file: file\n });\n });\n return _this.regenerate();\n };\n })(this));\n };\n\n AttachmentsFullService.prototype.deleteAttachment = function(toDeleteAttachment, type) {\n var onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this._attachments = _this._attachments.filter(function(attachment) {\n return attachment !== toDeleteAttachment;\n });\n return _this.regenerate();\n };\n })(this);\n return this.attachmentsService[\"delete\"](type, toDeleteAttachment.getIn(['file', 'id'])).then(onSuccess);\n };\n\n AttachmentsFullService.prototype.reorderAttachment = function(type, attachment, newIndex) {\n var attachments, oldIndex, promises;\n oldIndex = this.attachments.findIndex(function(it) {\n return it === attachment;\n });\n if (oldIndex === newIndex) {\n return;\n }\n attachments = this.attachments.remove(oldIndex);\n attachments = attachments.splice(newIndex, 0, attachment);\n attachments = attachments.map(function(x, i) {\n return x.setIn(['file', 'order'], i + 1);\n });\n promises = [];\n attachments.forEach((function(_this) {\n return function(attachment) {\n var patch;\n patch = {\n order: attachment.getIn(['file', 'order'])\n };\n return promises.push(_this.attachmentsService.patch(attachment.getIn(['file', 'id']), type, patch));\n };\n })(this));\n return Promise.all(promises).then((function(_this) {\n return function() {\n _this._attachments = attachments;\n return _this.regenerate();\n };\n })(this));\n };\n\n AttachmentsFullService.prototype.updateAttachment = function(toUpdateAttachment, type) {\n var index, oldAttachment, patch;\n index = this._attachments.findIndex(function(attachment) {\n return attachment.getIn(['file', 'id']) === toUpdateAttachment.getIn(['file', 'id']);\n });\n oldAttachment = this._attachments.get(index);\n patch = taiga.patch(oldAttachment.get('file'), toUpdateAttachment.get('file'));\n if (toUpdateAttachment.get('loading')) {\n this._attachments = this._attachments.set(index, toUpdateAttachment);\n return this.regenerate();\n } else {\n return this.attachmentsService.patch(toUpdateAttachment.getIn(['file', 'id']), type, patch).then((function(_this) {\n return function() {\n _this._attachments = _this._attachments.set(index, toUpdateAttachment);\n return _this.regenerate();\n };\n })(this));\n }\n };\n\n return AttachmentsFullService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgAttachmentsFullService\", AttachmentsFullService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attchments-preview.controller.coffee\n */\n\n(function() {\n var AttachmentsPreviewController;\n\n AttachmentsPreviewController = (function() {\n AttachmentsPreviewController.$inject = [\"tgAttachmentsPreviewService\"];\n\n function AttachmentsPreviewController(attachmentsPreviewService) {\n this.attachmentsPreviewService = attachmentsPreviewService;\n taiga.defineImmutableProperty(this, \"current\", (function(_this) {\n return function() {\n if (!_this.attachmentsPreviewService.fileId) {\n return null;\n }\n return _this.getCurrent();\n };\n })(this));\n }\n\n AttachmentsPreviewController.prototype.hasPagination = function() {\n var images;\n images = this.attachments.filter((function(_this) {\n return function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n };\n })(this));\n return images.size > 1;\n };\n\n AttachmentsPreviewController.prototype.getCurrent = function() {\n var attachment, file;\n attachment = this.attachments.find((function(_this) {\n return function(attachment) {\n return _this.attachmentsPreviewService.fileId === attachment.getIn(['file', 'id']);\n };\n })(this));\n file = attachment.get('file');\n return file;\n };\n\n AttachmentsPreviewController.prototype.getIndex = function() {\n return this.attachments.findIndex((function(_this) {\n return function(attachment) {\n return _this.attachmentsPreviewService.fileId === attachment.getIn(['file', 'id']);\n };\n })(this));\n };\n\n AttachmentsPreviewController.prototype.next = function() {\n var attachmentIndex, image;\n attachmentIndex = this.getIndex();\n image = this.attachments.slice(attachmentIndex + 1).find(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n if (!image) {\n image = this.attachments.find(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n }\n return this.attachmentsPreviewService.fileId = image.getIn(['file', 'id']);\n };\n\n AttachmentsPreviewController.prototype.previous = function() {\n var attachmentIndex, image;\n attachmentIndex = this.getIndex();\n image = this.attachments.slice(0, attachmentIndex).findLast(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n if (!image) {\n image = this.attachments.findLast(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n }\n return this.attachmentsPreviewService.fileId = image.getIn(['file', 'id']);\n };\n\n return AttachmentsPreviewController;\n\n })();\n\n angular.module('taigaComponents').controller('AttachmentsPreview', AttachmentsPreviewController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachments-preview.directive.coffee\n */\n\n(function() {\n var AttachmentPreviewLightboxDirective;\n\n AttachmentPreviewLightboxDirective = function(lightboxService, attachmentsPreviewService) {\n var link;\n link = function($scope, el, attrs, ctrl) {\n $(document.body).on(\"keydown.image-preview\", function(e) {\n if (attachmentsPreviewService.fileId) {\n if (e.keyCode === 39) {\n ctrl.next();\n } else if (e.keyCode === 37) {\n ctrl.previous();\n }\n }\n return $scope.$digest();\n });\n return $scope.$on('$destroy', function() {\n return $(document.body).off('.image-preview');\n });\n };\n return {\n scope: {},\n controller: 'AttachmentsPreview',\n templateUrl: 'components/attachments-preview/attachments-preview.html',\n link: link,\n controllerAs: \"vm\",\n bindToController: {\n attachments: \"=\"\n }\n };\n };\n\n angular.module('taigaComponents').directive(\"tgAttachmentsPreview\", [\"lightboxService\", \"tgAttachmentsPreviewService\", AttachmentPreviewLightboxDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachments-preview.service.coffee\n */\n\n(function() {\n var AttachmentsPreviewService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n AttachmentsPreviewService = (function(superClass) {\n extend(AttachmentsPreviewService, superClass);\n\n AttachmentsPreviewService.$inject = [];\n\n function AttachmentsPreviewService() {}\n\n return AttachmentsPreviewService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgAttachmentsPreviewService\", AttachmentsPreviewService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attchments-simple.controller.coffee\n */\n\n(function() {\n var AttachmentsSimpleController;\n\n AttachmentsSimpleController = (function() {\n AttachmentsSimpleController.$inject = [\"tgAttachmentsService\"];\n\n function AttachmentsSimpleController(attachmentsService) {\n this.attachmentsService = attachmentsService;\n }\n\n AttachmentsSimpleController.prototype.addAttachment = function(file) {\n var attachment;\n attachment = Immutable.fromJS({\n file: file,\n name: file.name,\n size: file.size\n });\n if (this.attachmentsService.validate(file)) {\n this.attachments = this.attachments.push(attachment);\n if (this.onAdd) {\n return this.onAdd({\n attachment: attachment\n });\n }\n }\n };\n\n AttachmentsSimpleController.prototype.addAttachments = function(files) {\n return _.forEach(files, this.addAttachment.bind(this));\n };\n\n AttachmentsSimpleController.prototype.deleteAttachment = function(toDeleteAttachment) {\n this.attachments = this.attachments.filter(function(attachment) {\n return attachment !== toDeleteAttachment;\n });\n if (this.onDelete) {\n return this.onDelete({\n attachment: toDeleteAttachment\n });\n }\n };\n\n return AttachmentsSimpleController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"AttachmentsSimple\", AttachmentsSimpleController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attchments-simple.directive.coffee\n */\n\n(function() {\n var AttachmentsSimpleDirective;\n\n AttachmentsSimpleDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n scope: {},\n bindToController: {\n attachments: \"=\",\n onAdd: \"&\",\n onDelete: \"&\"\n },\n controller: \"AttachmentsSimple\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachments-simple/attachments-simple.html\",\n link: link\n };\n };\n\n AttachmentsSimpleDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsSimple\", AttachmentsSimpleDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachments-sortable.directive.coffee\n */\n\n(function() {\n var AttachmentSortableDirective;\n\n AttachmentSortableDirective = function($parse) {\n var link;\n link = function(scope, el, attrs) {\n var callback, drake, scroll;\n callback = $parse(attrs.tgAttachmentsSortable);\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).is('div[tg-bind-scope]');\n }\n });\n drake.on('dragend', function(item) {\n var attachment, newIndex;\n item = $(item);\n attachment = item.scope().attachment;\n newIndex = item.index();\n return scope.$apply(function() {\n return callback(scope, {\n attachment: attachment,\n index: newIndex\n });\n });\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n AttachmentSortableDirective.$inject = [\"$parse\"];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsSortable\", AttachmentSortableDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: auto-select.directive.coffee\n */\n\n(function() {\n var AutoSelectDirective;\n\n AutoSelectDirective = function($timeout) {\n return {\n link: function(scope, elm) {\n return $timeout(function() {\n return elm[0].select();\n });\n }\n };\n };\n\n AutoSelectDirective.$inject = ['$timeout'];\n\n angular.module(\"taigaComponents\").directive(\"tgAutoSelect\", AutoSelectDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: avatar.directive.coffee\n */\n\n(function() {\n var AvatarDirective;\n\n AvatarDirective = function(avatarService) {\n var link;\n link = function(scope, el, attrs) {\n var attributeName;\n if (attrs.tgAvatarBig) {\n attributeName = 'avatarBig';\n } else {\n attributeName = 'avatar';\n }\n return scope.$watch(attributeName, function(user) {\n var avatar;\n avatar = avatarService.getAvatar(user, attributeName);\n el.attr('src', avatar.url);\n el.attr('title', \"\" + avatar.username);\n el.attr('alt', \"\" + avatar.username);\n return el.css('background', avatar.bg || \"\");\n });\n };\n return {\n link: link,\n scope: {\n avatar: \"=tgAvatar\",\n avatarBig: \"=tgAvatarBig\"\n }\n };\n };\n\n AvatarDirective.$inject = ['tgAvatarService'];\n\n angular.module(\"taigaComponents\").directive(\"tgAvatar\", AvatarDirective);\n\n angular.module(\"taigaComponents\").directive(\"tgAvatarBig\", AvatarDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: belong-to-epics.directive.coffee\n */\n\n(function() {\n var BelongToEpicsDirective, module;\n\n module = angular.module('taigaEpics');\n\n BelongToEpicsDirective = function($translate, $confirm, $rs, $rs2, lightboxService) {\n var link, templateUrl;\n link = function(scope, el, attrs) {\n var updateEpics;\n scope.$watch('epics', function(epics) {\n return updateEpics(epics);\n });\n scope.$on(\"related-epics:changed\", function(ctx, userStory) {\n return $rs.userstories.getByRef(userStory.project, userStory.ref, {}).then(function(us) {\n scope.item.epics = us.epics;\n return updateEpics(us.epics);\n });\n });\n scope.removeEpicRelationship = function(epic) {\n var message, title;\n title = $translate.instant(\"LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.TITLE\");\n message = $translate.instant(\"LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.MESSAGE\", {\n epicSubject: epic.get('subject')\n });\n return $confirm.ask(title, null, message).then(function(askResponse) {\n var epicId, onError, onSuccess, usId;\n onSuccess = function() {\n askResponse.finish();\n return scope.$broadcast(\"related-epics:changed\", scope.item);\n };\n onError = function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n };\n epicId = epic.get('id');\n usId = scope.item.id;\n return $rs2.epics.deleteRelatedUserstory(epicId, usId).then(onSuccess, onError);\n });\n };\n return updateEpics = function(epics) {\n scope.epicsLength = 0;\n scope.immutable_epics = [];\n if (epics && !epics.isIterable) {\n scope.epicsLength = epics.length;\n return scope.immutable_epics = Immutable.fromJS(epics);\n }\n };\n };\n templateUrl = function(el, attrs) {\n if (attrs.format) {\n return \"components/belong-to-epics/belong-to-epics-\" + attrs.format + \".html\";\n }\n return \"components/belong-to-epics/belong-to-epics-pill.html\";\n };\n return {\n link: link,\n scope: {\n epics: '=',\n item: \"=\"\n },\n templateUrl: templateUrl\n };\n };\n\n module.directive(\"tgBelongToEpics\", [\"$translate\", \"$tgConfirm\", \"$tgResources\", \"tgResources\", \"lightboxService\", BelongToEpicsDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/bind-code.directive.coffee\n */\n\n(function() {\n var BindCode;\n\n BindCode = function($sce, $parse, $compile, wysiwygService, wysiwygCodeHightlighterService) {\n return {\n restrict: 'A',\n compile: function(tElement, tAttrs) {\n var tgBindCodeGetter, tgBindCodeWatch;\n tgBindCodeGetter = $parse(tAttrs.tgBindCode);\n tgBindCodeWatch = $parse(tAttrs.tgBindCode, function(value) {\n return (value || '').toString();\n });\n $compile.$$addBindingClass(tElement);\n return function(scope, element, attr) {\n $compile.$$addBindingInfo(element, attr.tgBindCode);\n return scope.$watch(tgBindCodeWatch, function() {\n var html;\n html = wysiwygService.getHTML(tgBindCodeGetter(scope));\n element.html($sce.getTrustedHtml(html) || '');\n return wysiwygCodeHightlighterService.addHightlighter(element);\n });\n };\n }\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgBindCode\", [\"$sce\", \"$parse\", \"$compile\", \"tgWysiwygService\", \"tgWysiwygCodeHightlighterService\", BindCode]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: board-zoom.directive.coffee\n */\n\n(function() {\n var BoardZoomDirective;\n\n BoardZoomDirective = function() {\n return {\n scope: {\n levels: \"=\",\n value: \"=\"\n },\n templateUrl: 'components/board-zoom/board-zoom.html'\n };\n };\n\n angular.module('taigaComponents').directive(\"tgBoardZoom\", [BoardZoomDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: card-slideshow.controller.coffee\n */\n\n(function() {\n var CardSlideshowController;\n\n CardSlideshowController = (function() {\n CardSlideshowController.$inject = [];\n\n function CardSlideshowController() {\n this.index = 0;\n }\n\n CardSlideshowController.prototype.next = function() {\n this.index++;\n if (this.index >= this.images.size) {\n return this.index = 0;\n }\n };\n\n CardSlideshowController.prototype.previous = function() {\n this.index--;\n if (this.index < 0) {\n return this.index = this.images.size - 1;\n }\n };\n\n return CardSlideshowController;\n\n })();\n\n angular.module('taigaComponents').controller('CardSlideshow', CardSlideshowController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: card.directive.coffee\n */\n\n(function() {\n var cardSlideshowDirective, module;\n\n module = angular.module(\"taigaComponents\");\n\n cardSlideshowDirective = function() {\n return {\n controller: \"CardSlideshow\",\n templateUrl: \"components/card-slideshow/card-slideshow.html\",\n bindToController: true,\n controllerAs: \"vm\",\n scope: {\n images: \"=\"\n }\n };\n };\n\n module.directive('tgCardSlideshow', cardSlideshowDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: card.controller.coffee\n */\n\n(function() {\n var CardController;\n\n CardController = (function() {\n function CardController() {}\n\n CardController.$inject = [];\n\n CardController.prototype.visible = function(name) {\n return this.zoom.indexOf(name) !== -1;\n };\n\n CardController.prototype.hasTasks = function() {\n var tasks;\n tasks = this.item.getIn(['model', 'tasks']);\n return tasks && tasks.size > 0;\n };\n\n CardController.prototype.hasMultipleAssignedUsers = function() {\n var assignedUsers;\n assignedUsers = this.item.getIn(['model', 'assigned_users']);\n return assignedUsers && assignedUsers.size > 1;\n };\n\n CardController.prototype.hasVisibleAttachments = function() {\n return this.item.get('images').size > 0;\n };\n\n CardController.prototype.toggleFold = function() {\n return this.onToggleFold({\n id: this.item.get('id')\n });\n };\n\n CardController.prototype.getClosedTasks = function() {\n return this.item.getIn(['model', 'tasks']).filter(function(task) {\n return task.get('is_closed');\n });\n };\n\n CardController.prototype.closedTasksPercent = function() {\n return this.getClosedTasks().size * 100 / this.item.getIn(['model', 'tasks']).size;\n };\n\n CardController.prototype.getModifyPermisionKey = function() {\n if (this.type === 'task') {\n return 'modify_task';\n } else {\n return 'modify_us';\n }\n };\n\n CardController.prototype.getDeletePermisionKey = function() {\n if (this.type === 'task') {\n return 'delete_task';\n } else {\n return 'delete_us';\n }\n };\n\n CardController.prototype._setVisibility = function() {\n var visibility;\n visibility = {\n related: this.visible('related_tasks'),\n slides: this.visible('attachments')\n };\n if (!_.isUndefined(this.item.get('foldStatusChanged'))) {\n if (this.visible('related_tasks') && this.visible('attachments')) {\n visibility.related = !this.item.get('foldStatusChanged');\n visibility.slides = !this.item.get('foldStatusChanged');\n } else if (this.visible('attachments')) {\n visibility.related = this.item.get('foldStatusChanged');\n visibility.slides = this.item.get('foldStatusChanged');\n } else if (!this.visible('related_tasks') && !this.visible('attachments')) {\n visibility.related = this.item.get('foldStatusChanged');\n visibility.slides = this.item.get('foldStatusChanged');\n }\n }\n if (!this.item.getIn(['model', 'tasks']) || !this.item.getIn(['model', 'tasks']).size) {\n visibility.related = false;\n }\n if (!this.item.get('images') || !this.item.get('images').size) {\n visibility.slides = false;\n }\n return visibility;\n };\n\n CardController.prototype.isRelatedTasksVisible = function() {\n var visibility;\n visibility = this._setVisibility();\n return visibility.related;\n };\n\n CardController.prototype.isSlideshowVisible = function() {\n var visibility;\n visibility = this._setVisibility();\n return visibility.slides;\n };\n\n CardController.prototype.getNavKey = function() {\n if (this.type === 'task') {\n return 'project-tasks-detail';\n } else if (this.type === 'issue') {\n return 'project-issues-detail';\n } else {\n return 'project-userstories-detail';\n }\n };\n\n return CardController;\n\n })();\n\n angular.module('taigaComponents').controller('Card', CardController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: card.directive.coffee\n */\n\n(function() {\n var cardDirective, module;\n\n module = angular.module(\"taigaComponents\");\n\n cardDirective = function() {\n return {\n link: function(scope) {},\n controller: \"Card\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"components/card/card.html\",\n scope: {\n onToggleFold: \"&\",\n onClickAssignedTo: \"&\",\n onClickEdit: \"&\",\n onClickRemove: \"&\",\n onClickDelete: \"&\",\n project: \"=\",\n item: \"=\",\n zoom: \"=\",\n zoomLevel: \"=\",\n archived: \"=\",\n type: \"@\"\n }\n };\n };\n\n module.directive('tgCard', cardDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/click-input-file.directive.coffee\n */\n\n(function() {\n var ClickInputFile;\n\n ClickInputFile = function() {\n return {\n link: function(scope, el) {\n el.on('click', function(e) {\n var inputFile;\n if (!$(e.target).is('input')) {\n e.preventDefault();\n inputFile = el.find('input[type=\"file\"]');\n inputFile.val('');\n return inputFile.trigger('click');\n }\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n }\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgClickInputFile\", [ClickInputFile]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: color-selector.controller.coffee\n */\n\n(function() {\n var ColorSelectorController, getDefaulColorList, taiga;\n\n taiga = this.taiga;\n\n getDefaulColorList = taiga.getDefaulColorList;\n\n ColorSelectorController = (function() {\n ColorSelectorController.$inject = [\"tgProjectService\"];\n\n function ColorSelectorController(projectService) {\n this.projectService = projectService;\n this.colorList = getDefaulColorList();\n this.checkIsColorRequired();\n this.displayColorList = false;\n }\n\n ColorSelectorController.prototype.userCanChangeColor = function() {\n if (!this.requiredPerm) {\n return true;\n }\n return this.projectService.hasPermission(this.requiredPerm);\n };\n\n ColorSelectorController.prototype.checkIsColorRequired = function() {\n if (!this.isColorRequired) {\n return this.colorList = _.dropRight(this.colorList);\n }\n };\n\n ColorSelectorController.prototype.setColor = function(color) {\n this.color = color;\n return this.customColor = color;\n };\n\n ColorSelectorController.prototype.resetColor = function() {\n if (this.isColorRequired && !this.color) {\n return this.color = this.initColor;\n }\n };\n\n ColorSelectorController.prototype.toggleColorList = function() {\n this.displayColorList = !this.displayColorList;\n this.customColor = this.color;\n return this.resetColor();\n };\n\n ColorSelectorController.prototype.onSelectDropdownColor = function(color) {\n this.color = color;\n this.onSelectColor({\n color: color\n });\n return this.toggleColorList();\n };\n\n ColorSelectorController.prototype.onKeyDown = function(event) {\n if (event.which === 13) {\n if (this.customColor || !this.isColorRequired) {\n this.onSelectDropdownColor(this.customColor);\n }\n return event.preventDefault();\n }\n };\n\n return ColorSelectorController;\n\n })();\n\n angular.module('taigaComponents').controller(\"ColorSelectorCtrl\", ColorSelectorController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: color-selector.directive.coffee\n */\n\n(function() {\n var ColorSelectorDirective, bindOnce;\n\n bindOnce = this.taiga.bindOnce;\n\n ColorSelectorDirective = function($timeout) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var _timeout, cancel, close;\n _timeout = null;\n cancel = function() {\n $timeout.cancel(_timeout);\n return _timeout = null;\n };\n close = function() {\n if (_timeout) {\n return;\n }\n return _timeout = $timeout((function() {\n ctrl.displayColorList = false;\n return ctrl.resetColor();\n }), 400);\n };\n el.find('.color-selector').mouseenter(cancel).mouseleave(close);\n el.find('.color-selector-dropdown').mouseenter(cancel).mouseleave(close);\n return scope.$watch('vm.initColor', function(color) {\n return ctrl.setColor(color);\n });\n };\n return {\n link: link,\n templateUrl: \"components/color-selector/color-selector.html\",\n controller: \"ColorSelectorCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n isColorRequired: \"=\",\n onSelectColor: \"&\",\n initColor: \"=\",\n requiredPerm: \"@\"\n },\n scope: {}\n };\n };\n\n ColorSelectorDirective.$inject = [\"$timeout\"];\n\n angular.module('taigaComponents').directive(\"tgColorSelector\", ColorSelectorDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: story-header.controller.coffee\n */\n\n(function() {\n var StoryHeaderController, module;\n\n module = angular.module(\"taigaUserStories\");\n\n StoryHeaderController = (function() {\n StoryHeaderController.$inject = [\"$rootScope\", \"$tgConfirm\", \"$tgQueueModelTransformation\", \"$tgNavUrls\", \"$window\"];\n\n function StoryHeaderController(rootScope, confirm, modelTransform, navUrls, window) {\n this.rootScope = rootScope;\n this.confirm = confirm;\n this.modelTransform = modelTransform;\n this.navUrls = navUrls;\n this.window = window;\n this.editMode = false;\n this.loadingSubject = false;\n this.originalSubject = this.item.subject;\n this.objType = {\n 'tasks': 'task',\n 'issues': 'issue',\n 'userstories': 'us'\n }[this.item._name];\n }\n\n StoryHeaderController.prototype._checkNav = function() {\n var ctx, ref, ref1;\n if (((ref = this.item.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: this.project.slug,\n ref: this.item.neighbors.previous.ref\n };\n this.previousUrl = this.navUrls.resolve(\"project-\" + this.item._name + \"-detail\", ctx);\n }\n if (((ref1 = this.item.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: this.project.slug,\n ref: this.item.neighbors.next.ref\n };\n return this.nextUrl = this.navUrls.resolve(\"project-\" + this.item._name + \"-detail\", ctx);\n }\n };\n\n StoryHeaderController.prototype._checkPermissions = function() {\n return this.permissions = {\n canEdit: _.includes(this.project.my_permissions, this.requiredPerm)\n };\n };\n\n StoryHeaderController.prototype.cancelEdit = function() {\n this.editMode = false;\n return this.item.subject = this.originalSubject;\n };\n\n StoryHeaderController.prototype.editSubject = function(value) {\n var selection;\n selection = this.window.getSelection();\n if (selection.type !== \"Range\") {\n if (value) {\n this.editMode = true;\n }\n if (!value) {\n return this.editMode = false;\n }\n }\n };\n\n StoryHeaderController.prototype.onKeyDown = function(event) {\n if (event.which === 13) {\n this.saveSubject();\n }\n if (event.which === 27) {\n this.item.subject = this.originalSubject;\n return this.editSubject(false);\n }\n };\n\n StoryHeaderController.prototype.saveSubject = function() {\n var item, onEditSubjectError, onEditSubjectSuccess, transform;\n onEditSubjectSuccess = (function(_this) {\n return function() {\n _this.loadingSubject = false;\n _this.rootScope.$broadcast(\"object:updated\");\n _this.confirm.notify('success');\n return _this.originalSubject = _this.item.subject;\n };\n })(this);\n onEditSubjectError = (function(_this) {\n return function() {\n _this.loadingSubject = false;\n return _this.confirm.notify('error');\n };\n })(this);\n this.editMode = false;\n this.loadingSubject = true;\n item = this.item;\n transform = this.modelTransform.save(function(item) {\n return item;\n });\n return transform.then(onEditSubjectSuccess, onEditSubjectError);\n };\n\n StoryHeaderController.prototype.relateToEpic = function(us) {\n return this.rootScope.$broadcast(\"relate-to-epic:add\", us);\n };\n\n return StoryHeaderController;\n\n })();\n\n module.controller(\"StoryHeaderCtrl\", StoryHeaderController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: story-header.directive.coffee\n */\n\n(function() {\n var DetailHeaderDirective, module;\n\n module = angular.module('taigaUserStories');\n\n DetailHeaderDirective = function() {\n var link;\n this.$inject = [];\n link = function(scope, el, attrs, ctrl) {\n ctrl._checkPermissions();\n return ctrl._checkNav();\n };\n return {\n link: link,\n controller: \"StoryHeaderCtrl\",\n bindToController: true,\n scope: {\n item: \"=\",\n project: \"=\",\n requiredPerm: \"@\"\n },\n controllerAs: \"vm\",\n templateUrl: \"components/detail/header/detail-header.html\"\n };\n };\n\n module.directive(\"tgDetailHeader\", DetailHeaderDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2018 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: due-date-controller.coffee\n */\n\n(function() {\n var DueDateController;\n\n DueDateController = (function() {\n DueDateController.$inject = [\"$translate\", \"tgLightboxFactory\", \"tgProjectService\", \"$rootScope\"];\n\n function DueDateController(translate, tgLightboxFactory, projectService, rootscope) {\n this.translate = translate;\n this.tgLightboxFactory = tgLightboxFactory;\n this.projectService = projectService;\n this.rootscope = rootscope;\n this.defaultConfig = [\n {\n \"color\": \"#9dce0a\",\n \"name\": \"normal due\",\n \"days_to_due\": null,\n \"by_default\": true\n }, {\n \"color\": \"#ff9900\",\n \"name\": \"due soon\",\n \"days_to_due\": 14,\n \"by_default\": false\n }, {\n \"color\": \"#ff8a84\",\n \"name\": \"past due\",\n \"days_to_due\": 0,\n \"by_default\": false\n }\n ];\n }\n\n DueDateController.prototype.visible = function() {\n return this.format === 'button' || (this.dueDate != null);\n };\n\n DueDateController.prototype.disabled = function() {\n return this.isClosed;\n };\n\n DueDateController.prototype.color = function() {\n var ref;\n return ((ref = this.getStatus()) != null ? ref.color : void 0) || null;\n };\n\n DueDateController.prototype.title = function() {\n if (this.dueDate) {\n return this._formatTitle();\n } else if (this.format === 'button') {\n return this.translate.instant('COMMON.DUE_DATE.TITLE_ACTION_SET_DUE_DATE');\n }\n return '';\n };\n\n DueDateController.prototype.getStatus = function(options) {\n var project;\n if (!this.dueDate) {\n return null;\n }\n project = this.projectService.project.toJS();\n options = project[this.objType + \"_duedates\"];\n if (!options) {\n options = this.defaultConfig;\n }\n return this._getAppearance(options);\n };\n\n DueDateController.prototype._getDefaultAppearance = function(options) {\n var defaultAppearance;\n defaultAppearance = null;\n _.map(options, function(option) {\n if (option.by_default === true) {\n return defaultAppearance = option;\n }\n });\n return defaultAppearance;\n };\n\n DueDateController.prototype._getAppearance = function(options) {\n var currentAppearance, dueDate, now;\n currentAppearance = this._getDefaultAppearance(options);\n options = _.sortBy(options, function(o) {\n return -o.days_to_due;\n });\n dueDate = moment(this.dueDate);\n now = moment();\n _.map(options, function(appearance) {\n var limitDate;\n if (appearance.days_to_due === null) {\n return;\n }\n limitDate = moment(dueDate - moment.duration(appearance.days_to_due, \"days\"));\n if (now >= limitDate) {\n return currentAppearance = appearance;\n }\n });\n return currentAppearance;\n };\n\n DueDateController.prototype._formatTitle = function() {\n var formatedDate, prettyDate, status;\n prettyDate = this.translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n formatedDate = moment(this.dueDate).format(prettyDate);\n status = this.getStatus();\n if (status != null ? status.name : void 0) {\n return formatedDate + \" (\" + status.name + \")\";\n }\n return formatedDate;\n };\n\n DueDateController.prototype.setDueDate = function() {\n if (this.disabled()) {\n return;\n }\n return this.tgLightboxFactory.create(\"tg-lb-set-due-date\", {\n \"class\": \"lightbox lightbox-set-due-date\"\n }, {\n \"object\": this.item,\n \"notAutoSave\": this.notAutoSave\n });\n };\n\n return DueDateController;\n\n })();\n\n angular.module('taigaComponents').controller('DueDateCtrl', DueDateController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2018 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: due-date.directive.coffee\n */\n\n(function() {\n var dueDatePopoverDirective, module;\n\n module = angular.module(\"taigaComponents\");\n\n dueDatePopoverDirective = function($translate, datePickerConfigService) {\n return {\n link: function(scope, el, attrs, ctrl) {\n var datePickerConfig;\n scope.open = false;\n datePickerConfig = datePickerConfigService.get();\n _.merge(datePickerConfig, {\n field: el.find('.due-date-button')[0],\n container: el.find('.date-picker-container')[0],\n bound: true,\n onClose: function() {\n scope.open = false;\n return scope.$apply();\n },\n onSelect: function() {\n return ctrl.dueDate = this.getMoment().format('YYYY-MM-DD');\n }\n });\n el.picker = new Pikaday(datePickerConfig);\n el.on(\"click\", \".due-date-button\", function(event) {\n if (scope.open) {\n el.picker.hide();\n return;\n }\n if (!el.picker.getDate() && ctrl.dueDate) {\n el.picker.setDate(moment(ctrl.dueDate).format('YYYY-MM-DD'));\n }\n el.picker.show();\n scope.open = true;\n return scope.$apply();\n });\n el.on(\"click\", \".date-picker-clean\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n ctrl.dueDate = null;\n el.picker.setDate(ctrl.dueDate);\n scope.open = false;\n el.picker.hide();\n return scope.$apply();\n });\n return scope.$on(\"status:changed\", function(ctx, status) {\n return ctrl.isClosed = ctrl.item.is_closed;\n });\n },\n controller: \"DueDateCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"components/due-date/due-date-popover.html\",\n scope: {\n dueDate: '=',\n isClosed: '=',\n item: '=',\n objType: '@',\n format: '@',\n notAutoSave: '='\n }\n };\n };\n\n module.directive('tgDueDatePopover', ['$translate', 'tgDatePickerConfigService', dueDatePopoverDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2018 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: due-date.directive.coffee\n */\n\n(function() {\n var dueDateDirective, module;\n\n module = angular.module(\"taigaComponents\");\n\n dueDateDirective = function($translate, datePickerConfigService) {\n var templateUrl;\n templateUrl = function(el, attrs) {\n if (attrs.format) {\n return \"components/due-date/due-date-\" + attrs.format + \".html\";\n }\n return \"components/due-date/due-date-icon.html\";\n };\n return {\n link: function(scope, el, attrs, ctrl) {\n var renderDatePicker;\n renderDatePicker = function() {\n var datePickerConfig, prettyDate;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n if (ctrl.dueDate) {\n ctrl.dueDate = moment(ctrl.dueDate, prettyDate);\n }\n el.on(\"click\", \".date-picker-popover-trigger\", function(event) {\n if (ctrl.disabled()) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n return el.find(\".date-picker-popover\").popover().open();\n });\n el.on(\"click\", \".date-picker-clean\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n ctrl.dueDate = null;\n scope.$apply();\n return el.find(\".date-picker-popover\").popover().close();\n });\n datePickerConfig = datePickerConfigService.get();\n _.merge(datePickerConfig, {\n field: el.find('input.due-date')[0],\n container: el.find('.date-picker-container')[0],\n bound: false,\n onSelect: function() {\n ctrl.dueDate = this.getMoment().format('YYYY-MM-DD');\n el.find(\".date-picker-popover\").popover().close();\n return scope.$apply();\n }\n });\n return el.picker = new Pikaday(datePickerConfig);\n };\n if (attrs.format === 'button-popover') {\n return renderDatePicker();\n }\n },\n controller: \"DueDateCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: templateUrl,\n scope: {\n dueDate: '=',\n isClosed: '=',\n item: '=',\n objType: '@',\n format: '@',\n notAutoSave: '='\n }\n };\n };\n\n module.directive('tgDueDate', ['$translate', 'tgDatePickerConfigService', dueDateDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: file-change.directive.coffee\n */\n\n(function() {\n var FileChangeDirective;\n\n FileChangeDirective = function($parse) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var eventAttr;\n eventAttr = $parse(attrs.tgFileChange);\n el.on('change', function(event) {\n return scope.$apply(function() {\n return eventAttr(scope, {\n files: event.currentTarget.files\n });\n });\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n };\n return {\n restrict: \"A\",\n link: link\n };\n };\n\n FileChangeDirective.$inject = [\"$parse\"];\n\n angular.module(\"taigaComponents\").directive(\"tgFileChange\", FileChangeDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: filter-utils.service.coffee\n */\n\n(function() {\n var FilterRemoteStorageService, generateHash,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n generateHash = taiga.generateHash;\n\n FilterRemoteStorageService = (function(superClass) {\n extend(FilterRemoteStorageService, superClass);\n\n FilterRemoteStorageService.$inject = [\"$q\", \"$tgUrls\", \"$tgHttp\"];\n\n function FilterRemoteStorageService(q, urls, http) {\n this.q = q;\n this.urls = urls;\n this.http = http;\n }\n\n FilterRemoteStorageService.prototype.storeFilters = function(projectId, myFilters, filtersHashSuffix) {\n var deferred, hash, ns, promise, url;\n deferred = this.q.defer();\n url = this.urls.resolve(\"user-storage\");\n ns = projectId + \":\" + filtersHashSuffix;\n hash = generateHash([projectId, ns]);\n if (_.isEmpty(myFilters)) {\n promise = this.http[\"delete\"](url + \"/\" + hash, {\n key: hash,\n value: myFilters\n });\n promise.then(function() {\n return deferred.resolve();\n });\n promise.then(null, function() {\n return deferred.reject();\n });\n } else {\n promise = this.http.put(url + \"/\" + hash, {\n key: hash,\n value: myFilters\n });\n promise.then(function(data) {\n return deferred.resolve();\n });\n promise.then(null, (function(_this) {\n return function(data) {\n var innerPromise;\n innerPromise = _this.http.post(\"\" + url, {\n key: hash,\n value: myFilters\n });\n innerPromise.then(function() {\n return deferred.resolve();\n });\n return innerPromise.then(null, function() {\n return deferred.reject();\n });\n };\n })(this));\n }\n return deferred.promise;\n };\n\n FilterRemoteStorageService.prototype.getFilters = function(projectId, filtersHashSuffix) {\n var deferred, hash, ns, promise, url;\n deferred = this.q.defer();\n url = this.urls.resolve(\"user-storage\");\n ns = projectId + \":\" + filtersHashSuffix;\n hash = generateHash([projectId, ns]);\n promise = this.http.get(url + \"/\" + hash);\n promise.then(function(data) {\n return deferred.resolve(data.data.value);\n });\n promise.then(null, function(data) {\n return deferred.resolve({});\n });\n return deferred.promise;\n };\n\n return FilterRemoteStorageService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgFilterRemoteStorageService\", FilterRemoteStorageService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: filter.-slide-down.controller.coffee\n */\n\n(function() {\n var FilterSlideDownDirective;\n\n FilterSlideDownDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var filter;\n filter = $('tg-filter');\n return scope.$watch(attrs.ngIf, function(value) {\n var contentHeight, wrapperHeight;\n if (value) {\n filter.find('.filter-list').hide();\n wrapperHeight = filter.height();\n contentHeight = 0;\n filter.children().each(function() {\n return contentHeight += $(this).outerHeight(true);\n });\n return $(el.context.nextSibling).css({\n \"max-height\": wrapperHeight - contentHeight,\n \"display\": \"block\"\n });\n }\n });\n };\n return {\n priority: 900,\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgFilterSlideDown\", [FilterSlideDownDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: filter.controller.coffee\n */\n\n(function() {\n var FilterController;\n\n FilterController = (function() {\n FilterController.$inject = [];\n\n function FilterController() {\n this.opened = null;\n this.customFilterForm = false;\n this.customFilterName = '';\n }\n\n FilterController.prototype.toggleFilterCategory = function(filterName) {\n if (this.opened === filterName) {\n return this.opened = null;\n } else {\n return this.opened = filterName;\n }\n };\n\n FilterController.prototype.isOpen = function(filterName) {\n return this.opened === filterName;\n };\n\n FilterController.prototype.saveCustomFilter = function() {\n this.onSaveCustomFilter({\n name: this.customFilterName\n });\n this.customFilterForm = false;\n this.opened = 'custom-filter';\n return this.customFilterName = '';\n };\n\n FilterController.prototype.changeQ = function() {\n return this.onChangeQ({\n q: this.q\n });\n };\n\n FilterController.prototype.unselectFilter = function(filter) {\n return this.onRemoveFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.unselectFilter = function(filter) {\n return this.onRemoveFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.selectFilter = function(filterCategory, filter) {\n filter = {\n category: filterCategory,\n filter: filter\n };\n return this.onAddFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.removeCustomFilter = function(filter) {\n return this.onRemoveCustomFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.selectCustomFilter = function(filter) {\n return this.onSelectCustomFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.isFilterSelected = function(filterCategory, filter) {\n return !!_.find(this.selectedFilters, function(it) {\n return filter.id === it.id && filterCategory.dataType === it.dataType;\n });\n };\n\n return FilterController;\n\n })();\n\n angular.module('taigaComponents').controller('Filter', FilterController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: filter.directive.coffee\n */\n\n(function() {\n var FilterDirective;\n\n FilterDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var unwatch;\n unwatch = scope.$watch(\"vm.defaultQ\", function(q) {\n if (q && !scope.vm.filtersForm.$dirty) {\n scope.vm.q = q;\n return unwatch();\n } else if (scope.vm.filtersForm.$dirty) {\n return unwatch();\n }\n });\n return attrs.$observe(\"open\", function(open) {\n open = scope.$eval(open);\n if (open) {\n return el.addClass('open');\n } else {\n return el.removeClass('open');\n }\n });\n };\n return {\n scope: {\n onChangeQ: \"&\",\n onAddFilter: \"&\",\n onSelectCustomFilter: \"&\",\n onRemoveFilter: \"&\",\n onRemoveCustomFilter: \"&\",\n onSaveCustomFilter: \"&\",\n customFilters: \"<\",\n defaultQ: \"=q\",\n filters: \"<\",\n customFilters: \"<\",\n selectedFilters: \"<\"\n },\n bindToController: true,\n controller: \"Filter\",\n controllerAs: \"vm\",\n templateUrl: 'components/filter/filter.html',\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgFilter\", [FilterDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: joy-ride.directive.coffee\n */\n\n(function() {\n var JoyRideDirective, taiga;\n\n taiga = this.taiga;\n\n JoyRideDirective = function($rootScope, currentUserService, joyRideService, $location, $translate) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var initJoyrRide, intro, unsuscribe;\n unsuscribe = null;\n intro = introJs();\n intro.oncomplete(function() {\n return $('html,body').scrollTop(0);\n });\n intro.onexit(function() {\n return currentUserService.disableJoyRide();\n });\n initJoyrRide = function(next, config) {\n if (!config[next.joyride]) {\n return;\n }\n intro.setOptions({\n exitOnEsc: false,\n exitOnOverlayClick: false,\n showStepNumbers: false,\n nextLabel: $translate.instant('JOYRIDE.NAV.NEXT') + ' →',\n prevLabel: '← ' + $translate.instant('JOYRIDE.NAV.BACK'),\n skipLabel: $translate.instant('JOYRIDE.NAV.SKIP'),\n doneLabel: $translate.instant('JOYRIDE.NAV.DONE'),\n disableInteraction: true\n });\n intro.setOption('steps', joyRideService.get(next.joyride));\n return intro.start();\n };\n return $rootScope.$on('$routeChangeSuccess', function(event, next) {\n if (!next.joyride || !currentUserService.isAuthenticated()) {\n intro.exit();\n if (unsuscribe) {\n unsuscribe();\n }\n return;\n }\n intro.oncomplete(function() {\n return currentUserService.disableJoyRide(next.joyride);\n });\n if (next.loader) {\n return unsuscribe = $rootScope.$on('loader:end', function() {\n currentUserService.loadJoyRideConfig().then(function(config) {\n return initJoyrRide(next, config);\n });\n return unsuscribe();\n });\n } else {\n return currentUserService.loadJoyRideConfig().then(function(config) {\n return initJoyrRide(next, config);\n });\n }\n });\n };\n return {\n scope: {},\n link: link\n };\n };\n\n JoyRideDirective.$inject = [\"$rootScope\", \"tgCurrentUserService\", \"tgJoyRideService\", \"$location\", \"$translate\"];\n\n angular.module(\"taigaComponents\").directive(\"tgJoyRide\", JoyRideDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: joy-ride.service.coffee\n */\n\n(function() {\n var JoyRideService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n JoyRideService = (function(superClass) {\n extend(JoyRideService, superClass);\n\n JoyRideService.$inject = ['$translate', 'tgCheckPermissionsService'];\n\n function JoyRideService(translate, checkPermissionsService) {\n this.translate = translate;\n this.checkPermissionsService = checkPermissionsService;\n }\n\n JoyRideService.prototype.getConfig = function() {\n return {\n dashboard: (function(_this) {\n return function() {\n var steps;\n steps = [\n {\n element: '.project-list > section:not(.ng-hide)',\n position: 'left',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP1.TITLE'),\n text: _this.translate.instant('JOYRIDE.DASHBOARD.STEP1.TEXT')\n }\n }, {\n element: '.working-on-container',\n position: 'right',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP2.TITLE'),\n text: _this.translate.instant('JOYRIDE.DASHBOARD.STEP2.TEXT')\n }\n }, {\n element: '.watching-container',\n position: 'right',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP3.TITLE'),\n text: [_this.translate.instant('JOYRIDE.DASHBOARD.STEP3.TEXT1'), _this.translate.instant('JOYRIDE.DASHBOARD.STEP3.TEXT2')]\n }\n }\n ];\n if (!$('.project-list .create-project-button').is(':hidden')) {\n steps.push({\n element: '.project-list .create-project-button',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP4.TITLE'),\n text: [_this.translate.instant('JOYRIDE.DASHBOARD.STEP4.TEXT1'), _this.translate.instant('JOYRIDE.DASHBOARD.STEP4.TEXT2')]\n }\n });\n }\n return steps;\n };\n })(this),\n backlog: (function(_this) {\n return function() {\n var steps;\n steps = [\n {\n element: '.summary',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP1.TITLE'),\n text: [_this.translate.instant('JOYRIDE.BACKLOG.STEP1.TEXT1'), _this.translate.instant('JOYRIDE.BACKLOG.STEP1.TEXT2')]\n }\n }, {\n element: '.backlog-table-empty',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP2.TITLE'),\n text: _this.translate.instant('JOYRIDE.BACKLOG.STEP2.TEXT')\n }\n }, {\n element: '.sprints',\n position: 'left',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP3.TITLE'),\n text: _this.translate.instant('JOYRIDE.BACKLOG.STEP3.TEXT')\n }\n }\n ];\n if (_this.checkPermissionsService.check('add_us')) {\n steps.push({\n element: '.new-us',\n position: 'rigth',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP4.TITLE'),\n text: _this.translate.instant('JOYRIDE.BACKLOG.STEP4.TEXT')\n }\n });\n }\n return steps;\n };\n })(this),\n kanban: (function(_this) {\n return function() {\n var steps;\n steps = [\n {\n element: '.kanban-table-inner',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.KANBAN.STEP1.TITLE'),\n text: _this.translate.instant('JOYRIDE.KANBAN.STEP1.TEXT')\n }\n }, {\n element: '.card-placeholder',\n position: 'right',\n joyride: {\n title: _this.translate.instant('JOYRIDE.KANBAN.STEP2.TITLE'),\n text: _this.translate.instant('JOYRIDE.KANBAN.STEP2.TEXT')\n }\n }\n ];\n if (_this.checkPermissionsService.check('add_us')) {\n steps.push({\n element: '.add-action',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.KANBAN.STEP3.TITLE'),\n text: [_this.translate.instant('JOYRIDE.KANBAN.STEP3.TEXT1'), _this.translate.instant('JOYRIDE.KANBAN.STEP3.TEXT2')]\n }\n });\n }\n return steps;\n };\n })(this)\n };\n };\n\n JoyRideService.prototype.get = function(name) {\n var joyRide, joyRides;\n joyRides = this.getConfig();\n joyRide = joyRides[name].call(this);\n return _.map(joyRide, function(item) {\n var html;\n html = \"\";\n if (item.joyride.title) {\n html += \"

    \" + item.joyride.title + \"

    \";\n }\n if (_.isArray(item.joyride.text)) {\n _.forEach(item.joyride.text, function(text) {\n return html += \"

    \" + text + \"

    \";\n });\n } else {\n html += \"

    \" + item.joyride.text + \"

    \";\n }\n item.intro = html;\n return item;\n });\n };\n\n return JoyRideService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgJoyRideService\", JoyRideService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: kanban-board-zoom.directive.coffee\n */\n\n(function() {\n var KanbanBoardZoomDirective;\n\n KanbanBoardZoomDirective = function(storage, projectService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var getZoomView, unwatch, zooms;\n scope.zoomIndex = storage.get(\"kanban_zoom\") || 2;\n scope.levels = 5;\n zooms = [[\"ref\"], [\"subject\"], [\"owner\", \"tags\", \"extra_info\", \"unfold\"], [\"attachments\"], [\"related_tasks\", \"empty_extra_info\"]];\n getZoomView = function(zoomIndex) {\n if (zoomIndex == null) {\n zoomIndex = 0;\n }\n if (storage.get(\"kanban_zoom\") !== zoomIndex) {\n storage.set(\"kanban_zoom\", zoomIndex);\n }\n return _.reduce(zooms, function(result, value, key) {\n if (key <= zoomIndex) {\n result = result.concat(value);\n }\n return result;\n });\n };\n scope.$watch('zoomIndex', function(zoomLevel) {\n var zoom;\n zoom = getZoomView(zoomLevel);\n return scope.onZoomChange({\n zoomLevel: zoomLevel,\n zoom: zoom\n });\n });\n return unwatch = scope.$watch(function() {\n return projectService.project;\n }, function(project) {\n if (project) {\n if (project.get('my_permissions').indexOf(\"view_tasks\") === -1) {\n scope.levels = 4;\n }\n return unwatch();\n }\n });\n };\n return {\n scope: {\n onZoomChange: \"&\"\n },\n template: \"\",\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgKanbanBoardZoom\", [\"$tgStorage\", \"tgProjectService\", KanbanBoardZoomDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Andrey Antukh \n * Copyright (C) 2014-2015 Jesús Espino Garcia \n * Copyright (C) 2014-2015 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: live-announcement.directive.coffee\n */\n\n(function() {\n var LiveAnnouncementDirective;\n\n LiveAnnouncementDirective = function(liveAnnouncementService) {\n var link;\n link = function(scope, el, attrs) {};\n return {\n restrict: \"AE\",\n scope: {},\n controllerAs: 'vm',\n controller: function() {\n this.close = function() {\n return liveAnnouncementService.open = false;\n };\n return Object.defineProperties(this, {\n open: {\n get: function() {\n return liveAnnouncementService.open;\n }\n },\n title: {\n get: function() {\n return liveAnnouncementService.title;\n }\n },\n desc: {\n get: function() {\n return liveAnnouncementService.desc;\n }\n }\n });\n },\n link: link,\n templateUrl: \"components/live-announcement/live-announcement.html\"\n };\n };\n\n LiveAnnouncementDirective.$inject = [\"tgLiveAnnouncementService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgLiveAnnouncement\", LiveAnnouncementDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: notification.service.coffee\n */\n\n(function() {\n var LiveAnnouncementService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n LiveAnnouncementService = (function(superClass) {\n extend(LiveAnnouncementService, superClass);\n\n function LiveAnnouncementService() {\n this.open = false;\n this.title = \"\";\n this.desc = \"\";\n }\n\n LiveAnnouncementService.prototype.show = function(title, desc) {\n this.open = true;\n this.title = title;\n return this.desc = desc;\n };\n\n return LiveAnnouncementService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgLiveAnnouncementService\", LiveAnnouncementService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project-logo-big-src.directive.coffee\n */\n\n(function() {\n var ProjectLogoBigSrcDirective;\n\n ProjectLogoBigSrcDirective = function(projectLogoService) {\n var link;\n link = function(scope, el, attrs) {\n return scope.$watch('project', function(project) {\n var logo, projectLogo;\n project = Immutable.fromJS(project);\n if (!project) {\n return;\n }\n projectLogo = project.get('logo_big_url');\n if (projectLogo) {\n el.attr('src', projectLogo);\n return el.css('background', \"\");\n } else {\n logo = projectLogoService.getDefaultProjectLogo(project.get('slug'), project.get('id'));\n el.attr('src', logo.src);\n return el.css('background', logo.color);\n }\n });\n };\n return {\n link: link,\n scope: {\n project: \"=tgProjectLogoBigSrc\"\n }\n };\n };\n\n ProjectLogoBigSrcDirective.$inject = [\"tgProjectLogoService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgProjectLogoBigSrc\", ProjectLogoBigSrcDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project-logo-small-src.directive.coffee\n */\n\n(function() {\n var ProjectLogoSmallSrcDirective;\n\n ProjectLogoSmallSrcDirective = function(projectLogoService) {\n var link;\n link = function(scope, el, attrs) {\n return scope.$watch('project', function(project) {\n var logo, projectLogo;\n project = Immutable.fromJS(project);\n if (!project) {\n return;\n }\n projectLogo = project.get('logo_small_url');\n if (projectLogo) {\n el.attr('src', projectLogo);\n return el.css('background', \"\");\n } else {\n logo = projectLogoService.getDefaultProjectLogo(project.get('slug'), project.get('id'));\n el.attr('src', logo.src);\n return el.css('background', logo.color);\n }\n });\n };\n return {\n link: link,\n scope: {\n project: \"=tgProjectLogoSmallSrc\"\n }\n };\n };\n\n ProjectLogoSmallSrcDirective.$inject = [\"tgProjectLogoService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgProjectLogoSmallSrc\", ProjectLogoSmallSrcDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project-menu.controller.coffee\n */\n\n(function() {\n var ProjectMenuController;\n\n ProjectMenuController = (function() {\n ProjectMenuController.$inject = [\"tgProjectService\", \"tgLightboxFactory\"];\n\n function ProjectMenuController(projectService, lightboxFactory) {\n this.projectService = projectService;\n this.lightboxFactory = lightboxFactory;\n this.project = null;\n this.menu = Immutable.Map();\n }\n\n ProjectMenuController.prototype.show = function() {\n this.project = this.projectService.project;\n this.active = this._getActiveSection();\n this._setVideoConference();\n return this._setMenuPermissions();\n };\n\n ProjectMenuController.prototype.hide = function() {\n this.project = null;\n return this.menu = {};\n };\n\n ProjectMenuController.prototype.search = function() {\n return this.lightboxFactory.create(\"tg-search-box\", {\n \"class\": \"lightbox lightbox-search\"\n });\n };\n\n ProjectMenuController.prototype._setVideoConference = function() {\n var videoconferenceUrl;\n videoconferenceUrl = this._videoConferenceUrl();\n if (videoconferenceUrl) {\n return this.project = this.project.set(\"videoconferenceUrl\", videoconferenceUrl);\n }\n };\n\n ProjectMenuController.prototype._setMenuPermissions = function() {\n this.menu = Immutable.Map({\n epics: false,\n backlog: false,\n kanban: false,\n issues: false,\n wiki: false\n });\n if (this.project.get(\"is_epics_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_epics\") !== -1) {\n this.menu = this.menu.set(\"epics\", true);\n }\n if (this.project.get(\"is_backlog_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_us\") !== -1) {\n this.menu = this.menu.set(\"backlog\", true);\n }\n if (this.project.get(\"is_kanban_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_us\") !== -1) {\n this.menu = this.menu.set(\"kanban\", true);\n }\n if (this.project.get(\"is_issues_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_issues\") !== -1) {\n this.menu = this.menu.set(\"issues\", true);\n }\n if (this.project.get(\"is_wiki_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_wiki_pages\") !== -1) {\n return this.menu = this.menu.set(\"wiki\", true);\n }\n };\n\n ProjectMenuController.prototype._getActiveSection = function() {\n var indexBacklog, indexKanban, oldSectionName, sectionName, sectionsBreadcrumb;\n sectionName = this.projectService.section;\n sectionsBreadcrumb = this.projectService.sectionsBreadcrumb;\n indexBacklog = sectionsBreadcrumb.lastIndexOf(\"backlog\");\n indexKanban = sectionsBreadcrumb.lastIndexOf(\"kanban\");\n if (indexBacklog !== -1 || indexKanban !== -1) {\n if (indexKanban === -1 || indexBacklog > indexKanban) {\n oldSectionName = \"backlog\";\n } else {\n oldSectionName = \"kanban\";\n }\n }\n if (sectionName === \"backlog-kanban\") {\n if (oldSectionName === \"backlog\" || oldSectionName === \"kanban\") {\n sectionName = oldSectionName;\n } else if (this.project.get(\"is_backlog_activated\") && !this.project.get(\"is_kanban_activated\")) {\n sectionName = \"backlog\";\n } else if (!this.project.get(\"is_backlog_activated\") && this.project.get(\"is_kanban_activated\")) {\n sectionName = \"kanban\";\n }\n }\n return sectionName;\n };\n\n ProjectMenuController.prototype._videoConferenceUrl = function() {\n var baseUrl, url;\n if (this.project.get(\"videoconferences\") === \"appear-in\") {\n baseUrl = \"https://appear.in/\";\n } else if (this.project.get(\"videoconferences\") === \"talky\") {\n baseUrl = \"https://talky.io/\";\n } else if (this.project.get(\"videoconferences\") === \"jitsi\") {\n baseUrl = \"https://meet.jit.si/\";\n } else if (this.project.get(\"videoconferences\") === \"custom\") {\n return this.project.get(\"videoconferences_extra_data\");\n } else {\n return \"\";\n }\n if (this.project.get(\"videoconferences_extra_data\")) {\n url = this.project.get(\"slug\") + \"-\" + taiga.slugify(this.project.get(\"videoconferences_extra_data\"));\n } else {\n url = this.project.get(\"slug\");\n }\n if (this.project.get(\"videoconferences\") === \"jitsi\") {\n url = url.replace(/-/g, \"\");\n }\n return baseUrl + url;\n };\n\n return ProjectMenuController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"ProjectMenu\", ProjectMenuController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project-menu.directive.coffee\n */\n\n(function() {\n var ProjectMenuDirective, taiga;\n\n taiga = this.taiga;\n\n ProjectMenuDirective = function(projectService, lightboxFactory) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var projectChange;\n projectChange = function() {\n if (projectService.project) {\n return ctrl.show();\n } else {\n return ctrl.hide();\n }\n };\n scope.$watch((function() {\n return projectService.project;\n }), projectChange);\n scope.vm.fixed = false;\n return $(window).on(\"scroll\", function() {\n var position;\n position = $(window).scrollTop();\n if (position > 100 && scope.vm.fixed === false) {\n scope.vm.fixed = true;\n return scope.$digest();\n } else if (position < 100 && scope.vm.fixed === true) {\n scope.vm.fixed = false;\n return scope.$digest();\n }\n });\n };\n return {\n scope: {},\n controller: \"ProjectMenu\",\n controllerAs: \"vm\",\n templateUrl: \"components/project-menu/project-menu.html\",\n link: link\n };\n };\n\n ProjectMenuDirective.$inject = [\"tgProjectService\", \"tgLightboxFactory\"];\n\n angular.module(\"taigaComponents\").directive(\"tgProjectMenu\", ProjectMenuDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2018 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: search-list.directive.coffee\n */\n\n(function() {\n var groupBy, module, normalizeString, searchListDirective;\n\n module = angular.module(\"taigaComponents\");\n\n normalizeString = this.taiga.normalizeString;\n\n groupBy = this.taiga.groupBy;\n\n searchListDirective = function($translate) {\n var link;\n link = function(scope, el, attrs, model) {\n var avaliableItems, filtering, isContainedIn, itemsById, parseString, resetAll, resetSelected;\n scope.templateUrl = \"components/search-list/search-list-\" + scope.itemType + \"-choice.html\";\n scope.currentSelected = null;\n filtering = false;\n avaliableItems = [];\n itemsById = {};\n if (scope.itemType === 'issue') {\n scope.milestonesById = groupBy(scope.project.milestones, function(e) {\n return e.id;\n });\n }\n if (scope.filterClosed) {\n scope.showClosed = false;\n if (scope.itemType === 'sprint') {\n scope.textShowClosed = $translate.instant(\"BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS\");\n scope.textHideClosed = $translate.instant(\"BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS\");\n }\n }\n el.on(\"click\", \".choice\", function(event) {\n var choiceId, ref, value;\n choiceId = parseInt($(event.currentTarget).data(\"choice-id\"));\n value = ((ref = attrs.ngModel) != null ? ref.id : void 0) !== choiceId ? itemsById[choiceId] : null;\n model.$setViewValue(value);\n scope.currentSelected = value;\n return scope.$apply();\n });\n isContainedIn = function(needle, haystack) {\n return _.includes(parseString(haystack), parseString(needle));\n };\n parseString = function(value) {\n if (typeof value !== 'string') {\n value = value.toString();\n }\n return normalizeString(value.toUpperCase());\n };\n resetSelected = function() {\n scope.currentSelected = null;\n return model.$setViewValue(null);\n };\n resetAll = function() {\n resetSelected();\n scope.searchText = '';\n avaliableItems = angular.copy(scope.items);\n return itemsById = groupBy(avaliableItems, function(x) {\n return x.id;\n });\n };\n scope.isVisible = function(item) {\n var ref;\n if (!scope.filterClosed || scope.showClosed) {\n return true;\n }\n if (scope.itemType === 'sprint' && (item.closed || item.is_closed)) {\n if (((ref = scope.currentSelected) != null ? ref.id : void 0) === item.id) {\n resetSelected();\n }\n return false;\n }\n return true;\n };\n scope.toggleShowClosed = function(item) {\n return scope.showClosed = !scope.showClosed;\n };\n scope.filterItems = function(searchText) {\n scope.filtering = true;\n scope.items = _.filter(avaliableItems, function(item) {\n var itemAttrs;\n itemAttrs = item.getAttrs();\n if (Array.isArray(scope.filterBy)) {\n return _.some(scope.filterBy, function(attr) {\n return isContainedIn(searchText, itemAttrs[attr]);\n });\n } else {\n return isContainedIn(searchText, itemAttrs[scope.filterBy]);\n }\n });\n if (!_.find(scope.items, scope.currentSelected)) {\n return resetSelected();\n }\n };\n return scope.$watch('items', function(items) {\n if (!scope.filtering && items) {\n return resetAll();\n }\n });\n };\n return {\n link: link,\n templateUrl: \"components/search-list/search-list.html\",\n require: \"ngModel\",\n scope: {\n label: '@',\n placeholder: '@',\n project: '=',\n filterBy: '=',\n items: '=',\n itemType: '@',\n filterClosed: '=',\n itemDisabled: '='\n }\n };\n };\n\n module.directive('tgSearchList', ['$translate', searchListDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tag-line.directive.coffee\n */\n\n(function() {\n var TagOptionDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagOptionDirective = function() {\n var dispatch, link, select, stop;\n select = function(selected) {\n var containerHeight, diff, selectedPosition;\n selected.addClass('selected');\n selectedPosition = selected.position().top + selected.outerHeight();\n containerHeight = selected.parent().outerHeight();\n if (selectedPosition > containerHeight) {\n diff = selectedPosition - containerHeight;\n return selected.parent().scrollTop(selected.parent().scrollTop() + diff);\n } else if (selected.position().top < 0) {\n return selected.parent().scrollTop(selected.parent().scrollTop() + selected.position().top);\n }\n };\n dispatch = function(el, code, scope) {\n var activeElement, next, prev;\n activeElement = el.find(\".selected\");\n if (code === 40) {\n if (!activeElement.length) {\n return select(el.find('li:first'));\n } else {\n next = activeElement.next('li');\n if (next.length) {\n activeElement.removeClass('selected');\n return select(next);\n }\n }\n } else if (code === 38) {\n if (!activeElement.length) {\n return select(el.find('li:last'));\n } else {\n prev = activeElement.prev('li');\n if (prev.length) {\n activeElement.removeClass('selected');\n return select(prev);\n }\n }\n }\n };\n stop = function() {\n return $(document).off(\".tags-keyboard-navigation\");\n };\n link = function(scope, el) {\n stop();\n $(el).parent().on(\"keydown.tags-keyboard-navigation\", (function(_this) {\n return function(event) {\n var code;\n code = event.keyCode ? event.keyCode : event.which;\n if (code === 40 || code === 38) {\n event.preventDefault();\n return dispatch(el, code, scope);\n }\n };\n })(this));\n return scope.$on(\"$destroy\", stop);\n };\n return {\n link: link,\n templateUrl: \"components/tags/tag-dropdown/tag-dropdown.html\",\n scope: {\n onSelectTag: \"&\",\n colorArray: \"=\",\n tag: \"=\"\n }\n };\n };\n\n module.directive(\"tgTagsDropdown\", TagOptionDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tag-line.controller.coffee\n */\n\n(function() {\n var TagLineCommonController, module, trim;\n\n trim = this.taiga.trim;\n\n module = angular.module('taigaCommon');\n\n TagLineCommonController = (function() {\n TagLineCommonController.$inject = [\"tgTagLineService\"];\n\n function TagLineCommonController(tagLineService) {\n this.tagLineService = tagLineService;\n this.disableColorSelection = false;\n this.newTag = {\n name: \"\",\n color: null\n };\n this.colorArray = [];\n this.addTag = false;\n }\n\n TagLineCommonController.prototype.checkPermissions = function() {\n return this.tagLineService.checkPermissions(this.project.my_permissions, this.permissions);\n };\n\n TagLineCommonController.prototype._createColorsArray = function(projectTagColors) {\n return this.colorArray = this.tagLineService.createColorsArray(projectTagColors);\n };\n\n TagLineCommonController.prototype.displayTagInput = function() {\n return this.addTag = true;\n };\n\n TagLineCommonController.prototype.addNewTag = function(name, color) {\n this.newTag.name = \"\";\n this.newTag.color = null;\n if (!name.length) {\n return;\n }\n if (this.disableColorSelection) {\n if (name.length) {\n return this.onAddTag({\n name: name,\n color: color\n });\n }\n } else {\n if (this.project.tags_colors[name]) {\n color = this.project.tags_colors[name];\n }\n return this.onAddTag({\n name: name,\n color: color\n });\n }\n };\n\n TagLineCommonController.prototype.selectColor = function(color) {\n return this.newTag.color = color;\n };\n\n return TagLineCommonController;\n\n })();\n\n module.controller(\"TagLineCommonCtrl\", TagLineCommonController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tag-line.directive.coffee\n */\n\n(function() {\n var TagLineCommonDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagLineCommonDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {\n var unwatch;\n if (!_.isUndefined(attr.disableColorSelection)) {\n ctrl.disableColorSelection = true;\n }\n unwatch = scope.$watch(\"vm.project\", function(project) {\n if (!project || !Object.keys(project).length) {\n return;\n }\n unwatch();\n if (!ctrl.disableColorSelection) {\n return ctrl.colorArray = ctrl._createColorsArray(ctrl.project.tags_colors);\n }\n });\n return el.on(\"keydown\", \".tag-input\", function(event) {\n var tagName;\n if (event.keyCode === 27) {\n ctrl.addTag = false;\n ctrl.newTag.name = \"\";\n ctrl.newTag.color = \"\";\n event.stopPropagation();\n } else if (event.keyCode === 13) {\n event.preventDefault();\n if (el.find('.tags-dropdown .selected').length) {\n tagName = $('.tags-dropdown .selected .tags-dropdown-name').text();\n ctrl.addNewTag(tagName, null);\n } else {\n ctrl.addNewTag(ctrl.newTag.name, ctrl.newTag.color);\n }\n }\n return scope.$apply();\n });\n };\n return {\n link: link,\n scope: {\n permissions: \"@\",\n loadingAddTag: \"=\",\n loadingRemoveTag: \"=\",\n tags: \"=\",\n project: \"=\",\n onAddTag: \"&\",\n onDeleteTag: \"&\"\n },\n templateUrl: \"components/tags/tag-line-common/tag-line-common.html\",\n controller: \"TagLineCommonCtrl\",\n controllerAs: \"vm\",\n bindToController: true\n };\n };\n\n module.directive(\"tgTagLineCommon\", TagLineCommonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tag-line.controller.coffee\n */\n\n(function() {\n var TagLineController, module, trim;\n\n trim = this.taiga.trim;\n\n module = angular.module('taigaCommon');\n\n TagLineController = (function() {\n TagLineController.$inject = [\"$rootScope\", \"$tgConfirm\", \"$tgQueueModelTransformation\"];\n\n function TagLineController(rootScope, confirm, modelTransform) {\n this.rootScope = rootScope;\n this.confirm = confirm;\n this.modelTransform = modelTransform;\n this.loadingAddTag = false;\n }\n\n TagLineController.prototype.onDeleteTag = function(tag) {\n var onDeleteTagError, onDeleteTagSuccess, tagName, transform;\n this.loadingRemoveTag = tag[0];\n onDeleteTagSuccess = (function(_this) {\n return function(item) {\n _this.rootScope.$broadcast(\"object:updated\");\n _this.loadingRemoveTag = false;\n return item;\n };\n })(this);\n onDeleteTagError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.loadingRemoveTag = false;\n };\n })(this);\n tagName = trim(tag[0].toLowerCase());\n transform = this.modelTransform.save(function(item) {\n var itemtags;\n itemtags = _.clone(item.tags);\n _.remove(itemtags, function(tag) {\n return tag[0] === tagName;\n });\n item.tags = itemtags;\n return item;\n });\n return transform.then(onDeleteTagSuccess, onDeleteTagError);\n };\n\n TagLineController.prototype.onAddTag = function(tag, color) {\n var onAddTagError, onAddTagSuccess, transform;\n this.loadingAddTag = true;\n onAddTagSuccess = (function(_this) {\n return function(item) {\n _this.rootScope.$broadcast(\"object:updated\");\n _this.addTag = false;\n _this.loadingAddTag = false;\n return item;\n };\n })(this);\n onAddTagError = (function(_this) {\n return function() {\n _this.loadingAddTag = false;\n return _this.confirm.notify(\"error\");\n };\n })(this);\n transform = this.modelTransform.save((function(_this) {\n return function(item) {\n var itemtags, value;\n value = trim(tag.toLowerCase());\n itemtags = _.clone(item.tags);\n itemtags.push([tag, color]);\n item.tags = itemtags;\n return item;\n };\n })(this));\n return transform.then(onAddTagSuccess, onAddTagError);\n };\n\n return TagLineController;\n\n })();\n\n module.controller(\"TagLineCtrl\", TagLineController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tag-line.directive.coffee\n */\n\n(function() {\n var TagLineDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagLineDirective = function() {\n return {\n scope: {\n item: \"=\",\n permissions: \"@\",\n project: \"=\"\n },\n templateUrl: \"components/tags/tag-line-detail/tag-line-detail.html\",\n controller: \"TagLineCtrl\",\n controllerAs: \"vm\",\n bindToController: true\n };\n };\n\n module.directive(\"tgTagLine\", TagLineDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tag-line.service.coffee\n */\n\n(function() {\n var TagLineService, module,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n module = angular.module('taigaCommon');\n\n TagLineService = (function(superClass) {\n extend(TagLineService, superClass);\n\n TagLineService.$inject = [];\n\n function TagLineService() {}\n\n TagLineService.prototype.checkPermissions = function(myPermissions, projectPermissions) {\n return _.includes(myPermissions, projectPermissions);\n };\n\n TagLineService.prototype.createColorsArray = function(projectTagColors) {\n return _.map(projectTagColors, function(index, value) {\n return [value, index];\n });\n };\n\n return TagLineService;\n\n })(taiga.Service);\n\n module.service(\"tgTagLineService\", TagLineService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tag-line.directive.coffee\n */\n\n(function() {\n var TagDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagDirective = function() {\n return {\n templateUrl: \"components/tags/tag/tag.html\",\n scope: {\n tag: \"<\",\n loadingRemoveTag: \"<\",\n onDeleteTag: \"&\",\n hasPermissions: \"@\"\n }\n };\n };\n\n module.directive(\"tgTag\", TagDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: taskboard-zoom.directive.coffee\n */\n\n(function() {\n var TaskboardZoomDirective;\n\n TaskboardZoomDirective = function(storage) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var getZoomView, zooms;\n scope.zoomIndex = storage.get(\"taskboard_zoom\") || 2;\n scope.levels = 4;\n zooms = [[\"ref\"], [\"subject\"], [\"owner\", \"tags\", \"extra_info\", \"unfold\"], [\"attachments\", \"empty_extra_info\"], [\"related_tasks\"]];\n getZoomView = function(zoomIndex) {\n if (zoomIndex == null) {\n zoomIndex = 0;\n }\n if (storage.get(\"taskboard_zoom\") !== zoomIndex) {\n storage.set(\"taskboard_zoom\", zoomIndex);\n }\n return _.reduce(zooms, function(result, value, key) {\n if (key <= zoomIndex) {\n result = result.concat(value);\n }\n return result;\n });\n };\n return scope.$watch('zoomIndex', function(zoomLevel) {\n var zoom;\n zoom = getZoomView(zoomLevel);\n return scope.onZoomChange({\n zoomLevel: zoomLevel,\n zoom: zoom\n });\n });\n };\n return {\n scope: {\n onZoomChange: \"&\"\n },\n template: \"\",\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgTaskboardZoom\", [\"$tgStorage\", TaskboardZoomDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Andrey Antukh \n * Copyright (C) 2014-2015 Jesús Espino Garcia \n * Copyright (C) 2014-2015 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: terms-announcement.directive.coffee\n */\n\n(function() {\n var TermsAnnouncementDirective;\n\n TermsAnnouncementDirective = function(TermsAnnouncementService, $repo, $auth, $config, $model) {\n var link;\n link = function(scope, el, attrs) {\n scope.privacyPolicyUrl = $config.get(\"privacyPolicyUrl\");\n scope.termsOfServiceUrl = $config.get(\"termsOfServiceUrl\");\n return scope.GDPRUrl = $config.get(\"GDPRUrl\");\n };\n return {\n restrict: \"AE\",\n scope: {},\n controllerAs: 'vm',\n controller: function() {\n this.close = function() {\n var onSuccess, user, userData;\n TermsAnnouncementService.open = false;\n user = $auth.getUser();\n if (user.read_new_terms === void 0) {\n userData = user.getAttrs();\n userData.read_new_terms = false;\n user = $model.make_model(\"users\", userData);\n }\n user.read_new_terms = true;\n onSuccess = function(data) {\n return $auth.setUser(data);\n };\n return $repo.save(user).then(onSuccess);\n };\n return Object.defineProperties(this, {\n open: {\n get: function() {\n return TermsAnnouncementService.open;\n }\n }\n });\n },\n link: link,\n templateUrl: \"components/terms-announcement/terms-announcement.html\"\n };\n };\n\n TermsAnnouncementDirective.$inject = [\"tgTermsAnnouncementService\", \"$tgRepo\", \"$tgAuth\", \"$tgConfig\", \"$tgModel\"];\n\n angular.module(\"taigaComponents\").directive(\"tgTermsAnnouncement\", TermsAnnouncementDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: terms-announcement.service.coffee\n */\n\n(function() {\n var TermsAnnouncementService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n TermsAnnouncementService = (function(superClass) {\n extend(TermsAnnouncementService, superClass);\n\n function TermsAnnouncementService() {\n this.open = false;\n }\n\n TermsAnnouncementService.prototype.show = function() {\n return this.open = true;\n };\n\n return TermsAnnouncementService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgTermsAnnouncementService\", TermsAnnouncementService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/terms-of-service-and-privacy-policy-notice/terms-of-service-and-privacy-policy-notice.directive.coffee\n */\n\n(function() {\n var TermsOfServiceAndPrivacyPolicyNoticeDirective;\n\n TermsOfServiceAndPrivacyPolicyNoticeDirective = function($config) {\n var link;\n link = function(scope, el, attrs) {\n scope.privacyPolicyUrl = $config.get(\"privacyPolicyUrl\");\n scope.termsOfServiceUrl = $config.get(\"termsOfServiceUrl\");\n scope.target = false;\n if (!scope.privacyPolicyUrl || !scope.termsOfServiceUrl) {\n scope.target = true;\n }\n return el.on(\"change\", \"input[name='accepted_terms']\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n scope.target = target.is(\":checked\");\n return scope.$apply();\n });\n };\n return {\n restrict: \"AE\",\n link: link,\n scope: {\n target: \"=\"\n },\n templateUrl: \"components/terms-of-service-and-privacy-policy-notice/terms-of-service-and-privacy-policy-notice.html\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgTermsOfServiceAndPrivacyPolicyNotice\", [\"$tgConfig\", TermsOfServiceAndPrivacyPolicyNoticeDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tribe-button.directive.coffee\n */\n\n(function() {\n var TribeButtonDirective;\n\n TribeButtonDirective = function(configService, locationService) {\n var link;\n link = function(scope, el, attrs) {\n scope.vm = {};\n scope.vm.tribeHost = configService.config.tribeHost;\n scope.vm.url = (locationService.protocol()) + \"://\" + (locationService.host());\n if (locationService.protocol() === \"http\" && locationService.port() !== 80) {\n return scope.vm.url = scope.vm.url + \":\" + (locationService.port());\n } else if (locationService.protocol() === \"https\" && locationService.port() !== 443) {\n return scope.vm.url = scope.vm.url + \":\" + (locationService.port());\n }\n };\n return {\n scope: {\n usId: \"=\",\n projectSlug: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: \"components/tribe-button/tribe-button.html\",\n link: link\n };\n };\n\n TribeButtonDirective.$inject = [\"$tgConfig\", \"$tgLocation\"];\n\n angular.module(\"taigaComponents\").directive(\"tgTribeButton\", TribeButtonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tribe-linked.directive.coffee\n */\n\n(function() {\n var TribeLinkedDirective;\n\n TribeLinkedDirective = function(configService) {\n var directive, link;\n link = function(scope, el, attrs) {\n scope.vm = {};\n scope.vm.tribeHost = configService.config.tribeHost;\n scope.vm.show = function() {\n return scope.vm.open = true;\n };\n return scope.vm.hide = function(event) {\n return scope.vm.open = false;\n };\n };\n directive = {\n templateUrl: \"components/tribe-button/tribe-linked.html\",\n scope: {\n gigTitle: \"=\",\n gigId: \"=\"\n },\n link: link\n };\n return directive;\n };\n\n TribeLinkedDirective.$inject = [\"$tgConfig\"];\n\n angular.module(\"taigaComponents\").directive(\"tgTribeLinked\", TribeLinkedDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: vote-button.controller.coffee\n */\n\n(function() {\n var VoteButtonController;\n\n VoteButtonController = (function() {\n VoteButtonController.$inject = [\"tgCurrentUserService\"];\n\n function VoteButtonController(currentUserService) {\n this.currentUserService = currentUserService;\n this.user = this.currentUserService.getUser();\n this.isMouseOver = false;\n this.loading = false;\n }\n\n VoteButtonController.prototype.showTextWhenMouseIsOver = function() {\n return this.isMouseOver = true;\n };\n\n VoteButtonController.prototype.showTextWhenMouseIsLeave = function() {\n return this.isMouseOver = false;\n };\n\n VoteButtonController.prototype.toggleVote = function() {\n var promise;\n this.loading = true;\n if (!this.item.is_voter) {\n promise = this._upvote();\n } else {\n promise = this._downvote();\n }\n promise[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n return promise;\n };\n\n VoteButtonController.prototype._upvote = function() {\n return this.onUpvote().then((function(_this) {\n return function() {\n return _this.showTextWhenMouseIsLeave();\n };\n })(this));\n };\n\n VoteButtonController.prototype._downvote = function() {\n return this.onDownvote();\n };\n\n return VoteButtonController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"VoteButton\", VoteButtonController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: vote-button.directive.coffee\n */\n\n(function() {\n var VoteButtonDirective;\n\n VoteButtonDirective = function() {\n return {\n scope: {},\n controller: \"VoteButton\",\n bindToController: {\n item: \"=\",\n onUpvote: \"=\",\n onDownvote: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: \"components/vote-button/vote-button.html\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgVoteButton\", VoteButtonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: watch-button.controller.coffee\n */\n\n(function() {\n var WatchButtonController;\n\n WatchButtonController = (function() {\n WatchButtonController.$inject = [\"tgCurrentUserService\", \"$rootScope\"];\n\n function WatchButtonController(currentUserService, rootScope) {\n this.currentUserService = currentUserService;\n this.rootScope = rootScope;\n this.user = this.currentUserService.getUser();\n this.isMouseOver = false;\n this.loading = false;\n }\n\n WatchButtonController.prototype.showTextWhenMouseIsOver = function() {\n return this.isMouseOver = true;\n };\n\n WatchButtonController.prototype.showTextWhenMouseIsLeave = function() {\n return this.isMouseOver = false;\n };\n\n WatchButtonController.prototype.openWatchers = function() {\n return this.rootScope.$broadcast(\"watcher:add\", this.item);\n };\n\n WatchButtonController.prototype.getPerms = function() {\n var name, perms;\n if (!this.item) {\n return \"\";\n }\n name = this.item._name;\n perms = {\n userstories: 'modify_us',\n issues: 'modify_issue',\n tasks: 'modify_task',\n epics: 'modify_epic'\n };\n return perms[name];\n };\n\n WatchButtonController.prototype.toggleWatch = function() {\n var promise;\n this.loading = true;\n if (!this.item.is_watcher) {\n promise = this._watch();\n } else {\n promise = this._unwatch();\n }\n promise[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n return promise;\n };\n\n WatchButtonController.prototype._watch = function() {\n return this.onWatch().then((function(_this) {\n return function() {\n return _this.showTextWhenMouseIsLeave();\n };\n })(this));\n };\n\n WatchButtonController.prototype._unwatch = function() {\n return this.onUnwatch();\n };\n\n return WatchButtonController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"WatchButton\", WatchButtonController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: watch-button.directive.coffee\n */\n\n(function() {\n var WatchButtonDirective;\n\n WatchButtonDirective = function() {\n return {\n scope: {},\n controller: \"WatchButton\",\n bindToController: {\n item: \"=\",\n onWatch: \"=\",\n onUnwatch: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: function(item, attributes) {\n return \"components/watch-button/watch-button-\" + attributes.environment + \".html\";\n }\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgWatchButton\", WatchButtonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/comment-edit-wysiwyg.directive.coffee\n */\n\n(function() {\n var CommentEditWysiwyg;\n\n CommentEditWysiwyg = function(attachmentsFullService) {\n var link;\n link = function($scope, $el, $attrs) {\n var types, uploadFile;\n types = {\n epics: \"epic\",\n userstories: \"us\",\n issues: \"issue\",\n tasks: \"task\"\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.vm.projectId, $scope.vm.comment.comment.id, types[$scope.vm.comment.comment._name], file, true, true).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n return $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n
    \"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgCommentEditWysiwyg\", [\"tgAttachmentsFullService\", CommentEditWysiwyg]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/comment-wysiwyg.directive.coffee\n */\n\n(function() {\n var CommentWysiwyg;\n\n CommentWysiwyg = function(attachmentsFullService) {\n var link;\n link = function($scope, $el, $attrs) {\n var types, uploadFile;\n $scope.editableDescription = false;\n $scope.saveComment = function(description, cb) {\n $scope.content = '';\n $scope.vm.type.comment = description;\n return $scope.vm.onAddComment({\n callback: cb\n });\n };\n types = {\n epics: \"epic\",\n userstories: \"us\",\n issues: \"issue\",\n tasks: \"task\"\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.vm.projectId, $scope.vm.type.id, types[$scope.vm.type._name], file, true, true).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n $scope.onChange = function(markdown) {\n return $scope.vm.type.comment = markdown;\n };\n $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n $scope.content = '';\n return $scope.$watch(\"vm.type\", function(value) {\n if (!value) {\n return;\n }\n return $scope.storageKey = \"comment-\" + value.project + \"-\" + value.id + \"-\" + value._name;\n });\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n
    \"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgCommentWysiwyg\", [\"tgAttachmentsFullService\", CommentWysiwyg]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/comment-edit-wysiwyg.directive.coffee\n */\n\n(function() {\n var CustomFieldEditWysiwyg;\n\n CustomFieldEditWysiwyg = function(attachmentsFullService) {\n var link;\n link = function($scope, $el, $attrs) {\n var types, uploadFile;\n types = {\n userstories: \"us\",\n issues: \"issue\",\n tasks: \"task\"\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.vm.projectId, $scope.vm.comment.comment.id, types[$scope.vm.comment.comment._name], file).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n return $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n
    \"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgCustomFieldEditWysiwyg\", [\"tgAttachmentsFullService\", CustomFieldEditWysiwyg]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/item-wysiwyg.directive.coffee\n */\n\n(function() {\n var ItemWysiwyg;\n\n ItemWysiwyg = function($modelTransform, $rootscope, $confirm, attachmentsFullService, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var uploadFile;\n $scope.editableDescription = false;\n $scope.saveDescription = function(description, cb) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.description = description;\n return item;\n });\n transform.then(function() {\n $confirm.notify(\"success\");\n return $rootscope.$broadcast(\"object:updated\");\n });\n transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return transform[\"finally\"](cb);\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.project.id, $scope.item.id, $attrs.type, file).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n $scope.$watch($attrs.model, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n $scope.version = value.version;\n return $scope.storageKey = $scope.project.id + \"-\" + value.id + \"-\" + $attrs.type;\n });\n return $scope.$watch('project', function(project) {\n if (!project) {\n return;\n }\n return $scope.editableDescription = project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n });\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n\\n
    \\n\\n \\n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\\n
    \\n\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgItemWysiwyg\", [\"$tgQueueModelTransformation\", \"$rootScope\", \"$tgConfirm\", \"tgAttachmentsFullService\", \"$translate\", ItemWysiwyg]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/wysiwyg-code-hightlighter.service.coffee\n */\n\n(function() {\n var WysiwygCodeHightlighterService;\n\n WysiwygCodeHightlighterService = (function() {\n function WysiwygCodeHightlighterService() {\n Prism.plugins.customClass.prefix('prism-');\n Prism.plugins.customClass.map({});\n }\n\n WysiwygCodeHightlighterService.prototype.getLanguages = function() {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n if (_this.languages) {\n return resolve(_this.languages);\n } else if (_this.loadPromise) {\n return _this.loadPromise.then(function() {\n return resolve(_this.languages);\n });\n } else {\n return _this.loadPromise = $.getJSON(\"/\" + window._version + \"/prism/prism-languages.json\").then(function(_languages_) {\n _this.loadPromise = null;\n _this.languages = _.map(_languages_, function(it) {\n it.url = (\"/\" + window._version + \"/prism/\") + it.file;\n return it;\n });\n return resolve(_this.languages);\n });\n }\n };\n })(this));\n };\n\n WysiwygCodeHightlighterService.prototype.getLanguageInClassList = function(classes) {\n var lan;\n lan = _.find(this.languages, function(it) {\n return !!_.find(classes, function(className) {\n return 'language-' + it.name === className;\n });\n });\n if (lan) {\n return lan.name;\n } else {\n return null;\n }\n };\n\n WysiwygCodeHightlighterService.prototype.loadLanguage = function(lan) {\n return new Promise(function(resolve) {\n if (!Prism.languages[lan]) {\n return ljs.load(\"/\" + window._version + \"/prism/prism-\" + lan + \".min.js\", resolve);\n } else {\n return resolve();\n }\n });\n };\n\n WysiwygCodeHightlighterService.prototype.replaceCodeBrToNl = function(code) {\n return $(code).find('br').replaceWith('\\n');\n };\n\n WysiwygCodeHightlighterService.prototype.hightlightCode = function(code) {\n var lan;\n this.replaceCodeBrToNl(code);\n lan = this.getLanguageInClassList(code.classList);\n if (lan) {\n return this.loadLanguage(lan).then(function() {\n return Prism.highlightElement(code);\n });\n }\n };\n\n WysiwygCodeHightlighterService.prototype.addHightlighter = function(element) {\n var codes;\n codes = $(element).find('code');\n return codes.each((function(_this) {\n return function(index, code) {\n return _this.hightlightCode(code);\n };\n })(this));\n };\n\n return WysiwygCodeHightlighterService;\n\n })();\n\n angular.module(\"taigaComponents\").service(\"tgWysiwygCodeHightlighterService\", WysiwygCodeHightlighterService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/wysiwyg-code-lightbox/wysiwyg-code-lightbox.directive.coffee\n */\n\n(function() {\n var WysiwygCodeLightbox;\n\n WysiwygCodeLightbox = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return scope.$watch('visible', function(visible) {\n if (visible && !el.hasClass('open')) {\n scope.open = true;\n lightboxService.open(el, null, scope.onClose);\n return scope.$applyAsync(function() {\n var textarea;\n textarea = el[0].querySelector('textarea');\n if (textarea) {\n return textarea.select();\n }\n });\n } else if (!visible && el.hasClass('open')) {\n scope.open = false;\n return lightboxService.close(el);\n }\n });\n };\n return {\n scope: {\n languages: '<',\n codeLanguage: '<',\n code: '<',\n visible: '<',\n onClose: '&',\n onSave: '&'\n },\n link: link,\n templateUrl: \"components/wysiwyg/wysiwyg-code-lightbox/wysiwyg-code-lightbox.html\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgWysiwygCodeLightbox\", [\"lightboxService\", WysiwygCodeLightbox]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/wysiwyg-mention.service.coffee\n */\n\n(function() {\n var WysiwygMentionService;\n\n WysiwygMentionService = (function() {\n WysiwygMentionService.$inject = [\"tgProjectService\", \"tgWysiwygService\", \"$tgNavUrls\", \"$tgResources\"];\n\n function WysiwygMentionService(projectService, wysiwygService, navurls, rs) {\n this.projectService = projectService;\n this.wysiwygService = wysiwygService;\n this.navurls = navurls;\n this.rs = rs;\n this.cancelablePromise = null;\n }\n\n WysiwygMentionService.prototype.searchEmoji = function(name, cb) {\n var filteredEmojis;\n filteredEmojis = this.wysiwygService.searchEmojiByName(name);\n filteredEmojis = filteredEmojis.slice(0, 10);\n return cb(filteredEmojis);\n };\n\n WysiwygMentionService.prototype.searchUser = function(term, cb) {\n var searchProps, users;\n searchProps = ['username', 'full_name', 'full_name_display'];\n users = this.projectService.project.toJS().members.filter((function(_this) {\n return function(user) {\n var i, len, prop;\n for (i = 0, len = searchProps.length; i < len; i++) {\n prop = searchProps[i];\n if (taiga.slugify(user[prop]).indexOf(term) >= 0) {\n return true;\n } else if (user[prop].indexOf(term) >= 0) {\n return true;\n }\n }\n return false;\n };\n })(this));\n users = users.slice(0, 10).map((function(_this) {\n return function(it) {\n it.url = _this.navurls.resolve('user-profile', {\n project: _this.projectService.project.get('slug'),\n username: it.username\n });\n return it;\n };\n })(this));\n return cb(users);\n };\n\n WysiwygMentionService.prototype.searchItem = function(term) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n var filter, searchProps, searchTypes, urls;\n term = taiga.slugify(term);\n searchTypes = ['issues', 'tasks', 'userstories'];\n urls = {\n issues: \"project-issues-detail\",\n tasks: \"project-tasks-detail\",\n userstories: \"project-userstories-detail\"\n };\n searchProps = ['ref', 'subject'];\n filter = function(item) {\n var i, len, prop;\n for (i = 0, len = searchProps.length; i < len; i++) {\n prop = searchProps[i];\n if (taiga.slugify(item[prop]).indexOf(term) >= 0) {\n return true;\n }\n }\n return false;\n };\n if (_this.cancelablePromise) {\n _this.cancelablePromise.abort();\n }\n _this.cancelablePromise = _this.rs.search[\"do\"](_this.projectService.project.get('id'), term);\n return _this.cancelablePromise.then(function(res) {\n var i, items, len, result, type;\n if (res.count < 1 || res.count === res.wikipages.length) {\n return resolve([]);\n } else {\n result = [];\n for (i = 0, len = searchTypes.length; i < len; i++) {\n type = searchTypes[i];\n if (res[type] && res[type].length > 0) {\n items = res[type].filter(filter);\n items = items.map(function(it) {\n it.url = _this.navurls.resolve(urls[type], {\n project: _this.projectService.project.get('slug'),\n ref: it.ref\n });\n return it;\n });\n result = result.concat(items);\n }\n }\n result = _.sortBy(result, [\"ref\"]);\n return resolve(result.slice(0, 10));\n }\n });\n };\n })(this));\n };\n\n WysiwygMentionService.prototype.search = function(mention) {\n return new Promise((function(_this) {\n return function(resolve) {\n if ('#'.indexOf(mention[0]) !== -1) {\n return _this.searchItem(mention.replace('#', '')).then(resolve);\n } else if ('@'.indexOf(mention[0]) !== -1) {\n return _this.searchUser(mention.replace('@', ''), resolve);\n } else if (':'.indexOf(mention[0]) !== -1) {\n return _this.searchEmoji(mention.replace(':', ''), resolve);\n }\n };\n })(this));\n };\n\n return WysiwygMentionService;\n\n })();\n\n angular.module(\"taigaComponents\").service(\"tgWysiwygMentionService\", WysiwygMentionService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/wysiwyg.directive.coffee\n */\n\n(function() {\n var Medium, bindOnce, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n Medium = function($translate, $confirm, $storage, wysiwygService, animationFrame, tgLoader, wysiwygCodeHightlighterService, wysiwygMentionService, analytics, $location) {\n var AlignRightButton, CodeButton, CustomPasteHandler, addCodeBlockAndHightlight, getIcon, getRangeCodeBlock, isCodeBlockSelected, link, oldIsBlockContainer, refreshCodeBlocks, removeCodeBlockAndHightlight, removeSelections;\n removeSelections = function() {\n if (window.getSelection) {\n if (window.getSelection().empty) {\n return window.getSelection().empty();\n }\n } else if (window.getSelection().removeAllRanges) {\n return window.getSelection().removeAllRanges();\n } else if (document.selection) {\n return document.selection.empty();\n }\n };\n getRangeCodeBlock = function(range) {\n return $(range.endContainer).parentsUntil('.editor', 'code');\n };\n isCodeBlockSelected = function(range) {\n return !!getRangeCodeBlock(range).length;\n };\n removeCodeBlockAndHightlight = function(selection, mediumInstance) {\n var code, p, pre;\n if ($(selection).is('code')) {\n code = selection;\n } else {\n code = $(selection).closest('code')[0];\n }\n pre = code.parentNode;\n p = document.createElement('p');\n p.innerText = code.innerText;\n pre.parentNode.replaceChild(p, pre);\n return mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n };\n addCodeBlockAndHightlight = function(range, mediumInstance) {\n var code, extract, pre, start;\n pre = document.createElement('pre');\n code = document.createElement('code');\n if (!range.startContainer.parentNode.nextSibling) {\n $('
    ').insertAfter(range.startContainer.parentNode);\n }\n start = range.endContainer.parentNode.nextSibling;\n extract = range.extractContents();\n code.appendChild(extract);\n pre.appendChild(code);\n start.parentNode.insertBefore(pre, start);\n refreshCodeBlocks(mediumInstance);\n return mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n };\n refreshCodeBlocks = function(mediumInstance) {\n var i, j, len, len1, mainChildren, p, pre, preList, ref, results;\n if (!mediumInstance) {\n return;\n }\n ref = mediumInstance.elements[0].children;\n for (i = 0, len = ref.length; i < len; i++) {\n mainChildren = ref[i];\n if (mainChildren && mainChildren.tagName.toLowerCase() === 'p' && !mainChildren.innerHTML.trim().length) {\n mainChildren.parentNode.removeChild(mainChildren);\n }\n }\n preList = mediumInstance.elements[0].querySelectorAll('pre');\n results = [];\n for (j = 0, len1 = preList.length; j < len1; j++) {\n pre = preList[j];\n pre.setAttribute('contenteditable', false);\n pre.setAttribute('title', $translate.instant(\"COMMON.WYSIWYG.DB_CLICK\"));\n pre.addEventListener('mousedown', function(e) {\n return e.preventDefault();\n });\n if (pre.nextElementSibling && pre.nextElementSibling.nodeName.toLowerCase() === 'p' && !pre.nextElementSibling.children.length) {\n results.push(pre.nextElementSibling.appendChild(document.createElement('br')));\n } else if (!pre.nextElementSibling || ['p', 'ul', 'h1', 'h2', 'h3'].indexOf(pre.nextElementSibling.nodeName.toLowerCase()) === -1) {\n p = document.createElement('p');\n p.appendChild(document.createElement('br'));\n results.push(pre.parentNode.insertBefore(p, pre.nextSibling));\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n AlignRightButton = MediumEditor.extensions.button.extend({\n name: 'rtl',\n init: function() {\n var option;\n option = _.find(this.base.options.toolbar.buttons, function(it) {\n return it.name === 'rtl';\n });\n this.button = this.document.createElement('button');\n this.button.classList.add('medium-editor-action');\n this.button.innerHTML = option.contentDefault || 'RTL';\n this.button.title = 'RTL';\n return this.on(this.button, 'click', this.handleClick.bind(this));\n },\n getButton: function() {\n return this.button;\n },\n handleClick: function(event) {\n var range;\n range = MediumEditor.selection.getSelectionRange(document);\n if (range.commonAncestorContainer.parentNode.style.textAlign === 'right') {\n return document.execCommand('justifyLeft', false);\n } else {\n return document.execCommand('justifyRight', false);\n }\n }\n });\n getIcon = function(icon) {\n return \"\\n \\n\";\n };\n CodeButton = MediumEditor.extensions.button.extend({\n name: 'code',\n init: function() {\n var option;\n option = _.find(this.base.options.toolbar.buttons, function(it) {\n return it.name === 'code';\n });\n this.button = this.document.createElement('button');\n this.button.classList.add('medium-editor-action');\n this.button.innerHTML = option.contentDefault || 'Code';\n this.button.title = 'Code';\n return this.on(this.button, 'click', this.handleClick.bind(this));\n },\n getButton: function() {\n return this.button;\n },\n tagNames: ['code'],\n handleClick: function(event) {\n var range, toolbar;\n range = MediumEditor.selection.getSelectionRange(self.document);\n if (isCodeBlockSelected(range, this.base)) {\n removeCodeBlockAndHightlight(range.endContainer, this.base);\n } else {\n addCodeBlockAndHightlight(range, this.base);\n removeSelections();\n }\n toolbar = this.base.getExtensionByName('toolbar');\n if (toolbar) {\n return toolbar.hideToolbar();\n }\n }\n });\n CustomPasteHandler = MediumEditor.extensions.paste.extend({\n doPaste: function(pastedHTML, pastedPlain, editable) {\n var html;\n html = MediumEditor.util.htmlEntities(pastedPlain);\n return MediumEditor.util.insertHTMLCommand(this.document, html);\n }\n });\n oldIsBlockContainer = MediumEditor.util.isBlockContainer;\n MediumEditor.util.isBlockContainer = function(element) {\n var tagName;\n if (!element) {\n return oldIsBlockContainer(element);\n }\n if (element.tagName) {\n tagName = element.tagName;\n } else {\n tagName = element.parentNode.tagName;\n }\n if (tagName.toLowerCase() === 'code') {\n return true;\n }\n return oldIsBlockContainer(element);\n };\n link = function($scope, $el, $attrs) {\n var change, clean, codeBlockSelected, create, discardLocalStorage, editorMarkdown, editorMedium, getCurrentContent, isDraft, isEditOnly, isOutdated, localSave, mediumInstance, notPersist, replaceCodeBrToNl, saveEnd, setEditMode, setHtmlMedium, throttleChange, unwatch, updateMarkdownWithCurrentHtml, uploadEnd;\n mediumInstance = null;\n editorMedium = $el.find('.medium');\n editorMarkdown = $el.find('.markdown');\n codeBlockSelected = null;\n isEditOnly = !!$attrs.$attr.editonly;\n notPersist = !!$attrs.$attr.notPersist;\n $scope.required = !!$attrs.$attr.required;\n $scope.editMode = isEditOnly || false;\n $scope.mode = $storage.get('editor-mode', 'html');\n $scope.markdown = '';\n $scope.codeEditorVisible = false;\n $scope.codeLans = [];\n wysiwygCodeHightlighterService.getLanguages().then(function(codeLans) {\n return $scope.codeLans = codeLans;\n });\n setEditMode = function(editMode) {\n return $scope.editMode = editMode;\n };\n setHtmlMedium = function(markdown) {\n var html;\n html = wysiwygService.getHTML(markdown);\n editorMedium.html(html);\n wysiwygCodeHightlighterService.addHightlighter(mediumInstance.elements[0]);\n if ($scope.editMode) {\n return refreshCodeBlocks(mediumInstance);\n }\n };\n $scope.saveSnippet = function(lan, code) {\n var codePre;\n $scope.codeEditorVisible = false;\n codeBlockSelected.innerText = code;\n codePre = codeBlockSelected.parentNode;\n if (lan === 'remove-formating') {\n codeBlockSelected.className = '';\n codePre.className = '';\n removeCodeBlockAndHightlight(codeBlockSelected, mediumInstance);\n } else if (_.trim(code).length) {\n if (lan) {\n codeBlockSelected.className = 'language-' + lan;\n codePre.className = 'language-' + lan;\n } else {\n codeBlockSelected.className = '';\n codePre.className = '';\n }\n wysiwygCodeHightlighterService.hightlightCode(codeBlockSelected);\n mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n } else {\n codeBlockSelected.parentNode.parentNode.removeChild(codeBlockSelected.parentNode);\n mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n }\n throttleChange();\n return null;\n };\n $scope.setMode = function(mode) {\n $storage.set('editor-mode', mode);\n if (mode === 'markdown') {\n updateMarkdownWithCurrentHtml();\n } else {\n setHtmlMedium($scope.markdown);\n }\n $scope.mode = mode;\n return mediumInstance.trigger('editableBlur', {}, editorMedium[0]);\n };\n $scope.save = function(e) {\n if (e) {\n e.preventDefault();\n }\n if ($scope.mode === 'html') {\n updateMarkdownWithCurrentHtml();\n }\n setHtmlMedium($scope.markdown);\n if ($scope.required && !$scope.markdown.length) {\n return;\n }\n $scope.saving = true;\n $scope.outdated = false;\n $scope.onSave({\n text: $scope.markdown,\n cb: saveEnd\n });\n };\n $scope.cancel = function(e) {\n if (e) {\n e.preventDefault();\n }\n if (!isEditOnly) {\n setEditMode(false);\n }\n if (notPersist) {\n clean();\n } else if ($scope.mode === 'html') {\n setHtmlMedium($scope.content || null);\n }\n $scope.markdown = $scope.content;\n discardLocalStorage();\n mediumInstance.trigger('blur', {}, editorMedium[0]);\n $scope.outdated = false;\n refreshCodeBlocks(mediumInstance);\n $scope.onCancel();\n };\n clean = function() {\n $scope.markdown = '';\n return editorMedium.html('');\n };\n saveEnd = function() {\n $scope.saving = false;\n if (!isEditOnly) {\n setEditMode(false);\n }\n if (notPersist) {\n clean();\n }\n discardLocalStorage();\n mediumInstance.trigger('blur', {}, editorMedium[0]);\n return analytics.trackEvent('develop', 'save wysiwyg', $scope.mode, 1);\n };\n uploadEnd = function(name, url) {\n if (taiga.isImage(name)) {\n return mediumInstance.pasteHTML(\"
    \");\n } else {\n name = $('
    ').text(name).html();\n return mediumInstance.pasteHTML(\"\" + name + \"
    \");\n }\n };\n isOutdated = function() {\n var store;\n store = $storage.get($scope.storageKey);\n if (store && store.version && store.version !== $scope.version) {\n return true;\n }\n return false;\n };\n isDraft = function() {\n var store;\n store = $storage.get($scope.storageKey);\n if (store) {\n return true;\n }\n return false;\n };\n getCurrentContent = function() {\n var store;\n store = $storage.get($scope.storageKey);\n if (store) {\n return store.text;\n }\n return $scope.content;\n };\n discardLocalStorage = function() {\n return $storage.remove($scope.storageKey);\n };\n $scope.cancelWithConfirmation = function() {\n var message, title;\n if ($scope.content === $scope.markdown) {\n $scope.cancel();\n document.activeElement.blur();\n document.body.click();\n return null;\n }\n title = $translate.instant(\"COMMON.CONFIRM_CLOSE_EDIT_MODE_TITLE\");\n message = $translate.instant(\"COMMON.CONFIRM_CLOSE_EDIT_MODE_MESSAGE\");\n return $confirm.ask(title, null, message).then(function(askResponse) {\n $scope.cancel();\n return askResponse.finish();\n });\n };\n replaceCodeBrToNl = function() {\n var html;\n html = $('
    ').html(editorMedium.html());\n html.find('code br').replaceWith('\\n');\n return html.html();\n };\n updateMarkdownWithCurrentHtml = function() {\n var html;\n html = replaceCodeBrToNl();\n return $scope.markdown = wysiwygService.getMarkdown(html);\n };\n localSave = function(markdown) {\n var store;\n if ($scope.storageKey) {\n store = {};\n store.version = $scope.version || 0;\n store.text = markdown;\n return $storage.set($scope.storageKey, store);\n }\n };\n change = function() {\n if ($scope.mode === 'html') {\n updateMarkdownWithCurrentHtml();\n }\n localSave($scope.markdown);\n return $scope.onChange({\n markdown: $scope.markdown\n });\n };\n throttleChange = _.throttle(change, 200);\n create = function(text, editMode) {\n var html;\n if (editMode == null) {\n editMode = false;\n }\n if (text.length) {\n html = wysiwygService.getHTML(text);\n editorMedium.html(html);\n }\n mediumInstance = new MediumEditor(editorMedium[0], {\n imageDragging: false,\n placeholder: {\n text: $scope.placeholder\n },\n toolbar: {\n buttons: [\n {\n name: 'bold',\n contentDefault: getIcon('editor-bold')\n }, {\n name: 'italic',\n contentDefault: getIcon('editor-italic')\n }, {\n name: 'strikethrough',\n contentDefault: getIcon('editor-cross-out')\n }, {\n name: 'anchor',\n contentDefault: getIcon('editor-link')\n }, {\n name: 'image',\n contentDefault: getIcon('editor-image')\n }, {\n name: 'orderedlist',\n contentDefault: getIcon('editor-list-n')\n }, {\n name: 'unorderedlist',\n contentDefault: getIcon('editor-list-o')\n }, {\n name: 'h1',\n contentDefault: getIcon('editor-h1')\n }, {\n name: 'h2',\n contentDefault: getIcon('editor-h2')\n }, {\n name: 'h3',\n contentDefault: getIcon('editor-h3')\n }, {\n name: 'quote',\n contentDefault: getIcon('editor-quote')\n }, {\n name: 'removeFormat',\n contentDefault: getIcon('editor-no-format')\n }, {\n name: 'rtl',\n contentDefault: getIcon('editor-rtl')\n }, {\n name: 'code',\n contentDefault: getIcon('editor-code')\n }\n ]\n },\n extensions: {\n paste: new CustomPasteHandler(),\n code: new CodeButton(),\n autolist: new AutoList(),\n alignright: new AlignRightButton(),\n mediumMention: new MentionExtension({\n getItems: function(mention, mentionCb) {\n return wysiwygMentionService.search(mention).then(mentionCb);\n }\n })\n }\n });\n $scope.changeMarkdown = throttleChange;\n mediumInstance.subscribe('editableInput', function(e) {\n return $scope.$applyAsync(throttleChange);\n });\n mediumInstance.subscribe(\"editableClick\", function(e) {\n var r;\n r = new RegExp('^(?:[a-z]+:)?//', 'i');\n if (e.target.href) {\n if (r.test(e.target.getAttribute('href')) || e.target.getAttribute('target') === '_blank') {\n e.stopPropagation();\n return window.open(e.target.href);\n } else {\n return $location.url(e.target.href);\n }\n }\n });\n mediumInstance.subscribe('editableDrop', function(event) {\n return $scope.onUploadFile({\n files: event.dataTransfer.files,\n cb: uploadEnd\n });\n });\n mediumInstance.subscribe('editableKeydown', function(e) {\n var code, mention;\n code = e.keyCode ? e.keyCode : e.which;\n mention = $('.medium-mention');\n if ((code === 40 || code === 38) && mention.length) {\n e.stopPropagation();\n e.preventDefault();\n return;\n }\n if ($scope.editMode && code === 27) {\n e.stopPropagation();\n return $scope.$applyAsync($scope.cancelWithConfirmation);\n } else if (code === 27) {\n return editorMedium.blur();\n }\n });\n setEditMode(editMode);\n return $scope.$applyAsync(function() {\n wysiwygCodeHightlighterService.addHightlighter(mediumInstance.elements[0]);\n return refreshCodeBlocks(mediumInstance);\n });\n };\n $(editorMedium[0]).on('mousedown', function(e) {\n if (e.target.href) {\n e.preventDefault();\n return e.stopPropagation();\n } else {\n return $scope.$applyAsync(function() {\n if (!$scope.editMode) {\n setEditMode(true);\n return refreshCodeBlocks(mediumInstance);\n }\n });\n }\n });\n $(editorMedium[0]).on('dblclick', 'pre', function(e) {\n return $scope.$applyAsync(function() {\n $scope.codeEditorVisible = true;\n codeBlockSelected = e.currentTarget.querySelector('code');\n $scope.currentCodeLanguage = wysiwygCodeHightlighterService.getLanguageInClassList(codeBlockSelected.classList);\n return $scope.code = codeBlockSelected.innerText;\n });\n });\n unwatch = $scope.$watch('content', function(content) {\n var unwatchLoader;\n if (!_.isUndefined(content)) {\n $scope.outdated = isOutdated();\n if (!mediumInstance && isDraft()) {\n setEditMode(true);\n }\n if (($scope.markdown.length || content.length) && $scope.markdown === content) {\n return;\n }\n content = getCurrentContent();\n $scope.markdown = content;\n if (mediumInstance) {\n mediumInstance.destroy();\n }\n if (tgLoader.open()) {\n unwatchLoader = tgLoader.onEnd(function() {\n create(content, $scope.editMode);\n return unwatchLoader();\n });\n } else {\n create(content, $scope.editMode);\n }\n return unwatch();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n if (mediumInstance) {\n if (editorMedium.length) {\n $(editorMedium[0]).off();\n }\n return mediumInstance.destroy();\n }\n });\n };\n return {\n templateUrl: \"common/components/wysiwyg-toolbar.html\",\n scope: {\n placeholder: '@',\n version: '<',\n storageKey: '<',\n content: '<',\n onCancel: '&',\n onSave: '&',\n onUploadFile: '&',\n onChange: '&'\n },\n link: link\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgWysiwyg\", [\"$translate\", \"$tgConfirm\", \"$tgStorage\", \"tgWysiwygService\", \"animationFrame\", \"tgLoader\", \"tgWysiwygCodeHightlighterService\", \"tgWysiwygMentionService\", \"$tgAnalytics\", \"$location\", Medium]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/components/wysiwyg/wysiwyg.service.coffee\n */\n\n(function() {\n var WysiwygService;\n\n WysiwygService = (function() {\n WysiwygService.$inject = [\"tgWysiwygCodeHightlighterService\", \"tgProjectService\", \"$tgNavUrls\", \"$tgEmojis\"];\n\n function WysiwygService(wysiwygCodeHightlighterService, projectService, navurls, emojis) {\n this.wysiwygCodeHightlighterService = wysiwygCodeHightlighterService;\n this.projectService = projectService;\n this.navurls = navurls;\n this.emojis = emojis;\n }\n\n WysiwygService.prototype.searchEmojiByName = function(name) {\n return this.emojis.searchByName(name);\n };\n\n WysiwygService.prototype.pipeLinks = function(text) {\n return text.replace(/\\[\\[(.*?)\\]\\]/g, function(match, p1, offset, str) {\n var link, linkParams, title;\n linkParams = p1.split('|');\n link = linkParams[0];\n title = linkParams[1] || linkParams[0];\n return '[' + title + '](' + link + ')';\n });\n };\n\n WysiwygService.prototype.replaceUrls = function(html) {\n var el, i, len, link, links;\n el = document.createElement('html');\n el.innerHTML = html;\n links = el.querySelectorAll('a');\n for (i = 0, len = links.length; i < len; i++) {\n link = links[i];\n if (link.getAttribute('href').indexOf('/profile/') !== -1) {\n link.parentNode.replaceChild(document.createTextNode(link.innerText), link);\n } else if (link.getAttribute('href').indexOf('/t/') !== -1) {\n link.parentNode.replaceChild(document.createTextNode(link.innerText), link);\n }\n }\n return el.innerHTML;\n };\n\n WysiwygService.prototype.searchWikiLinks = function(html) {\n var el, i, len, link, links, url;\n el = document.createElement('html');\n el.innerHTML = html;\n links = el.querySelectorAll('a');\n for (i = 0, len = links.length; i < len; i++) {\n link = links[i];\n if (link.getAttribute('href').indexOf('/') === -1) {\n url = this.navurls.resolve('project-wiki-page', {\n project: this.projectService.project.get('slug'),\n slug: link.getAttribute('href')\n });\n link.setAttribute('href', url);\n }\n }\n return el.innerHTML;\n };\n\n WysiwygService.prototype.removeTrailingListBr = function(text) {\n return text.replace(/
  • (.*?)
    <\\/li>/g, '
  • $1
  • ');\n };\n\n WysiwygService.prototype.getMarkdown = function(html) {\n var cleanIssueConverter, codeLanguageConverter, markdown;\n cleanIssueConverter = {\n filter: ['html', 'body', 'span', 'div'],\n replacement: function(innerHTML) {\n return innerHTML;\n }\n };\n codeLanguageConverter = {\n filter: (function(_this) {\n return function(node) {\n return node.nodeName === 'PRE' && node.firstChild && node.firstChild.nodeName === 'CODE';\n };\n })(this),\n replacement: (function(_this) {\n return function(content, node) {\n var lan;\n lan = _this.wysiwygCodeHightlighterService.getLanguageInClassList(node.firstChild.classList);\n if (!lan) {\n lan = '';\n }\n return '\\n\\n```' + lan + '\\n' + _.trim(node.firstChild.textContent) + '\\n```\\n\\n';\n };\n })(this)\n };\n html = html.replace(/ (<\\/.*>)/g, \"$1\");\n html = this.emojis.replaceImgsByEmojiName(html);\n html = this.replaceUrls(html);\n html = this.removeTrailingListBr(html);\n markdown = toMarkdown(html, {\n gfm: true,\n converters: [cleanIssueConverter, codeLanguageConverter]\n });\n return markdown;\n };\n\n WysiwygService.prototype.parseMentionMatches = function(text) {\n var m, matches, offset, prevChar, regex, serviceName, tagBuilder;\n serviceName = 'twitter';\n tagBuilder = this.tagBuilder;\n matches = [];\n regex = /@[^\\s]{1,50}[^.\\s]/g;\n m = regex.exec(text);\n while (m !== null) {\n offset = m.index;\n prevChar = text.charAt(offset - 1);\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n m.forEach(function(match, groupIndex) {\n return matches.push(new Autolinker.match.Mention({\n tagBuilder: tagBuilder,\n matchedText: match,\n offset: offset,\n serviceName: serviceName,\n mention: match.slice(1)\n }));\n });\n m = regex.exec(text);\n }\n return matches;\n };\n\n WysiwygService.prototype.autoLinkHTML = function(html) {\n var autolinker, matchRegexStr;\n matchRegexStr = String(Autolinker.matcher.Mention.prototype.matcherRegexes.twitter);\n if (matchRegexStr.indexOf('.') === -1) {\n matchRegexStr = '@[^\\s]{1,50}[^.\\s]';\n }\n autolinker = new Autolinker({\n mention: 'twitter',\n hashtag: 'twitter',\n replaceFn: (function(_this) {\n return function(match) {\n var profileUrl, url;\n if (match.getType() === 'mention') {\n profileUrl = _this.navurls.resolve('user-profile', {\n project: _this.projectService.project.get('slug'),\n username: match.getMention()\n });\n return '@' + match.getMention() + '';\n } else if (match.getType() === 'hashtag') {\n url = _this.navurls.resolve('project-detail-ref', {\n project: _this.projectService.project.get('slug'),\n ref: match.getHashtag()\n });\n return '#' + match.getHashtag() + '';\n }\n };\n })(this)\n });\n Autolinker.matcher.Mention.prototype.parseMatches = this.parseMentionMatches.bind(autolinker);\n return autolinker.link(html);\n };\n\n WysiwygService.prototype.getHTML = function(text) {\n var md, options, result;\n if (!text || !text.length) {\n return \"\";\n }\n options = {\n breaks: true\n };\n text = this.emojis.replaceEmojiNameByImgs(text);\n text = this.pipeLinks(text);\n md = window.markdownit({\n breaks: true\n });\n md.use(window.markdownitLazyHeaders);\n result = md.render(text);\n result = this.searchWikiLinks(result);\n result = this.autoLinkHTML(result);\n return result;\n };\n\n return WysiwygService;\n\n })();\n\n angular.module(\"taigaComponents\").service(\"tgWysiwygService\", WysiwygService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-home-order-by.controller.coffee\n */\n\n(function() {\n var DiscoverHomeOrderByController;\n\n DiscoverHomeOrderByController = (function() {\n DiscoverHomeOrderByController.$inject = ['$translate'];\n\n function DiscoverHomeOrderByController(translate) {\n this.translate = translate;\n this.is_open = false;\n this.texts = {\n week: this.translate.instant('DISCOVER.FILTERS.WEEK'),\n month: this.translate.instant('DISCOVER.FILTERS.MONTH'),\n year: this.translate.instant('DISCOVER.FILTERS.YEAR'),\n all: this.translate.instant('DISCOVER.FILTERS.ALL_TIME')\n };\n }\n\n DiscoverHomeOrderByController.prototype.currentText = function() {\n return this.texts[this.currentOrderBy];\n };\n\n DiscoverHomeOrderByController.prototype.open = function() {\n return this.is_open = true;\n };\n\n DiscoverHomeOrderByController.prototype.close = function() {\n return this.is_open = false;\n };\n\n DiscoverHomeOrderByController.prototype.orderBy = function(type) {\n this.currentOrderBy = type;\n this.is_open = false;\n return this.onChange({\n orderBy: this.currentOrderBy\n });\n };\n\n return DiscoverHomeOrderByController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverHomeOrderBy\", DiscoverHomeOrderByController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-home-order-by.directive.coffee\n */\n\n(function() {\n var DiscoverHomeOrderByDirective;\n\n DiscoverHomeOrderByDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n controller: \"DiscoverHomeOrderBy\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"discover/components/discover-home-order-by/discover-home-order-by.html\",\n scope: {\n currentOrderBy: \"=orderBy\",\n onChange: \"&\"\n },\n link: link\n };\n };\n\n DiscoverHomeOrderByDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgDiscoverHomeOrderBy\", DiscoverHomeOrderByDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-search-bar.controller.coffee\n */\n\n(function() {\n var DiscoverSearchBarController;\n\n DiscoverSearchBarController = (function() {\n DiscoverSearchBarController.$inject = ['tgDiscoverProjectsService'];\n\n function DiscoverSearchBarController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.discoverProjectsService.projectsCount;\n };\n })(this));\n this.discoverProjectsService.fetchStats();\n }\n\n DiscoverSearchBarController.prototype.selectFilter = function(filter) {\n return this.onChange({\n filter: filter,\n q: this.q\n });\n };\n\n DiscoverSearchBarController.prototype.submitFilter = function() {\n return this.onChange({\n filter: this.filter,\n q: this.q\n });\n };\n\n return DiscoverSearchBarController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverSearchBar\", DiscoverSearchBarController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-search.directive.coffee\n */\n\n(function() {\n var DiscoverSearchBarDirective;\n\n DiscoverSearchBarDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n controller: \"DiscoverSearchBar\",\n controllerAs: \"vm\",\n templateUrl: 'discover/components/discover-search-bar/discover-search-bar.html',\n bindToController: true,\n scope: {\n q: \"=\",\n filter: \"=\",\n onChange: \"&\"\n },\n compile: function(element, attrs) {\n if (!attrs.q) {\n return attrs.q = '';\n }\n },\n link: link\n };\n };\n\n DiscoverSearchBarDirective.$inject = [];\n\n angular.module('taigaDiscover').directive('tgDiscoverSearchBar', DiscoverSearchBarDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-search-list-header.controller.coffee\n */\n\n(function() {\n var DiscoverSearchListHeaderController;\n\n DiscoverSearchListHeaderController = (function() {\n DiscoverSearchListHeaderController.$inject = [];\n\n function DiscoverSearchListHeaderController() {\n this.like_is_open = this.orderBy.indexOf('-total_fans') === 0;\n this.activity_is_open = this.orderBy.indexOf('-total_activity') === 0;\n }\n\n DiscoverSearchListHeaderController.prototype.openLike = function() {\n this.like_is_open = true;\n this.activity_is_open = false;\n return this.setOrderBy('-total_fans_last_week');\n };\n\n DiscoverSearchListHeaderController.prototype.openActivity = function() {\n this.activity_is_open = true;\n this.like_is_open = false;\n return this.setOrderBy('-total_activity_last_week');\n };\n\n DiscoverSearchListHeaderController.prototype.setOrderBy = function(type) {\n if (type == null) {\n type = '';\n }\n if (!type) {\n this.like_is_open = false;\n this.activity_is_open = false;\n }\n return this.onChange({\n orderBy: type\n });\n };\n\n return DiscoverSearchListHeaderController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverSearchListHeader\", DiscoverSearchListHeaderController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-search-list-header.directive.coffee\n */\n\n(function() {\n var DiscoverSearchListHeaderDirective;\n\n DiscoverSearchListHeaderDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n controller: \"DiscoverSearchListHeader\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"discover/components/discover-search-list-header/discover-search-list-header.html\",\n scope: {\n onChange: \"&\",\n orderBy: \"=\"\n },\n link: link\n };\n };\n\n DiscoverSearchListHeaderDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgDiscoverSearchListHeader\", DiscoverSearchListHeaderDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: featured-projects.controller.coffee\n */\n\n(function() {\n var FeaturedProjectsController;\n\n FeaturedProjectsController = (function() {\n FeaturedProjectsController.$inject = [\"tgDiscoverProjectsService\"];\n\n function FeaturedProjectsController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, \"featured\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.featured;\n };\n })(this));\n this.discoverProjectsService.fetchFeatured();\n }\n\n return FeaturedProjectsController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"FeaturedProjects\", FeaturedProjectsController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: featured-projects.directive.coffee\n */\n\n(function() {\n var FeaturedProjectsDirective;\n\n FeaturedProjectsDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n controller: \"FeaturedProjects\",\n controllerAs: \"vm\",\n templateUrl: \"discover/components/featured-projects/featured-projects.html\",\n scope: {},\n link: link\n };\n };\n\n FeaturedProjectsDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgFeaturedProjects\", FeaturedProjectsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: highlighted.directive.coffee\n */\n\n(function() {\n var HighlightedDirective;\n\n HighlightedDirective = function() {\n return {\n templateUrl: \"discover/components/highlighted/highlighted.html\",\n scope: {\n loading: \"=\",\n highlighted: \"=\",\n orderBy: \"=\"\n }\n };\n };\n\n HighlightedDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgHighlighted\", HighlightedDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: most-active.controller.coffee\n */\n\n(function() {\n var MostActiveController;\n\n MostActiveController = (function() {\n MostActiveController.$inject = [\"tgDiscoverProjectsService\"];\n\n function MostActiveController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, \"highlighted\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.mostActive;\n };\n })(this));\n this.currentOrderBy = 'week';\n this.order_by = this.getOrderBy();\n }\n\n MostActiveController.prototype.fetch = function() {\n this.loading = true;\n this.order_by = this.getOrderBy();\n return this.discoverProjectsService.fetchMostActive({\n order_by: this.order_by\n }).then((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n MostActiveController.prototype.orderBy = function(type) {\n this.currentOrderBy = type;\n return this.fetch();\n };\n\n MostActiveController.prototype.getOrderBy = function(type) {\n if (this.currentOrderBy === 'all') {\n return '-total_activity';\n } else {\n return '-total_activity_last_' + this.currentOrderBy;\n }\n };\n\n return MostActiveController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"MostActive\", MostActiveController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: most-active.directive.coffee\n */\n\n(function() {\n var MostActiveDirective;\n\n MostActiveDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.fetch();\n };\n return {\n controller: \"MostActive\",\n controllerAs: \"vm\",\n templateUrl: \"discover/components/most-active/most-active.html\",\n scope: {},\n link: link\n };\n };\n\n MostActiveDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgMostActive\", MostActiveDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: msot-liked.controller.coffee\n */\n\n(function() {\n var MostLikedController;\n\n MostLikedController = (function() {\n MostLikedController.$inject = [\"tgDiscoverProjectsService\"];\n\n function MostLikedController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, \"highlighted\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.mostLiked;\n };\n })(this));\n this.currentOrderBy = 'week';\n this.order_by = this.getOrderBy();\n }\n\n MostLikedController.prototype.fetch = function() {\n this.loading = true;\n this.order_by = this.getOrderBy();\n return this.discoverProjectsService.fetchMostLiked({\n order_by: this.order_by\n }).then((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n MostLikedController.prototype.orderBy = function(type) {\n this.currentOrderBy = type;\n return this.fetch();\n };\n\n MostLikedController.prototype.getOrderBy = function() {\n if (this.currentOrderBy === 'all') {\n return '-total_fans';\n } else {\n return '-total_fans_last_' + this.currentOrderBy;\n }\n };\n\n return MostLikedController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"MostLiked\", MostLikedController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: most-liked.directive.coffee\n */\n\n(function() {\n var MostLikedDirective;\n\n MostLikedDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.fetch();\n };\n return {\n controller: \"MostLiked\",\n controllerAs: \"vm\",\n templateUrl: \"discover/components/most-liked/most-liked.html\",\n scope: {},\n link: link\n };\n };\n\n MostLikedDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgMostLiked\", MostLikedDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-home.controller.coffee\n */\n\n(function() {\n var DiscoverHomeController;\n\n DiscoverHomeController = (function() {\n DiscoverHomeController.$inject = ['$tgLocation', '$tgNavUrls', 'tgAppMetaService', '$translate'];\n\n function DiscoverHomeController(location, navUrls, appMetaService, translate) {\n var description, title;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n title = this.translate.instant(\"DISCOVER.PAGE_TITLE\");\n description = this.translate.instant(\"DISCOVER.PAGE_DESCRIPTION\");\n this.appMetaService.setAll(title, description);\n }\n\n DiscoverHomeController.prototype.onSubmit = function(q) {\n var url;\n url = this.navUrls.resolve('discover-search');\n return this.location.search('text', q).path(url);\n };\n\n return DiscoverHomeController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverHome\", DiscoverHomeController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-search.controller.coffee\n */\n\n(function() {\n var DiscoverSearchController;\n\n DiscoverSearchController = (function() {\n DiscoverSearchController.$inject = ['$routeParams', 'tgDiscoverProjectsService', '$route', '$tgLocation', '$tgAnalytics', 'tgAppMetaService', '$translate'];\n\n function DiscoverSearchController(routeParams, discoverProjectsService, route, location, analytics, appMetaService, translate) {\n var description, title;\n this.routeParams = routeParams;\n this.discoverProjectsService = discoverProjectsService;\n this.route = route;\n this.location = location;\n this.analytics = analytics;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.page = 1;\n taiga.defineImmutableProperty(this, \"searchResult\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.searchResult;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"nextSearchPage\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.nextSearchPage;\n };\n })(this));\n this.q = this.routeParams.text;\n this.filter = this.routeParams.filter || 'all';\n this.orderBy = this.routeParams['order_by'] || '';\n this.loadingGlobal = false;\n this.loadingList = false;\n this.loadingPagination = false;\n title = this.translate.instant(\"DISCOVER.SEARCH.PAGE_TITLE\");\n description = this.translate.instant(\"DISCOVER.SEARCH.PAGE_DESCRIPTION\");\n this.appMetaService.setAll(title, description);\n this.analytics.trackPage(this.location.url(), \"Discover Search\");\n }\n\n DiscoverSearchController.prototype.fetch = function() {\n this.page = 1;\n this.discoverProjectsService.resetSearchList();\n return this.search();\n };\n\n DiscoverSearchController.prototype.fetchByGlobalSearch = function() {\n if (this.loadingGlobal) {\n return;\n }\n this.loadingGlobal = true;\n return this.fetch().then((function(_this) {\n return function() {\n return _this.loadingGlobal = false;\n };\n })(this));\n };\n\n DiscoverSearchController.prototype.fetchByOrderBy = function() {\n if (this.loadingList) {\n return;\n }\n this.loadingList = true;\n return this.fetch().then((function(_this) {\n return function() {\n return _this.loadingList = false;\n };\n })(this));\n };\n\n DiscoverSearchController.prototype.showMore = function() {\n if (this.loadingPagination) {\n return;\n }\n this.loadingPagination = true;\n this.page++;\n return this.search().then((function(_this) {\n return function() {\n return _this.loadingPagination = false;\n };\n })(this));\n };\n\n DiscoverSearchController.prototype.search = function() {\n var filter, params;\n filter = this.getFilter();\n params = {\n page: this.page,\n q: this.q,\n order_by: this.orderBy\n };\n _.assign(params, filter);\n return this.discoverProjectsService.fetchSearch(params);\n };\n\n DiscoverSearchController.prototype.getFilter = function() {\n if (this.filter === 'people') {\n return {\n is_looking_for_people: true\n };\n } else if (this.filter === 'scrum') {\n return {\n is_backlog_activated: true\n };\n } else if (this.filter === 'kanban') {\n return {\n is_kanban_activated: true\n };\n }\n return {};\n };\n\n DiscoverSearchController.prototype.onChangeFilter = function(filter, q) {\n this.filter = filter;\n this.q = q;\n this.route.updateParams({\n filter: this.filter,\n text: this.q\n });\n this.analytics.trackPage(this.location.url(), \"Discover Search\");\n return this.fetchByGlobalSearch();\n };\n\n DiscoverSearchController.prototype.onChangeOrder = function(orderBy) {\n this.orderBy = orderBy;\n this.route.updateParams({\n order_by: orderBy\n });\n this.analytics.trackPage(this.location.url(), \"Discover Search\");\n return this.fetchByOrderBy();\n };\n\n return DiscoverSearchController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverSearch\", DiscoverSearchController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-search.directive.coffee\n */\n\n(function() {\n var DiscoverSearchDirective;\n\n DiscoverSearchDirective = function() {\n var link;\n link = function(scope, element, attrs, ctrl) {\n return ctrl.fetch();\n };\n return {\n controller: \"DiscoverSearch\",\n controllerAs: \"vm\",\n link: link\n };\n };\n\n DiscoverSearchDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgDiscoverSearch\", DiscoverSearchDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: discover-projects.service.coffee\n */\n\n(function() {\n var DiscoverProjectsService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n DiscoverProjectsService = (function(superClass) {\n var _discoverParams;\n\n extend(DiscoverProjectsService, superClass);\n\n DiscoverProjectsService.$inject = [\"tgResources\", \"tgProjectsService\"];\n\n _discoverParams = {\n discover_mode: true\n };\n\n function DiscoverProjectsService(rs, projectsService) {\n this.rs = rs;\n this.projectsService = projectsService;\n this._mostLiked = Immutable.List();\n this._mostActive = Immutable.List();\n this._featured = Immutable.List();\n this._searchResult = Immutable.List();\n this._projectsCount = 0;\n this.decorate = this.projectsService._decorate.bind(this.projectsService);\n taiga.defineImmutableProperty(this, \"mostLiked\", (function(_this) {\n return function() {\n return _this._mostLiked;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"mostActive\", (function(_this) {\n return function() {\n return _this._mostActive;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"featured\", (function(_this) {\n return function() {\n return _this._featured;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"searchResult\", (function(_this) {\n return function() {\n return _this._searchResult;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"nextSearchPage\", (function(_this) {\n return function() {\n return _this._nextSearchPage;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"projectsCount\", (function(_this) {\n return function() {\n return _this._projectsCount;\n };\n })(this));\n }\n\n DiscoverProjectsService.prototype.fetchMostLiked = function(params) {\n var _params;\n _params = _.extend({}, _discoverParams, params);\n return this.rs.projects.getProjects(_params, false).then((function(_this) {\n return function(result) {\n var data, projects;\n data = result.data.slice(0, 5);\n projects = Immutable.fromJS(data);\n projects = projects.map(_this.decorate);\n return _this._mostLiked = projects;\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.fetchMostActive = function(params) {\n var _params;\n _params = _.extend({}, _discoverParams, params);\n return this.rs.projects.getProjects(_params, false).then((function(_this) {\n return function(result) {\n var data, projects;\n data = result.data.slice(0, 5);\n projects = Immutable.fromJS(data);\n projects = projects.map(_this.decorate);\n return _this._mostActive = projects;\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.fetchFeatured = function() {\n var _params;\n _params = _.extend({}, _discoverParams);\n _params.is_featured = true;\n return this.rs.projects.getProjects(_params, false).then((function(_this) {\n return function(result) {\n var data, projects;\n data = result.data.slice(0, 4);\n projects = Immutable.fromJS(data);\n projects = projects.map(_this.decorate);\n return _this._featured = projects;\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.resetSearchList = function() {\n return this._searchResult = Immutable.List();\n };\n\n DiscoverProjectsService.prototype.fetchStats = function() {\n return this.rs.stats.discover().then((function(_this) {\n return function(discover) {\n return _this._projectsCount = discover.getIn(['projects', 'total']);\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.fetchSearch = function(params) {\n var _params;\n _params = _.extend({}, _discoverParams, params);\n return this.rs.projects.getProjects(_params).then((function(_this) {\n return function(result) {\n var projects;\n _this._nextSearchPage = !!result.headers('X-Pagination-Next');\n projects = Immutable.fromJS(result.data);\n projects = projects.map(_this.decorate);\n return _this._searchResult = _this._searchResult.concat(projects);\n };\n })(this));\n };\n\n return DiscoverProjectsService;\n\n })(taiga.Service);\n\n angular.module(\"taigaDiscover\").service(\"tgDiscoverProjectsService\", DiscoverProjectsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: create-epic.controller.coffee\n */\n\n(function() {\n var CreateEpicController, getRandomDefaultColor, taiga, trim;\n\n taiga = this.taiga;\n\n trim = taiga.trim;\n\n getRandomDefaultColor = taiga.getRandomDefaultColor;\n\n CreateEpicController = (function() {\n CreateEpicController.$inject = [\"$tgConfirm\", \"tgProjectService\", \"tgEpicsService\", \"$tgAnalytics\"];\n\n function CreateEpicController(confirm, projectService, epicsService, analytics) {\n this.confirm = confirm;\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.analytics = analytics;\n this.project = this.projectService.project.toJS();\n this.newEpic = {\n color: getRandomDefaultColor(),\n status: this.project.default_epic_status,\n tags: []\n };\n this.attachments = Immutable.List();\n this.loading = false;\n }\n\n CreateEpicController.prototype.createEpic = function() {\n if (!this.validateForm()) {\n return;\n }\n this.loading = true;\n return this.epicsService.createEpic(this.newEpic, this.attachments).then((function(_this) {\n return function(response) {\n _this.analytics.trackEvent(\"epic\", \"create\", \"create epic\", 1);\n _this.onCreateEpic();\n return _this.loading = false;\n };\n })(this))[\"catch\"]((function(_this) {\n return function(response) {\n _this.loading = false;\n _this.setFormErrors(response.data);\n if (response.data._error_message) {\n return _this.confirm.notify(\"error\", response.data._error_message);\n }\n };\n })(this));\n };\n\n CreateEpicController.prototype.selectColor = function(color) {\n return this.newEpic.color = color;\n };\n\n CreateEpicController.prototype.addTag = function(name, color) {\n name = trim(name.toLowerCase());\n if (!_.find(this.newEpic.tags, function(it) {\n return it[0] === name;\n })) {\n return this.newEpic.tags.push([name, color]);\n }\n };\n\n CreateEpicController.prototype.deleteTag = function(tag) {\n return _.remove(this.newEpic.tags, function(it) {\n return it[0] === tag[0];\n });\n };\n\n CreateEpicController.prototype.addAttachment = function(attachment) {\n return this.attachments.push(attachment);\n };\n\n return CreateEpicController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"CreateEpicCtrl\", CreateEpicController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: create-epic.directive.coffee\n */\n\n(function() {\n var CreateEpicDirective;\n\n CreateEpicDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var form;\n form = el.find(\"form\").checksley();\n ctrl.validateForm = (function(_this) {\n return function() {\n return form.validate();\n };\n })(this);\n return ctrl.setFormErrors = (function(_this) {\n return function(errors) {\n return form.setErrors(errors);\n };\n })(this);\n };\n return {\n link: link,\n templateUrl: \"epics/create-epic/create-epic.html\",\n controller: \"CreateEpicCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n onCreateEpic: '&'\n },\n scope: {}\n };\n };\n\n angular.module('taigaEpics').directive(\"tgCreateEpic\", CreateEpicDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-table.controller.coffee\n */\n\n(function() {\n var EpicRowController;\n\n EpicRowController = (function() {\n EpicRowController.$inject = [\"$tgConfirm\", \"tgProjectService\", \"tgEpicsService\"];\n\n function EpicRowController(confirm, projectService, epicsService) {\n this.confirm = confirm;\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.displayUserStories = false;\n this.displayAssignedTo = false;\n this.displayStatusList = false;\n this.loadingStatus = false;\n this.project = this.projectService.project.toJS();\n this._calculateProgressBar();\n }\n\n EpicRowController.prototype._calculateProgressBar = function() {\n var progress, total;\n if (this.epic.getIn(['status_extra_info', 'is_closed']) === true) {\n return this.percentage = \"100%\";\n } else {\n progress = this.epic.getIn(['user_stories_counts', 'progress']);\n total = this.epic.getIn(['user_stories_counts', 'total']);\n if (total === 0) {\n return this.percentage = \"0%\";\n } else {\n return this.percentage = (progress * 100 / total) + \"%\";\n }\n }\n };\n\n EpicRowController.prototype.canEditEpics = function() {\n return this.projectService.hasPermission(\"modify_epic\");\n };\n\n EpicRowController.prototype.toggleUserStoryList = function() {\n if (!this.displayUserStories) {\n return this.epicsService.listRelatedUserStories(this.epic).then((function(_this) {\n return function(userStories) {\n _this.epicStories = userStories;\n return _this.displayUserStories = true;\n };\n })(this))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this));\n } else {\n return this.displayUserStories = false;\n }\n };\n\n EpicRowController.prototype.updateStatus = function(statusId) {\n this.displayStatusList = false;\n this.loadingStatus = true;\n return this.epicsService.updateEpicStatus(this.epic, statusId)[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.loadingStatus = false;\n };\n })(this));\n };\n\n EpicRowController.prototype.updateAssignedTo = function(member) {\n this.assignLoader = true;\n return this.epicsService.updateEpicAssignedTo(this.epic, (member != null ? member.id : void 0) || null)[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.assignLoader = false;\n };\n })(this));\n };\n\n return EpicRowController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"EpicRowCtrl\", EpicRowController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-table.directive.coffee\n */\n\n(function() {\n var EpicRowDirective;\n\n EpicRowDirective = function() {\n return {\n templateUrl: \"epics/dashboard/epic-row/epic-row.html\",\n controller: \"EpicRowCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n epic: '=',\n column: '='\n }\n };\n };\n\n angular.module('taigaEpics').directive(\"tgEpicRow\", EpicRowDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics.dashboard.controller.coffee\n */\n\n(function() {\n var EpicsDashboardController, taiga;\n\n taiga = this.taiga;\n\n EpicsDashboardController = (function() {\n EpicsDashboardController.$inject = [\"$routeParams\", \"tgErrorHandlingService\", \"tgLightboxFactory\", \"lightboxService\", \"$tgConfirm\", \"tgProjectService\", \"tgEpicsService\", \"tgAppMetaService\", \"$translate\"];\n\n function EpicsDashboardController(params, errorHandlingService, lightboxFactory, lightboxService, confirm, projectService, epicsService, appMetaService, translate) {\n this.params = params;\n this.errorHandlingService = errorHandlingService;\n this.lightboxFactory = lightboxFactory;\n this.lightboxService = lightboxService;\n this.confirm = confirm;\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.sectionName = \"EPICS.SECTION_NAME\";\n taiga.defineImmutableProperty(this, 'project', (function(_this) {\n return function() {\n return _this.projectService.project;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'epics', (function(_this) {\n return function() {\n return _this.epicsService.epics;\n };\n })(this));\n this.appMetaService.setfn(this._setMeta.bind(this));\n }\n\n EpicsDashboardController.prototype._setMeta = function() {\n var ctx;\n if (!this.project) {\n return null;\n }\n ctx = {\n projectName: this.project.get(\"name\"),\n projectDescription: this.project.get(\"description\")\n };\n return {\n title: this.translate.instant(\"EPICS.PAGE_TITLE\", ctx),\n description: this.translate.instant(\"EPICS.PAGE_DESCRIPTION\", ctx)\n };\n };\n\n EpicsDashboardController.prototype.loadInitialData = function() {\n this.epicsService.clear();\n return this.projectService.setProjectBySlug(this.params.pslug).then((function(_this) {\n return function() {\n if (!_this.projectService.isEpicsDashboardEnabled()) {\n return _this.errorHandlingService.notFound();\n }\n if (!_this.projectService.hasPermission(\"view_epics\")) {\n return _this.errorHandlingService.permissionDenied();\n }\n return _this.epicsService.fetchEpics();\n };\n })(this));\n };\n\n EpicsDashboardController.prototype.canCreateEpics = function() {\n return this.projectService.hasPermission(\"add_epic\");\n };\n\n EpicsDashboardController.prototype.onCreateEpic = function() {\n var onCreateEpic;\n onCreateEpic = (function(_this) {\n return function() {\n _this.lightboxService.closeAll();\n _this.confirm.notify(\"success\");\n };\n })(this);\n return this.lightboxFactory.create('tg-create-epic', {\n \"class\": \"lightbox lightbox-create-epic open\",\n \"on-create-epic\": \"onCreateEpic()\"\n }, {\n \"onCreateEpic\": onCreateEpic.bind(this)\n });\n };\n\n return EpicsDashboardController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"EpicsDashboardCtrl\", EpicsDashboardController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-sortable.directive.coffee\n */\n\n(function() {\n var EpicsSortableDirective;\n\n EpicsSortableDirective = function($parse, projectService) {\n var link;\n link = function(scope, el, attrs) {\n var callback, drake, scroll;\n if (!projectService.hasPermission(\"modify_epic\")) {\n return;\n }\n callback = $parse(attrs.tgEpicsSortable);\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).is('div.epics-table-body-row');\n }\n });\n drake.on('dragend', function(item) {\n var epic, itemEl, newIndex;\n itemEl = $(item);\n epic = itemEl.scope().epic;\n newIndex = itemEl.index();\n return scope.$apply(function() {\n return callback(scope, {\n epic: epic,\n newIndex: newIndex\n });\n });\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n EpicsSortableDirective.$inject = [\"$parse\", \"tgProjectService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgEpicsSortable\", EpicsSortableDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-table.controller.coffee\n */\n\n(function() {\n var EpicsTableController, generateHash, taiga;\n\n taiga = this.taiga;\n\n generateHash = this.taiga.generateHash;\n\n EpicsTableController = (function() {\n EpicsTableController.$inject = [\"$tgConfirm\", \"tgEpicsService\", \"$timeout\", \"$tgStorage\", \"tgProjectService\"];\n\n function EpicsTableController(confirm, epicsService, timeout, storage, projectService) {\n this.confirm = confirm;\n this.epicsService = epicsService;\n this.timeout = timeout;\n this.storage = storage;\n this.projectService = projectService;\n this.hash = generateHash([this.projectService.project.get('id'), 'epics']);\n this.displayOptions = false;\n this.displayVotes = true;\n this.column = this.storage.get(this.hash, {\n votes: true,\n name: true,\n project: true,\n sprint: true,\n assigned: true,\n status: true,\n progress: true\n });\n taiga.defineImmutableProperty(this, 'epics', (function(_this) {\n return function() {\n return _this.epicsService.epics;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'disabledEpicsPagination', (function(_this) {\n return function() {\n return _this.epicsService._disablePagination;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'loadingEpics', (function(_this) {\n return function() {\n return _this.epicsService._loadingEpics;\n };\n })(this));\n }\n\n EpicsTableController.prototype.toggleEpicTableOptions = function() {\n return this.displayOptions = !this.displayOptions;\n };\n\n EpicsTableController.prototype.reorderEpic = function(epic, newIndex) {\n if (epic.get('epics_order') === newIndex) {\n return null;\n }\n return this.epicsService.reorderEpic(epic, newIndex).then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n };\n\n EpicsTableController.prototype.nextPage = function() {\n return this.epicsService.nextPage();\n };\n\n EpicsTableController.prototype.hoverEpicTableOption = function() {\n if (this.timer) {\n return this.timeout.cancel(this.timer);\n }\n };\n\n EpicsTableController.prototype.hideEpicTableOption = function() {\n return this.timer = this.timeout(((function(_this) {\n return function() {\n return _this.displayOptions = false;\n };\n })(this)), 400);\n };\n\n EpicsTableController.prototype.updateViewOptions = function() {\n return this.storage.set(this.hash, this.column);\n };\n\n return EpicsTableController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"EpicsTableCtrl\", EpicsTableController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-table.directive.coffee\n */\n\n(function() {\n var EpicsTableDirective;\n\n EpicsTableDirective = function() {\n return {\n templateUrl: \"epics/dashboard/epics-table/epics-table.html\",\n controller: \"EpicsTableCtrl\",\n controllerAs: \"vm\",\n scope: {}\n };\n };\n\n angular.module('taigaEpics').directive(\"tgEpicsTable\", EpicsTableDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-table.controller.coffee\n */\n\n(function() {\n var StoryRowController, module;\n\n module = angular.module(\"taigaEpics\");\n\n StoryRowController = (function() {\n StoryRowController.$inject = [];\n\n function StoryRowController() {\n this._calculateProgressBar();\n }\n\n StoryRowController.prototype._calculateProgressBar = function() {\n var totalTasks, totalTasksCompleted;\n if (this.story.get('is_closed') === true) {\n return this.percentage = \"100%\";\n } else {\n totalTasks = this.story.get('tasks').size;\n totalTasksCompleted = this.story.get('tasks').filter(function(it) {\n return it.get(\"is_closed\");\n }).size;\n if (totalTasks === 0) {\n return this.percentage = \"0%\";\n } else {\n return this.percentage = (totalTasksCompleted * 100 / totalTasks) + \"%\";\n }\n }\n };\n\n return StoryRowController;\n\n })();\n\n module.controller(\"StoryRowCtrl\", StoryRowController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-table.directive.coffee\n */\n\n(function() {\n var StoryRowDirective, module;\n\n module = angular.module('taigaEpics');\n\n StoryRowDirective = function() {\n return {\n templateUrl: \"epics/dashboard/story-row/story-row.html\",\n controller: \"StoryRowCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n story: '=',\n column: '='\n }\n };\n };\n\n module.directive(\"tgStoryRow\", StoryRowDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics.service.coffee\n */\n\n(function() {\n var EpicsService, taiga;\n\n taiga = this.taiga;\n\n EpicsService = (function() {\n EpicsService.$inject = ['tgProjectService', 'tgAttachmentsService', 'tgResources', 'tgXhrErrorService'];\n\n function EpicsService(projectService, attachmentsService, resources, xhrError) {\n this.projectService = projectService;\n this.attachmentsService = attachmentsService;\n this.resources = resources;\n this.xhrError = xhrError;\n this.clear();\n taiga.defineImmutableProperty(this, 'epics', (function(_this) {\n return function() {\n return _this._epics;\n };\n })(this));\n }\n\n EpicsService.prototype.clear = function() {\n this._loadingEpics = false;\n this._disablePagination = false;\n this._page = 1;\n return this._epics = Immutable.List();\n };\n\n EpicsService.prototype.fetchEpics = function(reset) {\n if (reset == null) {\n reset = false;\n }\n this._loadingEpics = true;\n this._disablePagination = true;\n return this.resources.epics.list(this.projectService.project.get('id'), this._page).then((function(_this) {\n return function(result) {\n if (reset) {\n _this.clear();\n _this._epics = result.list;\n } else {\n _this._epics = _this._epics.concat(result.list);\n }\n _this._loadingEpics = false;\n return _this._disablePagination = !result.headers('x-pagination-next');\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n EpicsService.prototype.nextPage = function() {\n this._page++;\n return this.fetchEpics();\n };\n\n EpicsService.prototype.listRelatedUserStories = function(epic) {\n return this.resources.userstories.listInEpic(epic.get('id'));\n };\n\n EpicsService.prototype.createEpic = function(epicData, attachments, projectId) {\n if (projectId) {\n epicData.project = projectId;\n } else {\n epicData.project = this.projectService.project.get('id');\n }\n return this.resources.epics.post(epicData).then((function(_this) {\n return function(epic) {\n var promises;\n if (!attachments) {\n return epic;\n } else {\n promises = _.map(attachments.toJS(), function(attachment) {\n return _this.attachmentsService.upload(attachment.file, epic.get('id'), epic.get('project'), 'epic');\n });\n return Promise.all(promises).then(_this.fetchEpics.bind(_this, true));\n }\n };\n })(this));\n };\n\n EpicsService.prototype.reorderEpic = function(epic, newIndex) {\n var afterDestination, beforeDestination, data, newOrder, orderList, previous, previousWithTheSameOrder, setOrders, withoutMoved;\n orderList = {};\n this._epics.forEach(function(it) {\n return orderList[it.get('id')] = it.get('epics_order');\n });\n withoutMoved = this.epics.filter((function(_this) {\n return function(it) {\n return it.get('id') !== epic.get('id');\n };\n })(this));\n beforeDestination = withoutMoved.slice(0, newIndex);\n afterDestination = withoutMoved.slice(newIndex);\n previous = beforeDestination.last();\n newOrder = !previous ? 0 : previous.get('epics_order') + 1;\n orderList[epic.get('id')] = newOrder;\n previousWithTheSameOrder = beforeDestination.filter((function(_this) {\n return function(it) {\n return it.get('epics_order') === previous.get('epics_order');\n };\n })(this));\n setOrders = _.fromPairs(previousWithTheSameOrder.map((function(_this) {\n return function(it) {\n return [it.get('id'), it.get('epics_order')];\n };\n })(this)).toJS());\n afterDestination.forEach(function(it) {\n return orderList[it.get('id')] = it.get('epics_order') + 1;\n });\n this._epics = this._epics.map(function(it) {\n return it.set('epics_order', orderList[it.get('id')]);\n });\n this._epics = this._epics.sortBy(function(it) {\n return it.get('epics_order');\n });\n data = {\n epics_order: newOrder,\n version: epic.get('version')\n };\n return this.resources.epics.reorder(epic.get('id'), data, setOrders).then((function(_this) {\n return function(newEpic) {\n return _this._epics = _this._epics.map(function(it) {\n if (it.get('id') === newEpic.get('id')) {\n return newEpic;\n }\n return it;\n });\n };\n })(this));\n };\n\n EpicsService.prototype.reorderRelatedUserstory = function(epic, epicUserstories, userstory, newIndex) {\n var beforeDestination, data, epicId, newOrder, previous, previousWithTheSameOrder, setOrders, userstoryId, withoutMoved;\n withoutMoved = epicUserstories.filter((function(_this) {\n return function(it) {\n return it.get('id') !== userstory.get('id');\n };\n })(this));\n beforeDestination = withoutMoved.slice(0, newIndex);\n previous = beforeDestination.last();\n newOrder = !previous ? 0 : previous.get('epic_order') + 1;\n previousWithTheSameOrder = beforeDestination.filter((function(_this) {\n return function(it) {\n return it.get('epic_order') === previous.get('epic_order');\n };\n })(this));\n setOrders = _.fromPairs(previousWithTheSameOrder.map((function(_this) {\n return function(it) {\n return [it.get('id'), it.get('epic_order')];\n };\n })(this)).toJS());\n data = {\n order: newOrder\n };\n epicId = epic.get('id');\n userstoryId = userstory.get('id');\n return this.resources.epics.reorderRelatedUserstory(epicId, userstoryId, data, setOrders).then((function(_this) {\n return function() {\n return _this.listRelatedUserStories(epic);\n };\n })(this));\n };\n\n EpicsService.prototype.replaceEpic = function(epic) {\n return this._epics = this._epics.map(function(it) {\n if (it.get('id') === epic.get('id')) {\n return epic;\n }\n return it;\n });\n };\n\n EpicsService.prototype.updateEpicStatus = function(epic, statusId) {\n var data;\n data = {\n status: statusId,\n version: epic.get('version')\n };\n return this.resources.epics.patch(epic.get('id'), data).then(this.replaceEpic.bind(this));\n };\n\n EpicsService.prototype.updateEpicAssignedTo = function(epic, userId) {\n var data;\n data = {\n assigned_to: userId,\n version: epic.get('version')\n };\n return this.resources.epics.patch(epic.get('id'), data).then(this.replaceEpic.bind(this));\n };\n\n return EpicsService;\n\n })();\n\n angular.module('taigaEpics').service('tgEpicsService', EpicsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: related-userstories.controller.coffee\n */\n\n(function() {\n var RelatedUserStoriesController, module;\n\n module = angular.module(\"taigaEpics\");\n\n RelatedUserStoriesController = (function() {\n RelatedUserStoriesController.$inject = [\"tgProjectService\", \"tgEpicsService\"];\n\n function RelatedUserStoriesController(projectService, epicsService) {\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.sectionName = \"Epics\";\n this.showCreateRelatedUserstoriesLightbox = false;\n }\n\n RelatedUserStoriesController.prototype.showRelatedUserStoriesSection = function() {\n var ref;\n return this.projectService.hasPermission(\"view_epics\") || ((ref = this.userstories) != null ? ref.length : void 0) > 0;\n };\n\n RelatedUserStoriesController.prototype.userCanSort = function() {\n return this.projectService.hasPermission(\"modify_epic\");\n };\n\n RelatedUserStoriesController.prototype.loadRelatedUserstories = function() {\n return this.epicsService.listRelatedUserStories(this.epic).then((function(_this) {\n return function(userstories) {\n return _this.userstories = userstories;\n };\n })(this));\n };\n\n RelatedUserStoriesController.prototype.reorderRelatedUserstory = function(us, newIndex) {\n return this.epicsService.reorderRelatedUserstory(this.epic, this.userstories, us, newIndex).then((function(_this) {\n return function(userstories) {\n return _this.userstories = userstories;\n };\n })(this));\n };\n\n return RelatedUserStoriesController;\n\n })();\n\n module.controller(\"RelatedUserStoriesCtrl\", RelatedUserStoriesController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: related-userstory-create.controller.coffee\n */\n\n(function() {\n var RelatedUserstoriesCreateController, module;\n\n module = angular.module(\"taigaEpics\");\n\n RelatedUserstoriesCreateController = (function() {\n RelatedUserstoriesCreateController.$inject = [\"tgCurrentUserService\", \"tgResources\", \"$tgConfirm\", \"$tgAnalytics\"];\n\n function RelatedUserstoriesCreateController(currentUserService, rs, confirm, analytics) {\n this.currentUserService = currentUserService;\n this.rs = rs;\n this.confirm = confirm;\n this.analytics = analytics;\n this.projects = null;\n this.projectUserstories = Immutable.List();\n this.loading = false;\n }\n\n RelatedUserstoriesCreateController.prototype.loadProjects = function() {\n if (this.projects === null) {\n return this.projects = this.currentUserService.projects.get(\"unblocked\");\n }\n };\n\n RelatedUserstoriesCreateController.prototype.filterUss = function(selectedProjectId, filterText) {\n var promise;\n promise = this.rs.userstories.listInAllProjects({\n project: selectedProjectId,\n q: filterText\n }, true).then((function(_this) {\n return function(data) {\n var excludeIds, filteredData;\n excludeIds = _this.epicUserstories.map(function(us) {\n return us.get('id');\n });\n filteredData = data.filter(function(us) {\n return excludeIds.indexOf(us.get('id')) === -1;\n });\n return _this.projectUserstories = filteredData;\n };\n })(this));\n return promise;\n };\n\n RelatedUserstoriesCreateController.prototype.saveRelatedUserStory = function(selectedUserstoryId, onSavedRelatedUserstory) {\n var epicId, onError, onSuccess;\n if (!this.validateExistingUserstoryForm()) {\n return;\n }\n this.loading = true;\n onError = (function(_this) {\n return function(data) {\n _this.loading = false;\n _this.confirm.notify(\"error\");\n return _this.setExistingUserstoryFormErrors(data);\n };\n })(this);\n onSuccess = (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"epic related user story\", \"create\", \"create related user story on epic\", 1);\n _this.loading = false;\n if (onSavedRelatedUserstory) {\n onSavedRelatedUserstory();\n }\n return _this.loadRelatedUserstories();\n };\n })(this);\n epicId = this.epic.get('id');\n return this.rs.epics.addRelatedUserstory(epicId, selectedUserstoryId).then(onSuccess, onError);\n };\n\n RelatedUserstoriesCreateController.prototype.bulkCreateRelatedUserStories = function(selectedProjectId, userstoriesText, onCreatedRelatedUserstory) {\n var epicId, onError, onSuccess;\n if (!this.validateNewUserstoryForm()) {\n return;\n }\n this.loading = true;\n onError = (function(_this) {\n return function(data) {\n _this.loading = false;\n _this.confirm.notify(\"error\");\n return _this.setNewUserstoryFormErrors(data);\n };\n })(this);\n onSuccess = (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"epic related user story\", \"create\", \"create related user story on epic\", 1);\n _this.loading = false;\n if (onCreatedRelatedUserstory) {\n onCreatedRelatedUserstory();\n }\n return _this.loadRelatedUserstories();\n };\n })(this);\n epicId = this.epic.get('id');\n return this.rs.epics.bulkCreateRelatedUserStories(epicId, selectedProjectId, userstoriesText).then(onSuccess, onError);\n };\n\n return RelatedUserstoriesCreateController;\n\n })();\n\n module.controller(\"RelatedUserstoriesCreateCtrl\", RelatedUserstoriesCreateController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: related-userstory-create.directive.coffee\n */\n\n(function() {\n var RelatedUserstoriesCreateDirective, debounceLeading, module;\n\n module = angular.module('taigaEpics');\n\n debounceLeading = this.taiga.debounceLeading;\n\n RelatedUserstoriesCreateDirective = function(lightboxService1) {\n var link;\n this.lightboxService = lightboxService1;\n link = function(scope, el, attrs, ctrl) {\n var existingUserstoryForm, newUserstoryForm;\n newUserstoryForm = el.find(\".new-user-story-form\").checksley();\n existingUserstoryForm = el.find(\".existing-user-story-form\").checksley();\n ctrl.validateNewUserstoryForm = (function(_this) {\n return function() {\n return newUserstoryForm.validate();\n };\n })(this);\n ctrl.setNewUserstoryFormErrors = (function(_this) {\n return function(errors) {\n return newUserstoryForm.setErrors(errors);\n };\n })(this);\n ctrl.validateExistingUserstoryForm = (function(_this) {\n return function() {\n return existingUserstoryForm.validate();\n };\n })(this);\n ctrl.setExistingUserstoryFormErrors = (function(_this) {\n return function(errors) {\n return existingUserstoryForm.setErrors(errors);\n };\n })(this);\n scope.showLightbox = function(selectedProjectId) {\n ctrl.loadProjects();\n return scope.selectProject(selectedProjectId).then((function(_this) {\n return function() {\n return lightboxService.open(el.find(\".lightbox-create-related-user-stories\"));\n };\n })(this));\n };\n scope.closeLightbox = function() {\n scope.selectedUserstory = null;\n scope.searchUserstory = \"\";\n scope.relatedUserstoriesText = \"\";\n return lightboxService.close(el.find(\".lightbox-create-related-user-stories\"));\n };\n scope.$watch('vm.project', function(project) {\n if (project != null) {\n return scope.selectedProject = project.get('id');\n }\n });\n scope.selectProject = function(selectedProjectId) {\n scope.selectedUserstory = null;\n scope.searchUserstory = \"\";\n return ctrl.filterUss(selectedProjectId, scope.searchUserstory);\n };\n return scope.onUpdateSearchUserstory = debounceLeading(300, function() {\n scope.selectedUserstory = null;\n return ctrl.filterUss(scope.selectedProject, scope.searchUserstory);\n });\n };\n return {\n link: link,\n templateUrl: \"epics/related-userstories/related-userstories-create/related-userstories-create.html\",\n controller: \"RelatedUserstoriesCreateCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n showCreateRelatedUserstoriesLightbox: \"=\",\n project: \"=\",\n epic: \"=\",\n epicUserstories: \"=\",\n loadRelatedUserstories: \"&\"\n }\n };\n };\n\n RelatedUserstoriesCreateDirective.$inject = [\"lightboxService\"];\n\n module.directive(\"tgRelatedUserstoriesCreate\", RelatedUserstoriesCreateDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: related-userstories-sortable.directive.coffee\n */\n\n(function() {\n var RelatedUserstoriesSortableDirective, module;\n\n module = angular.module('taigaEpics');\n\n RelatedUserstoriesSortableDirective = function($parse, projectService) {\n var link;\n link = function(scope, el, attrs) {\n var callback, drake, scroll;\n if (!projectService.hasPermission(\"modify_epic\")) {\n return;\n }\n callback = $parse(attrs.tgRelatedUserstoriesSortable);\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).is('tg-related-userstory-row');\n }\n });\n drake.on('dragend', function(item) {\n var itemEl, newIndex, us;\n itemEl = $(item);\n us = itemEl.scope().us;\n newIndex = itemEl.index();\n return scope.$apply(function() {\n return callback(scope, {\n us: us,\n newIndex: newIndex\n });\n });\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n RelatedUserstoriesSortableDirective.$inject = [\"$parse\", \"tgProjectService\"];\n\n module.directive(\"tgRelatedUserstoriesSortable\", RelatedUserstoriesSortableDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: related-userstories.directive.coffee\n */\n\n(function() {\n var RelatedUserStoriesDirective, module;\n\n module = angular.module('taigaEpics');\n\n RelatedUserStoriesDirective = function() {\n return {\n templateUrl: \"epics/related-userstories/related-userstories.html\",\n controller: \"RelatedUserStoriesCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n userstories: '=',\n project: '=',\n epic: '='\n }\n };\n };\n\n RelatedUserStoriesDirective.$inject = [];\n\n module.directive(\"tgRelatedUserstories\", RelatedUserStoriesDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: reñated-userstory-row.controller.coffee\n */\n\n(function() {\n var RelatedUserstoryRowController, module;\n\n module = angular.module(\"taigaEpics\");\n\n RelatedUserstoryRowController = (function() {\n RelatedUserstoryRowController.$inject = [\"tgAvatarService\", \"$translate\", \"$tgConfirm\", \"tgResources\"];\n\n function RelatedUserstoryRowController(avatarService, translate, confirm, rs) {\n this.avatarService = avatarService;\n this.translate = translate;\n this.confirm = confirm;\n this.rs = rs;\n }\n\n RelatedUserstoryRowController.prototype.setAvatarData = function() {\n var member;\n member = this.userstory.get('assigned_to_extra_info');\n return this.avatar = this.avatarService.getAvatar(member);\n };\n\n RelatedUserstoryRowController.prototype.getAssignedToFullNameDisplay = function() {\n if (this.userstory.get('assigned_to')) {\n return this.userstory.getIn(['assigned_to_extra_info', 'full_name_display']);\n }\n return this.translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\");\n };\n\n RelatedUserstoryRowController.prototype.onDeleteRelatedUserstory = function() {\n var message, title;\n title = this.translate.instant(\"LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.TITLE\");\n message = this.translate.instant(\"LIGHTBOX.REMOVE_RELATIONSHIP_WITH_EPIC.MESSAGE\", {\n epicSubject: this.epic.get('subject')\n });\n return this.confirm.ask(title, null, message).then((function(_this) {\n return function(askResponse) {\n var epicId, onError, onSuccess, userstoryId;\n onError = function() {\n message = _this.translate.instant('EPIC.ERROR_UNLINK_RELATED_USERSTORY', {\n errorMessage: message\n });\n _this.confirm.notify(\"error\", null, message);\n return askResponse.finish(false);\n };\n onSuccess = function() {\n _this.loadRelatedUserstories();\n return askResponse.finish();\n };\n epicId = _this.epic.get('id');\n userstoryId = _this.userstory.get('id');\n return _this.rs.epics.deleteRelatedUserstory(epicId, userstoryId).then(onSuccess, onError);\n };\n })(this));\n };\n\n return RelatedUserstoryRowController;\n\n })();\n\n module.controller(\"RelatedUserstoryRowCtrl\", RelatedUserstoryRowController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: related-userstory-row.directive.coffee\n */\n\n(function() {\n var RelatedUserstoryRowDirective, module;\n\n module = angular.module('taigaEpics');\n\n RelatedUserstoryRowDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.setAvatarData();\n };\n return {\n link: link,\n templateUrl: \"epics/related-userstories/related-userstory-row/related-userstory-row.html\",\n controller: \"RelatedUserstoryRowCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n userstory: '=',\n epic: '=',\n project: '=',\n loadRelatedUserstories: \"&\"\n }\n };\n };\n\n RelatedUserstoryRowDirective.$inject = [];\n\n module.directive(\"tgRelatedUserstoryRow\", RelatedUserstoryRowDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: external-app.controller.coffee\n */\n\n(function() {\n var ExternalAppController, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n ExternalAppController = (function(superClass) {\n extend(ExternalAppController, superClass);\n\n ExternalAppController.$inject = [\"$routeParams\", \"tgExternalAppsService\", \"$window\", \"tgCurrentUserService\", \"$location\", \"$tgNavUrls\", \"tgXhrErrorService\", \"tgLoader\"];\n\n function ExternalAppController(routeParams, externalAppsService, window, currentUserService, location, navUrls, xhrError, loader) {\n var loginUrl, nextUrl;\n this.routeParams = routeParams;\n this.externalAppsService = externalAppsService;\n this.window = window;\n this.currentUserService = currentUserService;\n this.location = location;\n this.navUrls = navUrls;\n this.xhrError = xhrError;\n this.loader = loader;\n this.createApplicationToken = bind(this.createApplicationToken, this);\n this._getApplicationToken = bind(this._getApplicationToken, this);\n this._redirect = bind(this._redirect, this);\n this.loader.start(false);\n this._applicationId = this.routeParams.application;\n this._state = this.routeParams.state;\n this._getApplicationToken();\n this._user = this.currentUserService.getUser();\n this._application = null;\n nextUrl = encodeURIComponent(this.location.url());\n loginUrl = this.navUrls.resolve(\"login\");\n this.loginWithAnotherUserUrl = loginUrl + \"?next=\" + nextUrl;\n taiga.defineImmutableProperty(this, \"user\", (function(_this) {\n return function() {\n return _this._user;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"application\", (function(_this) {\n return function() {\n return _this._application;\n };\n })(this));\n }\n\n ExternalAppController.prototype._redirect = function(applicationToken) {\n var nextUrl;\n nextUrl = applicationToken.get(\"next_url\");\n return this.window.open(nextUrl, \"_self\");\n };\n\n ExternalAppController.prototype._getApplicationToken = function() {\n return this.externalAppsService.getApplicationToken(this._applicationId, this._state).then((function(_this) {\n return function(data) {\n _this._application = data.get(\"application\");\n if (data.get(\"auth_code\")) {\n return _this._redirect(data);\n } else {\n return _this.loader.pageLoaded();\n }\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n _this.loader.pageLoaded();\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n ExternalAppController.prototype.cancel = function() {\n return this.window.history.back();\n };\n\n ExternalAppController.prototype.createApplicationToken = function() {\n return this.externalAppsService.authorizeApplicationToken(this._applicationId, this._state).then((function(_this) {\n return function(data) {\n return _this._redirect(data);\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n return ExternalAppController;\n\n })(taiga.Controller);\n\n angular.module(\"taigaExternalApps\").controller(\"ExternalApp\", ExternalAppController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: external-app.service.coffee\n */\n\n(function() {\n var ExternalAppsService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n ExternalAppsService = (function(superClass) {\n extend(ExternalAppsService, superClass);\n\n ExternalAppsService.$inject = [\"tgResources\"];\n\n function ExternalAppsService(rs) {\n this.rs = rs;\n }\n\n ExternalAppsService.prototype.getApplicationToken = function(applicationId, state) {\n return this.rs.externalapps.getApplicationToken(applicationId, state);\n };\n\n ExternalAppsService.prototype.authorizeApplicationToken = function(applicationId, state) {\n return this.rs.externalapps.authorizeApplicationToken(applicationId, state);\n };\n\n return ExternalAppsService;\n\n })(taiga.Service);\n\n angular.module(\"taigaExternalApps\").service(\"tgExternalAppsService\", ExternalAppsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: feedback.service.coffee\n */\n\n(function() {\n var FeedbackService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n FeedbackService = (function(superClass) {\n extend(FeedbackService, superClass);\n\n FeedbackService.$inject = [\"tgLightboxFactory\"];\n\n function FeedbackService(lightboxFactory) {\n this.lightboxFactory = lightboxFactory;\n }\n\n FeedbackService.prototype.sendFeedback = function() {\n return this.lightboxFactory.create(\"tg-lb-feedback\", {\n \"class\": \"lightbox lightbox-feedback lightbox-generic-form\"\n });\n };\n\n return FeedbackService;\n\n })(taiga.Service);\n\n angular.module(\"taigaFeedback\").service(\"tgFeedbackService\", FeedbackService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.controller.coffee\n */\n\n(function() {\n var CommentController, module;\n\n module = angular.module(\"taigaHistory\");\n\n CommentController = (function() {\n CommentController.$inject = [\"tgCurrentUserService\", \"tgCheckPermissionsService\", \"tgLightboxFactory\"];\n\n function CommentController(currentUserService, permissionService, lightboxFactory) {\n this.currentUserService = currentUserService;\n this.permissionService = permissionService;\n this.lightboxFactory = lightboxFactory;\n this.hiddenDeletedComment = true;\n }\n\n CommentController.prototype.showDeletedComment = function() {\n return this.hiddenDeletedComment = false;\n };\n\n CommentController.prototype.hideDeletedComment = function() {\n return this.hiddenDeletedComment = true;\n };\n\n CommentController.prototype.checkCancelComment = function(event) {\n if (event.keyCode === 27) {\n return this.onEditMode({\n commentId: this.comment.id\n });\n }\n };\n\n CommentController.prototype.canEditDeleteComment = function() {\n if (this.currentUserService.getUser()) {\n this.user = this.currentUserService.getUser();\n return this.user.get('id') === this.comment.user.pk || this.permissionService.check('modify_project');\n }\n };\n\n CommentController.prototype.saveComment = function(text, cb) {\n return this.onEditComment({\n commentId: this.comment.id,\n commentData: text,\n callback: cb\n });\n };\n\n CommentController.prototype.displayCommentHistory = function() {\n return this.lightboxFactory.create('tg-lb-display-historic', {\n \"class\": \"lightbox lightbox-display-historic\",\n \"comment\": \"comment\",\n \"name\": \"name\",\n \"object\": \"object\"\n }, {\n \"comment\": this.comment,\n \"name\": this.name,\n \"object\": this.object\n });\n };\n\n return CommentController;\n\n })();\n\n module.controller(\"CommentCtrl\", CommentController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: comment.directive.coffee\n */\n\n(function() {\n var CommentDirective, module;\n\n module = angular.module('taigaHistory');\n\n CommentDirective = function() {\n return {\n scope: {\n name: \"@\",\n object: \"@\",\n comment: \"<\",\n type: \"<\",\n loading: \"<\",\n editing: \"<\",\n deleting: \"<\",\n objectId: \"<\",\n editMode: \"<\",\n onEditMode: \"&\",\n onDeleteComment: \"&\",\n onRestoreDeletedComment: \"&\",\n onEditComment: \"&\"\n },\n templateUrl: \"history/comments/comment.html\",\n bindToController: true,\n controller: 'CommentCtrl',\n controllerAs: \"vm\"\n };\n };\n\n module.directive(\"tgComment\", CommentDirective);\n\n}).call(this);\n\n\n/*\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: comments.controller.coffee\n */\n\n(function() {\n var CommentsController, module;\n\n module = angular.module(\"taigaHistory\");\n\n CommentsController = (function() {\n CommentsController.$inject = [];\n\n function CommentsController() {}\n\n CommentsController.prototype.initializePermissions = function() {\n return this.canAddCommentPermission = 'comment_' + this.name;\n };\n\n return CommentsController;\n\n })();\n\n module.controller(\"CommentsCtrl\", CommentsController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: comments.directive.coffee\n */\n\n(function() {\n var CommentsDirective, module;\n\n module = angular.module('taigaHistory');\n\n CommentsDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.initializePermissions();\n };\n return {\n scope: {\n type: \"<\",\n name: \"@\",\n object: \"@\",\n comments: \"<\",\n onEditMode: \"&\",\n onDeleteComment: \"&\",\n onRestoreDeletedComment: \"&\",\n onAddComment: \"&\",\n onEditComment: \"&\",\n editMode: \"<\",\n loading: \"<\",\n deleting: \"<\",\n editing: \"<\",\n projectId: \"=\"\n },\n templateUrl: \"history/comments/comments.html\",\n bindToController: true,\n controller: 'CommentsCtrl',\n controllerAs: \"vm\",\n link: link\n };\n };\n\n module.directive(\"tgComments\", CommentsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.controller.coffee\n */\n\n(function() {\n var LightboxDisplayHistoricController, module;\n\n module = angular.module(\"taigaHistory\");\n\n LightboxDisplayHistoricController = (function() {\n LightboxDisplayHistoricController.$inject = [\"$tgResources\"];\n\n function LightboxDisplayHistoricController(rs) {\n this.rs = rs;\n }\n\n LightboxDisplayHistoricController.prototype._loadHistoric = function() {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.object;\n activityId = this.comment.id;\n return this.rs.history.getCommentHistory(type, objectId, activityId).then((function(_this) {\n return function(data) {\n return _this.commentHistoryEntries = data;\n };\n })(this));\n };\n\n return LightboxDisplayHistoricController;\n\n })();\n\n module.controller(\"LightboxDisplayHistoricCtrl\", LightboxDisplayHistoricController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: comment.directive.coffee\n */\n\n(function() {\n var LightboxDisplayHistoricDirective;\n\n LightboxDisplayHistoricDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n ctrl._loadHistoric();\n return lightboxService.open(el);\n };\n return {\n scope: {},\n bindToController: {\n name: '=',\n object: '=',\n comment: '='\n },\n templateUrl: \"history/history-lightbox/comment-history-lightbox.html\",\n controller: \"LightboxDisplayHistoricCtrl\",\n controllerAs: \"vm\",\n link: link\n };\n };\n\n LightboxDisplayHistoricDirective.$inject = [\"lightboxService\"];\n\n angular.module('taigaHistory').directive(\"tgLbDisplayHistoric\", LightboxDisplayHistoricDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: comment.directive.coffee\n */\n\n(function() {\n var HistoryEntryDirective;\n\n HistoryEntryDirective = function() {\n return {\n scope: {\n entry: \"<\"\n },\n templateUrl: \"history/history-lightbox/history-entry.html\"\n };\n };\n\n angular.module('taigaHistory').directive(\"tgHistoryEntry\", HistoryEntryDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history-tabs.directive.coffee\n */\n\n(function() {\n var HistoryTabsDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistoryTabsDirective = function() {\n return {\n templateUrl: \"history/history-tabs/history-tabs.html\",\n scope: {\n showCommentTab: \"&\",\n showActivityTab: \"&\",\n onActiveComments: \"&\",\n onActiveActivities: \"&\",\n onOrderComments: \"&\",\n activeTab: \"<\",\n commentsNum: \"<\",\n activitiesNum: \"<\",\n onReverse: \"<\"\n }\n };\n };\n\n module.directive(\"tgHistoryTabs\", HistoryTabsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.controller.coffee\n */\n\n(function() {\n var HistorySectionController, module;\n\n module = angular.module(\"taigaHistory\");\n\n HistorySectionController = (function() {\n HistorySectionController.$inject = [\"$tgResources\", \"$tgRepo\", \"$tgStorage\", \"tgProjectService\"];\n\n function HistorySectionController(rs, repo, storage, projectService) {\n this.rs = rs;\n this.repo = repo;\n this.storage = storage;\n this.projectService = projectService;\n this.editing = null;\n this.deleting = null;\n this.editMode = {};\n this.viewComments = true;\n this.reverse = this.storage.get(\"orderComments\");\n this._loadHistory();\n }\n\n HistorySectionController.prototype._loadHistory = function() {\n return this.rs.history.get(this.name, this.id).then((function(_this) {\n return function(history) {\n _this._getComments(history);\n return _this._getActivities(history);\n };\n })(this));\n };\n\n HistorySectionController.prototype._getComments = function(comments) {\n this.comments = _.filter(comments, function(item) {\n return item.comment !== \"\";\n });\n if (this.reverse) {\n this.comments - _.reverse(this.comments);\n }\n return this.commentsNum = this.comments.length;\n };\n\n HistorySectionController.prototype._getActivities = function(activities) {\n this.activities = _.filter(activities, function(item) {\n return Object.keys(item.values_diff).length > 0;\n });\n return this.activitiesNum = this.activities.length;\n };\n\n HistorySectionController.prototype.showHistorySection = function() {\n return this.showCommentTab() || this.showActivityTab();\n };\n\n HistorySectionController.prototype.showCommentTab = function() {\n return this.commentsNum > 0 || this.projectService.hasPermission(\"comment_\" + this.name);\n };\n\n HistorySectionController.prototype.showActivityTab = function() {\n return this.activitiesNum > 0;\n };\n\n HistorySectionController.prototype.toggleEditMode = function(commentId) {\n return this.editMode[commentId] = !this.editMode[commentId];\n };\n\n HistorySectionController.prototype.onActiveHistoryTab = function(active) {\n return this.viewComments = active;\n };\n\n HistorySectionController.prototype.deleteComment = function(commentId) {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.id;\n activityId = commentId;\n this.deleting = commentId;\n return this.rs.history.deleteComment(type, objectId, activityId).then((function(_this) {\n return function() {\n _this._loadHistory();\n return _this.deleting = null;\n };\n })(this));\n };\n\n HistorySectionController.prototype.editComment = function(commentId, comment) {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.id;\n activityId = commentId;\n this.editing = commentId;\n return this.rs.history.editComment(type, objectId, activityId, comment).then((function(_this) {\n return function() {\n _this._loadHistory();\n _this.toggleEditMode(commentId);\n return _this.editing = null;\n };\n })(this));\n };\n\n HistorySectionController.prototype.restoreDeletedComment = function(commentId) {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.id;\n activityId = commentId;\n this.editing = commentId;\n return this.rs.history.undeleteComment(type, objectId, activityId).then((function(_this) {\n return function() {\n _this._loadHistory();\n return _this.editing = null;\n };\n })(this));\n };\n\n HistorySectionController.prototype.addComment = function(cb) {\n return this.repo.save(this.type).then((function(_this) {\n return function() {\n _this._loadHistory();\n return cb();\n };\n })(this));\n };\n\n HistorySectionController.prototype.onOrderComments = function() {\n this.reverse = !this.reverse;\n this.storage.set(\"orderComments\", this.reverse);\n return this._loadHistory();\n };\n\n return HistorySectionController;\n\n })();\n\n module.controller(\"HistorySection\", HistorySectionController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.directive.coffee\n */\n\n(function() {\n var HistorySectionDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistorySectionDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {\n return scope.$on(\"object:updated\", function() {\n return ctrl._loadHistory(scope.type, scope.id);\n });\n };\n return {\n link: link,\n templateUrl: \"history/history.html\",\n controller: \"HistorySection\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n type: \"=\",\n name: \"@\",\n id: \"=\",\n projectId: \"=\"\n }\n };\n };\n\n HistorySectionDirective.$inject = [];\n\n module.directive(\"tgHistorySection\", HistorySectionDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.controller.coffee\n */\n\n(function() {\n var ActivitiesDiffController, module;\n\n module = angular.module(\"taigaHistory\");\n\n ActivitiesDiffController = (function() {\n ActivitiesDiffController.$inject = [];\n\n function ActivitiesDiffController() {}\n\n ActivitiesDiffController.prototype.diffTags = function() {\n if (this.type === 'tags') {\n this.diffRemoveTags = _.difference(this.diff[0], this.diff[1]).toString();\n return this.diffAddTags = _.difference(this.diff[1], this.diff[0]).toString();\n }\n };\n\n return ActivitiesDiffController;\n\n })();\n\n module.controller(\"ActivitiesDiffCtrl\", ActivitiesDiffController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.directive.coffee\n */\n\n(function() {\n var HistoryDiffDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistoryDiffDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.diffTags();\n };\n return {\n scope: {\n type: \"<\",\n diff: \"<\"\n },\n templateUrl: \"history/history/history-diff.html\",\n controller: \"ActivitiesDiffCtrl\",\n controllerAs: 'vm',\n bindToController: true,\n link: link\n };\n };\n\n module.directive(\"tgHistoryDiff\", HistoryDiffDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: history.directive.coffee\n */\n\n(function() {\n var HistoryDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistoryDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n scope: {\n activities: \"<\"\n },\n templateUrl: \"history/history/history.html\",\n link: link\n };\n };\n\n module.directive(\"tgHistory\", HistoryDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: duty.directive.coffee\n */\n\n(function() {\n var DutyDirective;\n\n DutyDirective = function(navurls, $translate) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n scope.vm.duty = scope.duty;\n scope.vm.type = scope.type;\n return scope.vm.getDutyType = function() {\n if (scope.vm.duty) {\n if (scope.vm.duty.get('_name') === \"epics\") {\n return $translate.instant(\"COMMON.EPIC\");\n }\n if (scope.vm.duty.get('_name') === \"userstories\") {\n return $translate.instant(\"COMMON.USER_STORY\");\n }\n if (scope.vm.duty.get('_name') === \"tasks\") {\n return $translate.instant(\"COMMON.TASK\");\n }\n if (scope.vm.duty.get('_name') === \"issues\") {\n return $translate.instant(\"COMMON.ISSUE\");\n }\n }\n };\n };\n return {\n templateUrl: \"home/duties/duty.html\",\n scope: {\n \"duty\": \"=tgDuty\",\n \"type\": \"@\"\n },\n link: link\n };\n };\n\n DutyDirective.$inject = [\"$tgNavUrls\", \"$translate\"];\n\n angular.module(\"taigaHome\").directive(\"tgDuty\", DutyDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: home.controller.coffee\n */\n\n(function() {\n var HomeController;\n\n HomeController = (function() {\n HomeController.$inject = [\"tgCurrentUserService\", \"$location\", \"$tgNavUrls\"];\n\n function HomeController(currentUserService, location, navUrls) {\n this.currentUserService = currentUserService;\n this.location = location;\n this.navUrls = navUrls;\n if (!this.currentUserService.getUser()) {\n this.location.path(this.navUrls.resolve(\"discover\"));\n }\n }\n\n return HomeController;\n\n })();\n\n angular.module(\"taigaHome\").controller(\"Home\", HomeController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: home.service.coffee\n */\n\n(function() {\n var HomeService, groupBy,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n groupBy = this.taiga.groupBy;\n\n HomeService = (function(superClass) {\n extend(HomeService, superClass);\n\n HomeService.$inject = [\"$tgNavUrls\", \"tgResources\", \"tgProjectsService\"];\n\n function HomeService(navurls, rs, projectsService) {\n this.navurls = navurls;\n this.rs = rs;\n this.projectsService = projectsService;\n }\n\n HomeService.prototype._attachProjectInfoToWorkInProgress = function(workInProgress, projectsById) {\n var _attachProjectInfoToDuty, _duties, _getValidDutiesAndAttachProjectInfo, assignedTo, watching;\n _attachProjectInfoToDuty = (function(_this) {\n return function(duty, objType) {\n var ctx, project, url;\n project = projectsById.get(String(duty.get('project')));\n ctx = {\n project: project.get('slug'),\n ref: duty.get('ref')\n };\n url = _this.navurls.resolve(\"project-\" + objType + \"-detail\", ctx);\n duty = duty.set('url', url);\n duty = duty.set('project', project);\n duty = duty.set(\"_name\", objType);\n return duty;\n };\n })(this);\n _getValidDutiesAndAttachProjectInfo = function(duties, dutyType) {\n duties = duties.filter(function(duty) {\n return projectsById.get(String(duty.get('project')));\n });\n duties = duties.map(function(duty) {\n return _attachProjectInfoToDuty(duty, dutyType);\n });\n return duties;\n };\n assignedTo = workInProgress.get(\"assignedTo\");\n if (assignedTo.get(\"epics\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"epics\"), \"epics\");\n assignedTo = assignedTo.set(\"epics\", _duties);\n }\n if (assignedTo.get(\"userStories\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"userStories\"), \"userstories\");\n assignedTo = assignedTo.set(\"userStories\", _duties);\n }\n if (assignedTo.get(\"tasks\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"tasks\"), \"tasks\");\n assignedTo = assignedTo.set(\"tasks\", _duties);\n }\n if (assignedTo.get(\"issues\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"issues\"), \"issues\");\n assignedTo = assignedTo.set(\"issues\", _duties);\n }\n watching = workInProgress.get(\"watching\");\n if (watching.get(\"epics\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"epics\"), \"epics\");\n watching = watching.set(\"epics\", _duties);\n }\n if (watching.get(\"userStories\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"userStories\"), \"userstories\");\n watching = watching.set(\"userStories\", _duties);\n }\n if (watching.get(\"tasks\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"tasks\"), \"tasks\");\n watching = watching.set(\"tasks\", _duties);\n }\n if (watching.get(\"issues\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"issues\"), \"issues\");\n watching = watching.set(\"issues\", _duties);\n }\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo);\n return workInProgress = workInProgress.set(\"watching\", watching);\n };\n\n HomeService.prototype.getWorkInProgress = function(userId) {\n var assignedEpicsPromise, assignedIssuesPromise, assignedTasksPromise, assignedTo, assignedUserStoriesPromise, params_epics, params_issues, params_tasks, params_uss, projectsById, projectsPromise, watching, watchingEpicsPromise, watchingIssuesPromise, watchingTasksPromise, watchingUserStoriesPromise, workInProgress;\n projectsById = Immutable.Map();\n projectsPromise = this.projectsService.getProjectsByUserId(userId).then(function(projects) {\n return projectsById = Immutable.fromJS(groupBy(projects.toJS(), function(p) {\n return p.id;\n }));\n });\n assignedTo = Immutable.Map();\n params_epics = {\n status__is_closed: false,\n assigned_to: userId\n };\n params_uss = {\n is_closed: false,\n assigned_users: userId\n };\n params_tasks = {\n status__is_closed: false,\n assigned_to: userId\n };\n params_issues = {\n status__is_closed: false,\n assigned_to: userId\n };\n assignedEpicsPromise = this.rs.epics.listInAllProjects(params_epics).then(function(epics) {\n return assignedTo = assignedTo.set(\"epics\", epics);\n });\n assignedUserStoriesPromise = this.rs.userstories.listInAllProjects(params_uss).then(function(userstories) {\n return assignedTo = assignedTo.set(\"userStories\", userstories);\n });\n assignedTasksPromise = this.rs.tasks.listInAllProjects(params_tasks).then(function(tasks) {\n return assignedTo = assignedTo.set(\"tasks\", tasks);\n });\n assignedIssuesPromise = this.rs.issues.listInAllProjects(params_issues).then(function(issues) {\n return assignedTo = assignedTo.set(\"issues\", issues);\n });\n params_epics = {\n status__is_closed: false,\n watchers: userId\n };\n params_uss = {\n is_closed: false,\n watchers: userId\n };\n params_tasks = {\n status__is_closed: false,\n watchers: userId\n };\n params_issues = {\n status__is_closed: false,\n watchers: userId\n };\n watching = Immutable.Map();\n watchingEpicsPromise = this.rs.epics.listInAllProjects(params_epics).then(function(epics) {\n return watching = watching.set(\"epics\", epics);\n });\n watchingUserStoriesPromise = this.rs.userstories.listInAllProjects(params_uss).then(function(userstories) {\n return watching = watching.set(\"userStories\", userstories);\n });\n watchingTasksPromise = this.rs.tasks.listInAllProjects(params_tasks).then(function(tasks) {\n return watching = watching.set(\"tasks\", tasks);\n });\n watchingIssuesPromise = this.rs.issues.listInAllProjects(params_issues).then(function(issues) {\n return watching = watching.set(\"issues\", issues);\n });\n workInProgress = Immutable.Map();\n return Promise.all([projectsPromise, assignedEpicsPromise, watchingEpicsPromise, assignedUserStoriesPromise, watchingUserStoriesPromise, assignedTasksPromise, watchingTasksPromise, assignedIssuesPromise, watchingIssuesPromise]).then((function(_this) {\n return function() {\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo);\n workInProgress = workInProgress.set(\"watching\", watching);\n workInProgress = _this._attachProjectInfoToWorkInProgress(workInProgress, projectsById);\n return workInProgress;\n };\n })(this));\n };\n\n return HomeService;\n\n })(taiga.Service);\n\n angular.module(\"taigaHome\").service(\"tgHomeService\", HomeService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: home-project-list.directive.coffee\n */\n\n(function() {\n var HomeProjectListDirective;\n\n HomeProjectListDirective = function(currentUserService) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n return taiga.defineImmutableProperty(scope.vm, \"projects\", function() {\n return currentUserService.projects.get(\"recents\");\n });\n };\n directive = {\n templateUrl: \"home/projects/home-project-list.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n HomeProjectListDirective.$inject = [\"tgCurrentUserService\"];\n\n angular.module(\"taigaHome\").directive(\"tgHomeProjectList\", HomeProjectListDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: working-on.controller.coffee\n */\n\n(function() {\n var WorkingOnController;\n\n WorkingOnController = (function() {\n WorkingOnController.$inject = [\"tgHomeService\"];\n\n function WorkingOnController(homeService) {\n this.homeService = homeService;\n this.assignedTo = Immutable.Map();\n this.watching = Immutable.Map();\n }\n\n WorkingOnController.prototype._setAssignedTo = function(workInProgress) {\n var epics, issues, tasks, userStories;\n epics = workInProgress.get(\"assignedTo\").get(\"epics\");\n userStories = workInProgress.get(\"assignedTo\").get(\"userStories\");\n tasks = workInProgress.get(\"assignedTo\").get(\"tasks\");\n issues = workInProgress.get(\"assignedTo\").get(\"issues\");\n this.assignedTo = userStories.concat(tasks).concat(issues).concat(epics);\n if (this.assignedTo.size > 0) {\n return this.assignedTo = this.assignedTo.sortBy(function(elem) {\n return elem.get(\"modified_date\");\n }).reverse();\n }\n };\n\n WorkingOnController.prototype._setWatching = function(workInProgress) {\n var epics, issues, tasks, userStories;\n epics = workInProgress.get(\"watching\").get(\"epics\");\n userStories = workInProgress.get(\"watching\").get(\"userStories\");\n tasks = workInProgress.get(\"watching\").get(\"tasks\");\n issues = workInProgress.get(\"watching\").get(\"issues\");\n this.watching = userStories.concat(tasks).concat(issues).concat(epics);\n if (this.watching.size > 0) {\n return this.watching = this.watching.sortBy(function(elem) {\n return elem.get(\"modified_date\");\n }).reverse();\n }\n };\n\n WorkingOnController.prototype.getWorkInProgress = function(userId) {\n return this.homeService.getWorkInProgress(userId).then((function(_this) {\n return function(workInProgress) {\n _this._setAssignedTo(workInProgress);\n return _this._setWatching(workInProgress);\n };\n })(this));\n };\n\n return WorkingOnController;\n\n })();\n\n angular.module(\"taigaHome\").controller(\"WorkingOn\", WorkingOnController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: working-on.directive.coffee\n */\n\n(function() {\n var WorkingOnDirective;\n\n WorkingOnDirective = function(homeService, currentUserService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var user, userId;\n user = currentUserService.getUser();\n if (user) {\n userId = user.get(\"id\");\n return ctrl.getWorkInProgress(userId);\n }\n };\n return {\n controller: \"WorkingOn\",\n controllerAs: \"vm\",\n templateUrl: \"home/working-on/working-on.html\",\n scope: {},\n link: link\n };\n };\n\n WorkingOnDirective.$inject = [\"tgHomeService\", \"tgCurrentUserService\"];\n\n angular.module(\"taigaHome\").directive(\"tgWorkingOn\", WorkingOnDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: add-members.controller.coffee\n */\n\n(function() {\n var InviteMembersFormController, taiga;\n\n taiga = this.taiga;\n\n InviteMembersFormController = (function() {\n InviteMembersFormController.$inject = [\"tgProjectService\", \"$tgResources\", \"lightboxService\", \"$tgConfirm\", \"$rootScope\"];\n\n function InviteMembersFormController(projectService, rs, lightboxService, confirm, rootScope) {\n this.projectService = projectService;\n this.rs = rs;\n this.lightboxService = lightboxService;\n this.confirm = confirm;\n this.rootScope = rootScope;\n this.project = this.projectService.project;\n this.roles = this.projectService.project.get('roles');\n this.rolesValues = {};\n this.loading = false;\n this.defaultMaxInvites = 4;\n }\n\n InviteMembersFormController.prototype._areRolesValidated = function() {\n return Object.defineProperty(this, 'areRolesValidated', {\n get: (function(_this) {\n return function() {\n var roleIds;\n roleIds = _.filter(Object.values(_this.rolesValues), function(it) {\n return it;\n });\n return roleIds.length === _this.contactsToInvite.size + _this.emailsToInvite.size;\n };\n })(this)\n });\n };\n\n InviteMembersFormController.prototype._checkLimitMemberships = function() {\n var pendingMembersCount;\n if (this.project.get('max_memberships') === null) {\n this.membersLimit = this.defaultMaxInvites;\n } else {\n pendingMembersCount = Math.max(this.project.get('max_memberships') - this.project.get('total_memberships'), 0);\n this.membersLimit = Math.min(pendingMembersCount, this.defaultMaxInvites);\n }\n return this.showWarningMessage = this.membersLimit < this.defaultMaxInvites;\n };\n\n InviteMembersFormController.prototype.sendInvites = function() {\n this.setInvitedContacts = [];\n _.forEach(this.rolesValues, (function(_this) {\n return function(key, value) {\n return _this.setInvitedContacts.push({\n 'role_id': key,\n 'username': value\n });\n };\n })(this));\n this.loading = true;\n return this.rs.memberships.bulkCreateMemberships(this.project.get('id'), this.setInvitedContacts, this.inviteContactsMessage).then((function(_this) {\n return function(response) {\n return _this.projectService.fetchProject().then(function() {\n _this.loading = false;\n _this.lightboxService.closeAll();\n _this.rootScope.$broadcast(\"membersform:new:success\");\n return _this.confirm.notify('success');\n });\n };\n })(this))[\"catch\"]((function(_this) {\n return function(response) {\n _this.loading = false;\n if (response.data._error_message) {\n return _this.confirm.notify(\"error\", response.data._error_message);\n }\n };\n })(this));\n };\n\n return InviteMembersFormController;\n\n })();\n\n angular.module(\"taigaAdmin\").controller(\"InviteMembersFormCtrl\", InviteMembersFormController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: invite-members.directive.coffee\n */\n\n(function() {\n var InviteMembersFormDirective;\n\n InviteMembersFormDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n ctrl._areRolesValidated();\n return ctrl._checkLimitMemberships();\n };\n return {\n scope: {},\n templateUrl: \"invite-members/invite-members-form/invite-members-form.html\",\n controller: \"InviteMembersFormCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n contactsToInvite: '<',\n emailsToInvite: '=',\n onDisplayContactList: '&',\n onRemoveInvitedContact: '&',\n onRemoveInvitedEmail: '&',\n onSendInvites: '&'\n },\n link: link\n };\n };\n\n angular.module(\"taigaAdmin\").directive(\"tgInviteMembersForm\", InviteMembersFormDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: add-members.controller.coffee\n */\n\n(function() {\n var AddMembersController, taiga;\n\n taiga = this.taiga;\n\n AddMembersController = (function() {\n AddMembersController.$inject = [\"tgUserService\", \"tgCurrentUserService\", \"tgProjectService\"];\n\n function AddMembersController(userService, currentUserService, projectService) {\n this.userService = userService;\n this.currentUserService = currentUserService;\n this.projectService = projectService;\n this.contactsToInvite = Immutable.List();\n this.emailsToInvite = Immutable.List();\n this.displayContactList = false;\n }\n\n AddMembersController.prototype._getContacts = function() {\n var excludeProjectId, userId;\n userId = this.currentUserService.getUser().get(\"id\");\n excludeProjectId = this.projectService.project.get(\"id\");\n return this.userService.getContacts(userId, excludeProjectId).then((function(_this) {\n return function(contacts) {\n return _this.contacts = contacts;\n };\n })(this));\n };\n\n AddMembersController.prototype._filterContacts = function(invited) {\n return this.contacts = this.contacts.filter((function(_this) {\n return function(contact) {\n return contact.get('id') !== invited.get('id');\n };\n })(this));\n };\n\n AddMembersController.prototype.inviteSuggested = function(contact) {\n this.contactsToInvite = this.contactsToInvite.push(contact);\n this._filterContacts(contact);\n return this.displayContactList = true;\n };\n\n AddMembersController.prototype.removeContact = function(invited) {\n this.contactsToInvite = this.contactsToInvite.filter((function(_this) {\n return function(contact) {\n return contact.get('id') !== invited.id;\n };\n })(this));\n invited = Immutable.fromJS(invited);\n this.contacts = this.contacts.push(invited);\n return this.testEmptyContacts();\n };\n\n AddMembersController.prototype.inviteEmail = function(email) {\n var emailData;\n emailData = Immutable.Map({\n 'email': email\n });\n this.emailsToInvite = this.emailsToInvite.push(emailData);\n return this.displayContactList = true;\n };\n\n AddMembersController.prototype.removeEmail = function(invited) {\n this.emailsToInvite = this.emailsToInvite.filter((function(_this) {\n return function(email) {\n return email.get('email') !== invited.email;\n };\n })(this));\n return this.testEmptyContacts();\n };\n\n AddMembersController.prototype.testEmptyContacts = function() {\n if (this.emailsToInvite.size + this.contactsToInvite.size === 0) {\n return this.displayContactList = false;\n }\n };\n\n return AddMembersController;\n\n })();\n\n angular.module(\"taigaAdmin\").controller(\"AddMembersCtrl\", AddMembersController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: add-member.directive.coffee\n */\n\n(function() {\n var LightboxAddMembersDirective;\n\n LightboxAddMembersDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n lightboxService.open(el);\n return ctrl._getContacts();\n };\n return {\n scope: {},\n templateUrl: \"invite-members/lightbox-add-members.html\",\n controller: \"AddMembersCtrl\",\n controllerAs: \"vm\",\n link: link\n };\n };\n\n angular.module(\"taigaAdmin\").directive(\"tgLbAddMembers\", [\"lightboxService\", LightboxAddMembersDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: suggest-add-members.controller.coffee\n */\n\n(function() {\n var SuggestAddMembersController, taiga;\n\n taiga = this.taiga;\n\n SuggestAddMembersController = (function() {\n SuggestAddMembersController.$inject = [];\n\n function SuggestAddMembersController() {\n this.contactQuery = \"\";\n }\n\n SuggestAddMembersController.prototype.isEmail = function() {\n return taiga.isEmail(this.contactQuery);\n };\n\n SuggestAddMembersController.prototype.filterContacts = function() {\n return this.filteredContacts = this.contacts.filter((function(_this) {\n return function(contact) {\n return contact.get('full_name_display').toLowerCase().includes(_this.contactQuery.toLowerCase()) || contact.get('username').toLowerCase().includes(_this.contactQuery.toLowerCase());\n };\n })(this)).slice(0, 12);\n };\n\n SuggestAddMembersController.prototype.setInvited = function(contact) {\n return this.onInviteSuggested({\n 'contact': contact\n });\n };\n\n return SuggestAddMembersController;\n\n })();\n\n angular.module(\"taigaAdmin\").controller(\"SuggestAddMembersCtrl\", SuggestAddMembersController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: suggest-add-member.directive.coffee\n */\n\n(function() {\n var SuggestAddMembersDirective;\n\n SuggestAddMembersDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return scope.$watch(\"vm.contacts\", (function(_this) {\n return function(contacts) {\n if (contacts) {\n return ctrl.filterContacts();\n }\n };\n })(this));\n };\n return {\n scope: {},\n templateUrl: \"invite-members/suggest-add-members/suggest-add-members.html\",\n controller: \"SuggestAddMembersCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n contacts: '=',\n onInviteSuggested: '&',\n onInviteEmail: '&'\n },\n link: link\n };\n };\n\n angular.module(\"taigaAdmin\").directive(\"tgSuggestAddMembers\", [\"lightboxService\", SuggestAddMembersDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: dropdown-project-list.directive.coffee\n */\n\n(function() {\n var DropdownProjectListDirective;\n\n DropdownProjectListDirective = function(currentUserService, projectsService) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n taiga.defineImmutableProperty(scope.vm, \"projects\", function() {\n return currentUserService.projects.get(\"recents\");\n });\n return scope.vm.newProject = function() {\n return projectsService.newProject();\n };\n };\n directive = {\n templateUrl: \"navigation-bar/dropdown-project-list/dropdown-project-list.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n DropdownProjectListDirective.$inject = [\"tgCurrentUserService\", \"tgProjectsService\"];\n\n angular.module(\"taigaNavigationBar\").directive(\"tgDropdownProjectList\", DropdownProjectListDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: dropdown-user.directive.coffee\n */\n\n(function() {\n var DropdownUserDirective;\n\n DropdownUserDirective = function(authService, configService, locationService, navUrlsService, feedbackService, $rootScope) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n scope.vm.isFeedbackEnabled = configService.get(\"feedbackEnabled\");\n scope.vm.supportUrl = configService.get(\"supportUrl\");\n taiga.defineImmutableProperty(scope.vm, \"user\", function() {\n return authService.userData;\n });\n scope.vm.logout = function() {\n authService.logout();\n locationService.url(navUrlsService.resolve(\"discover\"));\n return locationService.search({});\n };\n scope.vm.sendFeedback = function() {\n return feedbackService.sendFeedback();\n };\n return scope.vm.userSettingsPlugins = _.filter($rootScope.userSettingsPlugins, {\n userMenu: true\n });\n };\n directive = {\n templateUrl: \"navigation-bar/dropdown-user/dropdown-user.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n DropdownUserDirective.$inject = [\"$tgAuth\", \"$tgConfig\", \"$tgLocation\", \"$tgNavUrls\", \"tgFeedbackService\", \"$rootScope\"];\n\n angular.module(\"taigaNavigationBar\").directive(\"tgDropdownUser\", DropdownUserDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: navigation-bar.directive.coffee\n */\n\n(function() {\n var NavigationBarDirective;\n\n NavigationBarDirective = function(currentUserService, navigationBarService, locationService, navUrlsService, config) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n taiga.defineImmutableProperty(scope.vm, \"projects\", function() {\n return currentUserService.projects.get(\"recents\");\n });\n taiga.defineImmutableProperty(scope.vm, \"isAuthenticated\", function() {\n return currentUserService.isAuthenticated();\n });\n taiga.defineImmutableProperty(scope.vm, \"isEnabledHeader\", function() {\n return navigationBarService.isEnabledHeader();\n });\n scope.vm.publicRegisterEnabled = config.get(\"publicRegisterEnabled\");\n scope.vm.supportUrl = config.get(\"supportUrl\");\n scope.vm.login = function() {\n var nextUrl;\n nextUrl = encodeURIComponent(locationService.url());\n locationService.url(navUrlsService.resolve(\"login\"));\n return locationService.search({\n next: nextUrl\n });\n };\n return scope.$on(\"$routeChangeSuccess\", function() {\n if (locationService.path() === \"/\") {\n return scope.vm.active = true;\n } else {\n return scope.vm.active = false;\n }\n });\n };\n directive = {\n templateUrl: \"navigation-bar/navigation-bar.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n NavigationBarDirective.$inject = [\"tgCurrentUserService\", \"tgNavigationBarService\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\"];\n\n angular.module(\"taigaNavigationBar\").directive(\"tgNavigationBar\", NavigationBarDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: navigation-bar.service.coffee\n */\n\n(function() {\n var NavigationBarService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NavigationBarService = (function(superClass) {\n extend(NavigationBarService, superClass);\n\n function NavigationBarService() {\n this.disableHeader();\n }\n\n NavigationBarService.prototype.enableHeader = function() {\n return this.enabledHeader = true;\n };\n\n NavigationBarService.prototype.disableHeader = function() {\n return this.enabledHeader = false;\n };\n\n NavigationBarService.prototype.isEnabledHeader = function() {\n return this.enabledHeader;\n };\n\n return NavigationBarService;\n\n })(taiga.Service);\n\n angular.module(\"taigaNavigationBar\").service(\"tgNavigationBarService\", NavigationBarService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-bar.controller.coffee\n */\n\n(function() {\n var ProfileBarController;\n\n ProfileBarController = (function() {\n ProfileBarController.$inject = [\"tgUserService\"];\n\n function ProfileBarController(userService) {\n this.userService = userService;\n this.loadStats();\n }\n\n ProfileBarController.prototype.loadStats = function() {\n return this.userService.getStats(this.user.get(\"id\")).then((function(_this) {\n return function(stats) {\n return _this.stats = stats;\n };\n })(this));\n };\n\n return ProfileBarController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileBar\", ProfileBarController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-bar.directive.coffee\n */\n\n(function() {\n var ProfileBarDirective;\n\n ProfileBarDirective = function() {\n return {\n templateUrl: \"profile/profile-bar/profile-bar.html\",\n controller: \"ProfileBar\",\n controllerAs: \"vm\",\n scope: {\n user: \"=user\",\n isCurrentUser: \"=iscurrentuser\"\n },\n bindToController: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileBar\", ProfileBarDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-contacts.controller.coffee\n */\n\n(function() {\n var ProfileContactsController;\n\n ProfileContactsController = (function() {\n ProfileContactsController.$inject = [\"tgUserService\", \"tgCurrentUserService\"];\n\n function ProfileContactsController(userService, currentUserService) {\n this.userService = userService;\n this.currentUserService = currentUserService;\n this.currentUser = this.currentUserService.getUser();\n this.isCurrentUser = false;\n if (this.currentUser && this.currentUser.get(\"id\") === this.user.get(\"id\")) {\n this.isCurrentUser = true;\n }\n }\n\n ProfileContactsController.prototype.loadContacts = function() {\n return this.userService.getContacts(this.user.get(\"id\")).then((function(_this) {\n return function(contacts) {\n return _this.contacts = contacts;\n };\n })(this));\n };\n\n return ProfileContactsController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileContacts\", ProfileContactsController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-contacts.directive.coffee\n */\n\n(function() {\n var ProfileContactsDirective;\n\n ProfileContactsDirective = function() {\n var link;\n link = function(scope, elm, attrs, ctrl) {\n return ctrl.loadContacts();\n };\n return {\n templateUrl: \"profile/profile-contacts/profile-contacts.html\",\n scope: {\n user: \"=\"\n },\n controllerAs: \"vm\",\n controller: \"ProfileContacts\",\n link: link,\n bindToController: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileContacts\", ProfileContactsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: items.directive.coffee\n */\n\n(function() {\n var FavItemDirective;\n\n FavItemDirective = function() {\n var link, templateUrl;\n link = function(scope, el, attrs, ctrl) {\n return scope.vm = {\n item: scope.item\n };\n };\n templateUrl = function(el, attrs) {\n if (attrs.itemType === \"project\") {\n return \"profile/profile-favs/items/project.html\";\n } else {\n return \"profile/profile-favs/items/ticket.html\";\n }\n };\n return {\n scope: {\n \"item\": \"=tgFavItem\"\n },\n link: link,\n templateUrl: templateUrl\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgFavItem\", FavItemDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-favs.controller.coffee\n */\n\n(function() {\n var FavsBaseController, ProfileLikedController, ProfileVotedController, ProfileWatchedController, debounceLeading,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n debounceLeading = this.taiga.debounceLeading;\n\n FavsBaseController = (function() {\n function FavsBaseController() {\n this._init();\n }\n\n FavsBaseController.prototype._init = function() {\n this.enableFilterByAll = true;\n this.enableFilterByProjects = true;\n this.enableFilterByEpics = true;\n this.enableFilterByUserStories = true;\n this.enableFilterByTasks = true;\n this.enableFilterByIssues = true;\n this.enableFilterByTextQuery = true;\n this._resetList();\n this.q = null;\n return this.type = null;\n };\n\n FavsBaseController.prototype._resetList = function() {\n this.items = Immutable.List();\n this.scrollDisabled = false;\n return this._page = 1;\n };\n\n FavsBaseController.prototype._enableLoadingSpinner = function() {\n return this.isLoading = true;\n };\n\n FavsBaseController.prototype._disableLoadingSpinner = function() {\n return this.isLoading = false;\n };\n\n FavsBaseController.prototype._enableScroll = function() {\n return this.scrollDisabled = false;\n };\n\n FavsBaseController.prototype._disableScroll = function() {\n return this.scrollDisabled = true;\n };\n\n FavsBaseController.prototype._checkIfHasMorePages = function(hasNext) {\n if (hasNext) {\n this._page += 1;\n return this._enableScroll();\n } else {\n return this._disableScroll();\n }\n };\n\n FavsBaseController.prototype._checkIfHasNoResults = function() {\n return this.hasNoResults = this.items.size === 0;\n };\n\n FavsBaseController.prototype.loadItems = function() {\n this._enableLoadingSpinner();\n this._disableScroll();\n return this._getItems(this.user.get(\"id\"), this._page, this.type, this.q).then((function(_this) {\n return function(response) {\n _this.items = _this.items.concat(response.get(\"data\"));\n _this._checkIfHasMorePages(response.get(\"next\"));\n _this._checkIfHasNoResults();\n _this._disableLoadingSpinner();\n return _this.items;\n };\n })(this))[\"catch\"]((function(_this) {\n return function() {\n _this._disableLoadingSpinner();\n return _this.items;\n };\n })(this));\n };\n\n FavsBaseController.prototype.filterByTextQuery = debounceLeading(500, function() {\n this._resetList();\n return this.loadItems();\n });\n\n FavsBaseController.prototype.showAll = function() {\n if (this.type !== null) {\n this.type = null;\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showProjectsOnly = function() {\n if (this.type !== \"project\") {\n this.type = \"project\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showEpicsOnly = function() {\n if (this.type !== \"epic\") {\n this.type = \"epic\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showUserStoriesOnly = function() {\n if (this.type !== \"userstory\") {\n this.type = \"userstory\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showTasksOnly = function() {\n if (this.type !== \"task\") {\n this.type = \"task\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showIssuesOnly = function() {\n if (this.type !== \"issue\") {\n this.type = \"issue\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n return FavsBaseController;\n\n })();\n\n ProfileLikedController = (function(superClass) {\n extend(ProfileLikedController, superClass);\n\n ProfileLikedController.$inject = [\"tgUserService\"];\n\n function ProfileLikedController(userService) {\n this.userService = userService;\n ProfileLikedController.__super__.constructor.call(this);\n this.tabName = 'likes';\n this.enableFilterByAll = false;\n this.enableFilterByProjects = false;\n this.enableFilterByEpics = false;\n this.enableFilterByUserStories = false;\n this.enableFilterByTasks = false;\n this.enableFilterByIssues = false;\n this.enableFilterByTextQuery = true;\n this._getItems = this.userService.getLiked;\n }\n\n return ProfileLikedController;\n\n })(FavsBaseController);\n\n angular.module(\"taigaProfile\").controller(\"ProfileLiked\", ProfileLikedController);\n\n ProfileVotedController = (function(superClass) {\n extend(ProfileVotedController, superClass);\n\n ProfileVotedController.$inject = [\"tgUserService\"];\n\n function ProfileVotedController(userService) {\n this.userService = userService;\n ProfileVotedController.__super__.constructor.call(this);\n this.tabName = 'upvotes';\n this.enableFilterByAll = true;\n this.enableFilterByProjects = false;\n this.enableFilterByEpics = true;\n this.enableFilterByUserStories = true;\n this.enableFilterByTasks = true;\n this.enableFilterByIssues = true;\n this.enableFilterByTextQuery = true;\n this._getItems = this.userService.getVoted;\n }\n\n return ProfileVotedController;\n\n })(FavsBaseController);\n\n angular.module(\"taigaProfile\").controller(\"ProfileVoted\", ProfileVotedController);\n\n ProfileWatchedController = (function(superClass) {\n extend(ProfileWatchedController, superClass);\n\n ProfileWatchedController.$inject = [\"tgUserService\"];\n\n function ProfileWatchedController(userService) {\n this.userService = userService;\n ProfileWatchedController.__super__.constructor.call(this);\n this.tabName = 'watchers';\n this._getItems = this.userService.getWatched;\n }\n\n return ProfileWatchedController;\n\n })(FavsBaseController);\n\n angular.module(\"taigaProfile\").controller(\"ProfileWatched\", ProfileWatchedController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-favs.directive.coffee\n */\n\n(function() {\n var ProfileLikedDirective, ProfileVotedDirective, ProfileWatchedDirective, base;\n\n base = {\n scope: {},\n bindToController: {\n user: \"=\",\n type: \"@\",\n q: \"@\",\n scrollDisabled: \"@\",\n isLoading: \"@\",\n hasNoResults: \"@\"\n },\n controller: null,\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-favs/profile-favs.html\"\n };\n\n ProfileLikedDirective = function() {\n return _.extend({}, base, {\n controller: \"ProfileLiked\"\n });\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileLiked\", ProfileLikedDirective);\n\n ProfileVotedDirective = function() {\n return _.extend({}, base, {\n controller: \"ProfileVoted\"\n });\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileVoted\", ProfileVotedDirective);\n\n ProfileWatchedDirective = function() {\n return _.extend({}, base, {\n controller: \"ProfileWatched\"\n });\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileWatched\", ProfileWatchedDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-hints.controller.coffee\n */\n\n(function() {\n var ProfileHints;\n\n ProfileHints = (function() {\n ProfileHints.prototype.HINTS = [\n {\n url: \"https://tree.taiga.io/support/admin/import-export-projects/\"\n }, {\n url: \"https://tree.taiga.io/support/admin/custom-fields/\"\n }, {}, {}\n ];\n\n function ProfileHints(translate) {\n var hintKey;\n this.translate = translate;\n hintKey = Math.floor(Math.random() * this.HINTS.length) + 1;\n this.hint = this.HINTS[hintKey - 1];\n this.hint.linkText = this.hint.linkText || 'HINTS.LINK';\n this.hint.title = this.translate.instant(\"HINTS.HINT\" + hintKey + \"_TITLE\");\n this.hint.text = this.translate.instant(\"HINTS.HINT\" + hintKey + \"_TEXT\");\n }\n\n return ProfileHints;\n\n })();\n\n ProfileHints.$inject = [\"$translate\"];\n\n angular.module(\"taigaProfile\").controller(\"ProfileHints\", ProfileHints);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-hints.directive.coffee\n */\n\n(function() {\n var ProfileHints;\n\n ProfileHints = function($translate) {\n return {\n scope: {},\n controller: \"ProfileHints\",\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-hints/profile-hints.html\"\n };\n };\n\n ProfileHints.$inject = [\"$translate\"];\n\n angular.module(\"taigaProfile\").directive(\"tgProfileHints\", ProfileHints);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-projects.controller.coffee\n */\n\n(function() {\n var ProfileProjectsController;\n\n ProfileProjectsController = (function() {\n ProfileProjectsController.$inject = [\"tgProjectsService\", \"tgUserService\"];\n\n function ProfileProjectsController(projectsService, userService) {\n this.projectsService = projectsService;\n this.userService = userService;\n }\n\n ProfileProjectsController.prototype.loadProjects = function() {\n return this.projectsService.getProjectsByUserId(this.user.get(\"id\")).then((function(_this) {\n return function(projects) {\n return _this.userService.attachUserContactsToProjects(_this.user.get(\"id\"), projects);\n };\n })(this)).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n return ProfileProjectsController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileProjects\", ProfileProjectsController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-projects.directive.coffee\n */\n\n(function() {\n var ProfileProjectsDirective;\n\n ProfileProjectsDirective = function() {\n var link;\n link = function(scope, elm, attr, ctrl) {\n return ctrl.loadProjects();\n };\n return {\n templateUrl: \"profile/profile-projects/profile-projects.html\",\n scope: {\n user: \"=\"\n },\n link: link,\n bindToController: true,\n controllerAs: \"vm\",\n controller: \"ProfileProjects\"\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileProjects\", ProfileProjectsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-tab.directive.coffee\n */\n\n(function() {\n var ProfileTabDirective;\n\n ProfileTabDirective = function() {\n var link;\n link = function(scope, element, attrs, ctrl, transclude) {\n scope.tab = {};\n attrs.$observe(\"tgProfileTab\", function(name) {\n return scope.tab.name = name;\n });\n attrs.$observe(\"tabTitle\", function(title) {\n return scope.tab.title = title;\n });\n scope.tab.icon = attrs.tabIcon;\n scope.tab.active = !!attrs.tabActive;\n if (scope.$eval(attrs.tabDisabled) !== true) {\n return ctrl.addTab(scope.tab);\n }\n };\n return {\n templateUrl: \"profile/profile-tab/profile-tab.html\",\n scope: {},\n require: \"^tgProfileTabs\",\n link: link,\n transclude: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileTab\", ProfileTabDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-tabs.controller.coffee\n */\n\n(function() {\n var ProfileTabsController;\n\n ProfileTabsController = (function() {\n function ProfileTabsController() {\n this.tabs = [];\n }\n\n ProfileTabsController.prototype.addTab = function(tab) {\n return this.tabs.push(tab);\n };\n\n ProfileTabsController.prototype.toggleTab = function(tab) {\n _.map(this.tabs, function(tab) {\n return tab.active = false;\n });\n return tab.active = true;\n };\n\n return ProfileTabsController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileTabs\", ProfileTabsController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile-tabs.directive.coffee\n */\n\n(function() {\n var ProfileTabsDirective;\n\n ProfileTabsDirective = function() {\n return {\n scope: {},\n controller: \"ProfileTabs\",\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-tabs/profile-tabs.html\",\n transclude: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileTabs\", ProfileTabsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: profile.controller.coffee\n */\n\n(function() {\n var ProfileController;\n\n ProfileController = (function() {\n ProfileController.$inject = [\"tgAppMetaService\", \"tgCurrentUserService\", \"$routeParams\", \"tgUserService\", \"tgXhrErrorService\", \"$translate\"];\n\n function ProfileController(appMetaService, currentUserService, routeParams, userService, xhrError, translate) {\n this.appMetaService = appMetaService;\n this.currentUserService = currentUserService;\n this.routeParams = routeParams;\n this.userService = userService;\n this.xhrError = xhrError;\n this.translate = translate;\n this.isCurrentUser = false;\n if (this.routeParams.slug) {\n this.userService.getUserByUserName(this.routeParams.slug).then((function(_this) {\n return function(user) {\n if (!user.get('is_active')) {\n return _this.xhrError.notFound();\n } else {\n _this.user = user;\n _this.isCurrentUser = false;\n _this._setMeta(_this.user);\n return user;\n }\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n } else {\n this.user = this.currentUserService.getUser();\n this.isCurrentUser = true;\n this._setMeta(this.user);\n }\n }\n\n ProfileController.prototype._setMeta = function(user) {\n var ctx, description, title;\n ctx = {\n userFullName: user.get(\"full_name_display\"),\n userUsername: user.get(\"username\")\n };\n title = this.translate.instant(\"USER.PROFILE.PAGE_TITLE\", ctx);\n description = user.get(\"bio\");\n return this.appMetaService.setAll(title, description);\n };\n\n return ProfileController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"Profile\", ProfileController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: blocked-project-explanation.directive.coffee\n */\n\n(function() {\n var BlockedProjectExplanationDirective;\n\n BlockedProjectExplanationDirective = function() {\n return {\n templateUrl: \"projects/project/blocked-project-explanation.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgBlockedProjectExplanation\", BlockedProjectExplanationDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: like-project-button.controller.coffee\n */\n\n(function() {\n var ContactProjectButtonController;\n\n ContactProjectButtonController = (function() {\n ContactProjectButtonController.$inject = ['tgLightboxFactory'];\n\n function ContactProjectButtonController(lightboxFactory) {\n this.lightboxFactory = lightboxFactory;\n }\n\n ContactProjectButtonController.prototype.launchContactForm = function() {\n return this.lightboxFactory.create('tg-lb-contact-project', {\n \"class\": \"lightbox lightbox-contact-project e2e-lightbox-contact-project\",\n \"project\": \"project\"\n }, {\n \"project\": this.project\n });\n };\n\n return ContactProjectButtonController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ContactProjectButtonCtrl\", ContactProjectButtonController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: contact-project-button.directive.coffee\n */\n\n(function() {\n var ContactProjectButtonDirective;\n\n ContactProjectButtonDirective = function() {\n return {\n scope: {},\n controller: \"ContactProjectButtonCtrl\",\n bindToController: {\n project: '=',\n layout: '@'\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/contact-project-button/contact-project-button.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgContactProjectButton\", ContactProjectButtonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: lb-contact-team.controller.coffee\n */\n\n(function() {\n var ContactProjectLbController;\n\n ContactProjectLbController = (function() {\n ContactProjectLbController.$inject = [\"lightboxService\", \"tgResources\", \"$tgConfirm\"];\n\n function ContactProjectLbController(lightboxService, rs, confirm) {\n this.lightboxService = lightboxService;\n this.rs = rs;\n this.confirm = confirm;\n this.contact = {};\n }\n\n ContactProjectLbController.prototype.contactProject = function() {\n var message, project, promise;\n project = this.project.get('id');\n message = this.contact.message;\n promise = this.rs.projects.contactProject(project, message);\n this.sendingFeedback = true;\n return promise.then((function(_this) {\n return function() {\n _this.lightboxService.closeAll();\n _this.sendingFeedback = false;\n return _this.confirm.notify(\"success\");\n };\n })(this));\n };\n\n return ContactProjectLbController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ContactProjectLbCtrl\", ContactProjectLbController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: lb-contact-team.directive.coffee\n */\n\n(function() {\n var ContactProjectLbDirective;\n\n ContactProjectLbDirective = function(lightboxService) {\n var link;\n this.inject = ['lightboxService'];\n link = function(scope, el) {\n return lightboxService.open(el);\n };\n return {\n controller: \"ContactProjectLbCtrl\",\n bindToController: {\n project: '='\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/lb-contact-project/lb-contact-project.html\",\n link: link\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgLbContactProject\", [\"lightboxService\", ContactProjectLbDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: like-project-button.controller.coffee\n */\n\n(function() {\n var LikeProjectButtonController;\n\n LikeProjectButtonController = (function() {\n LikeProjectButtonController.$inject = [\"$tgConfirm\", \"tgLikeProjectButtonService\"];\n\n function LikeProjectButtonController(confirm, likeButtonService) {\n this.confirm = confirm;\n this.likeButtonService = likeButtonService;\n this.isMouseOver = false;\n this.loading = false;\n }\n\n LikeProjectButtonController.prototype.showTextWhenMouseIsOver = function() {\n return this.isMouseOver = true;\n };\n\n LikeProjectButtonController.prototype.showTextWhenMouseIsLeave = function() {\n return this.isMouseOver = false;\n };\n\n LikeProjectButtonController.prototype.toggleLike = function() {\n var promise;\n this.loading = true;\n if (!this.project.get(\"is_fan\")) {\n promise = this._like();\n } else {\n promise = this._unlike();\n }\n promise[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n return promise;\n };\n\n LikeProjectButtonController.prototype._like = function() {\n return this.likeButtonService.like(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.showTextWhenMouseIsLeave();\n };\n })(this))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n };\n\n LikeProjectButtonController.prototype._unlike = function() {\n return this.likeButtonService.unlike(this.project.get('id'))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n };\n\n return LikeProjectButtonController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"LikeProjectButton\", LikeProjectButtonController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: like-project-button.directive.coffee\n */\n\n(function() {\n var LikeProjectButtonDirective;\n\n LikeProjectButtonDirective = function() {\n return {\n scope: {},\n controller: \"LikeProjectButton\",\n bindToController: {\n project: '='\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/like-project-button/like-project-button.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgLikeProjectButton\", LikeProjectButtonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: like-project-button.service.coffee\n */\n\n(function() {\n var LikeProjectButtonService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n LikeProjectButtonService = (function(superClass) {\n extend(LikeProjectButtonService, superClass);\n\n LikeProjectButtonService.$inject = [\"tgResources\", \"tgCurrentUserService\", \"tgProjectService\"];\n\n function LikeProjectButtonService(rs, currentUserService, projectService) {\n this.rs = rs;\n this.currentUserService = currentUserService;\n this.projectService = projectService;\n }\n\n LikeProjectButtonService.prototype._getProjectIndex = function(projectId) {\n return this.currentUserService.projects.get('all').findIndex(function(project) {\n return project.get('id') === projectId;\n });\n };\n\n LikeProjectButtonService.prototype._updateProjects = function(projectId, isFan) {\n var projectIndex, projects;\n projectIndex = this._getProjectIndex(projectId);\n if (projectIndex === -1) {\n return;\n }\n projects = this.currentUserService.projects.get('all').update(projectIndex, function(project) {\n var totalFans;\n totalFans = project.get(\"total_fans\");\n if (isFan) {\n totalFans++;\n } else {\n totalFans--;\n }\n return project.merge({\n is_fan: isFan,\n total_fans: totalFans\n });\n });\n return this.currentUserService.setProjects(projects);\n };\n\n LikeProjectButtonService.prototype._updateCurrentProject = function(isFan) {\n var project, totalFans;\n totalFans = this.projectService.project.get(\"total_fans\");\n if (isFan) {\n totalFans++;\n } else {\n totalFans--;\n }\n project = this.projectService.project.merge({\n is_fan: isFan,\n total_fans: totalFans\n });\n return this.projectService.setProject(project);\n };\n\n LikeProjectButtonService.prototype.like = function(projectId) {\n return this.rs.projects.likeProject(projectId).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, true);\n return _this._updateCurrentProject(true);\n };\n })(this));\n };\n\n LikeProjectButtonService.prototype.unlike = function(projectId) {\n return this.rs.projects.unlikeProject(projectId).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, false);\n return _this._updateCurrentProject(false);\n };\n })(this));\n };\n\n return LikeProjectButtonService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgLikeProjectButtonService\", LikeProjectButtonService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: sort-projects.directive.coffee\n */\n\n(function() {\n var SortProjectsDirective;\n\n SortProjectsDirective = function(currentUserService) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n var drake, itemEl, scroll;\n itemEl = null;\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).hasClass('list-itemtype-project');\n }\n });\n drake.on('dragend', function(item) {\n var i, index, len, project, sortData, sorted_project_ids, value;\n itemEl = $(item);\n project = itemEl.scope().project;\n index = itemEl.index();\n sorted_project_ids = _.map(scope.projects.toJS(), function(p) {\n return p.id;\n });\n sorted_project_ids = _.without(sorted_project_ids, project.get(\"id\"));\n sorted_project_ids.splice(index, 0, project.get('id'));\n sortData = [];\n for (index = i = 0, len = sorted_project_ids.length; i < len; index = ++i) {\n value = sorted_project_ids[index];\n sortData.push({\n \"project_id\": value,\n \"order\": index\n });\n }\n return currentUserService.bulkUpdateProjectsOrder(sortData);\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n directive = {\n scope: {\n projects: \"=tgSortProjects\"\n },\n link: link\n };\n return directive;\n };\n\n angular.module(\"taigaProjects\").directive(\"tgSortProjects\", [\"tgCurrentUserService\", SortProjectsDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: watch-project-button.controller.coffee\n */\n\n(function() {\n var WatchProjectButtonController;\n\n WatchProjectButtonController = (function() {\n WatchProjectButtonController.$inject = [\"$tgConfirm\", \"tgWatchProjectButtonService\"];\n\n function WatchProjectButtonController(confirm, watchButtonService) {\n this.confirm = confirm;\n this.watchButtonService = watchButtonService;\n this.showWatchOptions = false;\n this.loading = false;\n }\n\n WatchProjectButtonController.prototype.toggleWatcherOptions = function() {\n return this.showWatchOptions = !this.showWatchOptions;\n };\n\n WatchProjectButtonController.prototype.closeWatcherOptions = function() {\n return this.showWatchOptions = false;\n };\n\n WatchProjectButtonController.prototype.watch = function(notifyLevel) {\n if (notifyLevel === this.project.get('notify_level')) {\n return;\n }\n this.loading = true;\n this.closeWatcherOptions();\n return this.watchButtonService.watch(this.project.get('id'), notifyLevel)[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n WatchProjectButtonController.prototype.unwatch = function() {\n this.loading = true;\n this.closeWatcherOptions();\n return this.watchButtonService.unwatch(this.project.get('id'))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n return WatchProjectButtonController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"WatchProjectButton\", WatchProjectButtonController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: watch-project-button.directive.coffee\n */\n\n(function() {\n var WatchProjectButtonDirective;\n\n WatchProjectButtonDirective = function() {\n return {\n scope: {},\n controller: \"WatchProjectButton\",\n bindToController: {\n project: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/watch-project-button/watch-project-button.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgWatchProjectButton\", WatchProjectButtonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: watch-project-button.service.coffee\n */\n\n(function() {\n var WatchProjectButtonService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n WatchProjectButtonService = (function(superClass) {\n extend(WatchProjectButtonService, superClass);\n\n WatchProjectButtonService.$inject = [\"tgResources\", \"tgCurrentUserService\", \"tgProjectService\"];\n\n function WatchProjectButtonService(rs, currentUserService, projectService) {\n this.rs = rs;\n this.currentUserService = currentUserService;\n this.projectService = projectService;\n }\n\n WatchProjectButtonService.prototype._getProjectIndex = function(projectId) {\n return this.currentUserService.projects.get('all').findIndex(function(project) {\n return project.get('id') === projectId;\n });\n };\n\n WatchProjectButtonService.prototype._updateProjects = function(projectId, notifyLevel, isWatcher) {\n var projectIndex, projects;\n projectIndex = this._getProjectIndex(projectId);\n if (projectIndex === -1) {\n return;\n }\n projects = this.currentUserService.projects.get('all').update(projectIndex, (function(_this) {\n return function(project) {\n var totalWatchers;\n totalWatchers = project.get('total_watchers');\n if (!_this.projectService.project.get('is_watcher') && isWatcher) {\n totalWatchers++;\n } else if (_this.projectService.project.get('is_watcher') && !isWatcher) {\n totalWatchers--;\n }\n return project.merge({\n is_watcher: isWatcher,\n total_watchers: totalWatchers,\n notify_level: notifyLevel\n });\n };\n })(this));\n return this.currentUserService.setProjects(projects);\n };\n\n WatchProjectButtonService.prototype._updateCurrentProject = function(notifyLevel, isWatcher) {\n var project, totalWatchers;\n totalWatchers = this.projectService.project.get(\"total_watchers\");\n if (!this.projectService.project.get('is_watcher') && isWatcher) {\n totalWatchers++;\n } else if (this.projectService.project.get('is_watcher') && !isWatcher) {\n totalWatchers--;\n }\n project = this.projectService.project.merge({\n is_watcher: isWatcher,\n notify_level: notifyLevel,\n total_watchers: totalWatchers\n });\n return this.projectService.setProject(project);\n };\n\n WatchProjectButtonService.prototype.watch = function(projectId, notifyLevel) {\n return this.rs.projects.watchProject(projectId, notifyLevel).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, notifyLevel, true);\n return _this._updateCurrentProject(notifyLevel, true);\n };\n })(this));\n };\n\n WatchProjectButtonService.prototype.unwatch = function(projectId) {\n return this.rs.projects.unwatchProject(projectId).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, null, false);\n return _this._updateCurrentProject(null, false);\n };\n })(this));\n };\n\n return WatchProjectButtonService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgWatchProjectButtonService\", WatchProjectButtonService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: asana-import-project-form.controller.coffee\n */\n\n(function() {\n var AsanaImportProjectFormController;\n\n AsanaImportProjectFormController = (function() {\n AsanaImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function AsanaImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.platformName = \"Asana\";\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n this.projectForm.project_type = \"scrum\";\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n AsanaImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n AsanaImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n AsanaImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n AsanaImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return AsanaImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('AsanaImportProjectFormCtrl', AsanaImportProjectFormController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: asana-import-project-form.directive.coffee\n */\n\n(function() {\n var AsanaImportProjectFormDirective;\n\n AsanaImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/asana-import/asana-import-project-form/asana-import-project-form.html\",\n controller: \"AsanaImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n AsanaImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgAsanaImportProjectForm\", AsanaImportProjectFormDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: asana-import.controller.coffee\n */\n\n(function() {\n var AsanaImportController;\n\n AsanaImportController = (function() {\n AsanaImportController.$inject = ['tgAsanaImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function AsanaImportController(asanaImportService, confirm, translate, importProjectService) {\n this.asanaImportService = asanaImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.step = 'autorization-asana';\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.asanaImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.asanaImportService.projectUsers;\n };\n })(this));\n }\n\n AsanaImportController.prototype.startProjectSelector = function() {\n this.step = 'project-select-asana';\n return this.asanaImportService.fetchProjects();\n };\n\n AsanaImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-asana';\n this.project = project;\n this.fetchingUsers = true;\n return this.asanaImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n AsanaImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-asana';\n };\n\n AsanaImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-asana';\n };\n\n AsanaImportController.prototype.startImport = function(users) {\n var loader, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.asanaImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'), this.project.get('project_type'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n AsanaImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return AsanaImportController;\n\n })();\n\n angular.module('taigaProjects').controller('AsanaImportCtrl', AsanaImportController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: asana-import.directive.coffee\n */\n\n(function() {\n var AsanaImportDirective;\n\n AsanaImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/asana-import/asana-import.html\",\n controller: \"AsanaImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n AsanaImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgAsanaImport\", AsanaImportDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: asana-import.service.coffee\n */\n\n(function() {\n var AsanaImportService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n AsanaImportService = (function(superClass) {\n extend(AsanaImportService, superClass);\n\n AsanaImportService.$inject = ['tgResources', '$location'];\n\n function AsanaImportService(resources, location) {\n this.resources = resources;\n this.location = location;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n this.token = null;\n }\n\n AsanaImportService.prototype.setToken = function(token) {\n return this.token = token;\n };\n\n AsanaImportService.prototype.fetchProjects = function() {\n return this.resources.asanaImporter.listProjects(this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n AsanaImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.asanaImporter.listUsers(this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n AsanaImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n return this.resources.asanaImporter.importProject(this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType);\n };\n\n AsanaImportService.prototype.getAuthUrl = function() {\n return new Promise((function(_this) {\n return function(resolve) {\n return _this.resources.asanaImporter.getAuthUrl().then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n });\n };\n })(this));\n };\n\n AsanaImportService.prototype.authorize = function(code) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.asanaImporter.authorize(code).then((function(response) {\n _this.token = response.data.token;\n return resolve(_this.token);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return AsanaImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgAsanaImportService\", AsanaImportService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: create-project-form.controller.coffee\n */\n\n(function() {\n var CreatetProjectFormController;\n\n CreatetProjectFormController = (function() {\n CreatetProjectFormController.$inject = [\"tgCurrentUserService\", \"tgProjectsService\", \"$projectUrl\", \"$location\", \"$tgNavUrls\", \"$tgAnalytics\"];\n\n function CreatetProjectFormController(currentUserService, projectsService, projectUrl, location, navUrls, analytics) {\n this.currentUserService = currentUserService;\n this.projectsService = projectsService;\n this.projectUrl = projectUrl;\n this.location = location;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.projectForm = {\n is_private: false\n };\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n if (this.type === 'scrum') {\n this.projectForm.creation_template = 1;\n } else {\n this.projectForm.creation_template = 2;\n }\n }\n\n CreatetProjectFormController.prototype.submit = function() {\n this.formSubmitLoading = true;\n return this.projectsService.create(this.projectForm).then((function(_this) {\n return function(project) {\n _this.analytics.trackEvent(\"project\", \"create\", \"project creation\", {\n slug: project.get('slug'),\n id: project.get('id')\n });\n return _this.location.url(_this.projectUrl.get(project));\n };\n })(this));\n };\n\n CreatetProjectFormController.prototype.onCancelForm = function() {\n return this.location.path(this.navUrls.resolve(\"create-project\"));\n };\n\n CreatetProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n CreatetProjectFormController.prototype.isDisabled = function() {\n return this.formSubmitLoading || !this.canCreateProject();\n };\n\n return CreatetProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('CreateProjectFormCtrl', CreatetProjectFormController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: create-project-form.directive.coffee\n */\n\n(function() {\n var CreateProjectFormDirective;\n\n CreateProjectFormDirective = function() {\n return {\n templateUrl: \"projects/create/create-project-form/create-project-form.html\",\n controller: \"CreateProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n type: '@'\n }\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgCreateProjectForm\", CreateProjectFormDirective);\n\n}).call(this);\n\n(function() {\n var createProjectMembersRestrictionsDirective, module;\n\n module = angular.module(\"taigaProject\");\n\n createProjectMembersRestrictionsDirective = function() {\n return {\n scope: {\n isPrivate: '=',\n limitMembersPrivateProject: '=',\n limitMembersPublicProject: '='\n },\n templateUrl: \"projects/create/create-project-members-restrictions/create-project-members-restrictions.html\"\n };\n };\n\n module.directive('tgCreateProjectMembersRestrictions', [createProjectMembersRestrictionsDirective]);\n\n}).call(this);\n\n(function() {\n var createProjectRestrictionsDirective, module;\n\n module = angular.module(\"taigaProject\");\n\n createProjectRestrictionsDirective = function() {\n return {\n scope: {\n isPrivate: '=',\n canCreatePrivateProjects: '=',\n canCreatePublicProjects: '='\n },\n templateUrl: \"projects/create/create-project-restrictions/create-project-restrictions.html\"\n };\n };\n\n module.directive('tgCreateProjectRestrictions', [createProjectRestrictionsDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project.controller.coffee\n */\n\n(function() {\n var CreateProjectController;\n\n CreateProjectController = (function() {\n CreateProjectController.$inject = [\"tgAppMetaService\", \"$translate\", \"tgProjectService\", \"$location\", \"$tgAuth\"];\n\n function CreateProjectController(appMetaService, translate, projectService, location, authService) {\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n this.location = location;\n this.authService = authService;\n taiga.defineImmutableProperty(this, \"project\", (function(_this) {\n return function() {\n return _this.projectService.project;\n };\n })(this));\n this.appMetaService.setfn(this._setMeta.bind(this));\n this.authService.refresh();\n this.displayScrumDesc = false;\n this.displayKanbanDesc = false;\n }\n\n CreateProjectController.prototype._setMeta = function() {\n var ctx;\n if (!this.project) {\n return null;\n }\n ctx = {\n projectName: this.project.get(\"name\")\n };\n return {\n title: this.translate.instant(\"PROJECT.PAGE_TITLE\", ctx),\n description: this.project.get(\"description\")\n };\n };\n\n CreateProjectController.prototype.displayHelp = function(type, $event) {\n $event.stopPropagation();\n $event.preventDefault();\n if (type === 'scrum') {\n this.displayScrumDesc = !this.displayScrumDesc;\n }\n if (type === 'kanban') {\n return this.displayKanbanDesc = !this.displayKanbanDesc;\n }\n };\n\n return CreateProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"CreateProjectCtrl\", CreateProjectController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project.controller.coffee\n */\n\n(function() {\n var DuplicateProjectController;\n\n DuplicateProjectController = (function() {\n DuplicateProjectController.$inject = [\"tgCurrentUserService\", \"tgProjectsService\", \"$tgLocation\", \"$tgNavUrls\"];\n\n function DuplicateProjectController(currentUserService, projectsService, location, navUrls) {\n this.currentUserService = currentUserService;\n this.projectsService = projectsService;\n this.location = location;\n this.navUrls = navUrls;\n this.user = this.currentUserService.getUser();\n this.members = Immutable.List();\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.currentUserService.projects.get(\"all\");\n };\n })(this));\n this.projectForm = {\n is_private: false\n };\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n DuplicateProjectController.prototype.refreshReferenceProject = function(slug) {\n return this.projectsService.getProjectBySlug(slug).then((function(_this) {\n return function(project) {\n _this.referenceProject = project;\n _this.members = project.get('members').filter(function(it) {\n return it.get('id') !== _this.user.get('id');\n });\n _this.invitedMembers = _this.members.map(function(it) {\n return it.get('id');\n });\n return _this.checkUsersLimit();\n };\n })(this));\n };\n\n DuplicateProjectController.prototype.toggleInvitedMember = function(member) {\n if (this.invitedMembers.includes(member)) {\n this.invitedMembers = this.invitedMembers.filter(function(it) {\n return it !== member;\n });\n } else {\n this.invitedMembers = this.invitedMembers.push(member);\n }\n return this.checkUsersLimit();\n };\n\n DuplicateProjectController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.invitedMembers.size + 1);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.invitedMembers.size + 1);\n };\n\n DuplicateProjectController.prototype.submit = function() {\n var data, projectId;\n projectId = this.referenceProject.get('id');\n data = this.projectForm;\n data.users = this.invitedMembers;\n this.formSubmitLoading = true;\n return this.projectsService.duplicate(projectId, data).then((function(_this) {\n return function(newProject) {\n _this.formSubmitLoading = false;\n _this.location.path(_this.navUrls.resolve(\"project\", {\n project: newProject.data.slug\n }));\n return _this.currentUserService.loadProjects();\n };\n })(this));\n };\n\n DuplicateProjectController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid && this.limitMembersPrivateProject.valid;\n } else {\n return this.canCreatePublicProjects.valid && this.limitMembersPublicProject.valid;\n }\n };\n\n DuplicateProjectController.prototype.isDisabled = function() {\n return this.formSubmitLoading || !this.canCreateProject();\n };\n\n DuplicateProjectController.prototype.onCancelForm = function() {\n return this.location.path(this.navUrls.resolve(\"create-project\"));\n };\n\n return DuplicateProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"DuplicateProjectCtrl\", DuplicateProjectController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: duplicate-project.directive.coffee\n */\n\n(function() {\n var DuplicateProjectDirective;\n\n DuplicateProjectDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {};\n return {\n link: link,\n templateUrl: \"projects/create/duplicate/duplicate-project.html\",\n controller: \"DuplicateProjectCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {}\n };\n };\n\n DuplicateProjectDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgDuplicateProject\", DuplicateProjectDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: github-import-project-form.controller.coffee\n */\n\n(function() {\n var GithubImportProjectFormController;\n\n GithubImportProjectFormController = (function() {\n GithubImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function GithubImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.platformName = \"Github\";\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n this.projectForm.project_type = \"kanban\";\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n GithubImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n GithubImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n GithubImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n GithubImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return GithubImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('GithubImportProjectFormCtrl', GithubImportProjectFormController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: github-import-project-form.directive.coffee\n */\n\n(function() {\n var GithubImportProjectFormDirective;\n\n GithubImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/github-import/github-import-project-form/github-import-project-form.html\",\n controller: \"GithubImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n GithubImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgGithubImportProjectForm\", GithubImportProjectFormDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: github-import.controller.coffee\n */\n\n(function() {\n var GithubImportController;\n\n GithubImportController = (function() {\n GithubImportController.$inject = ['tgGithubImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function GithubImportController(githubImportService, confirm, translate, importProjectService) {\n this.githubImportService = githubImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.step = 'autorization-github';\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.githubImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.githubImportService.projectUsers;\n };\n })(this));\n }\n\n GithubImportController.prototype.startProjectSelector = function() {\n this.step = 'project-select-github';\n return this.githubImportService.fetchProjects();\n };\n\n GithubImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-github';\n this.project = project;\n this.fetchingUsers = true;\n return this.githubImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n GithubImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-github';\n };\n\n GithubImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-github';\n };\n\n GithubImportController.prototype.startImport = function(users) {\n var loader, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.githubImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'), this.project.get('project_type'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n GithubImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return GithubImportController;\n\n })();\n\n angular.module('taigaProjects').controller('GithubImportCtrl', GithubImportController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: github-import.directive.coffee\n */\n\n(function() {\n var GithubImportDirective;\n\n GithubImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/github-import/github-import.html\",\n controller: \"GithubImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n GithubImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgGithubImport\", GithubImportDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: github-import.service.coffee\n */\n\n(function() {\n var GithubImportService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n GithubImportService = (function(superClass) {\n extend(GithubImportService, superClass);\n\n GithubImportService.$inject = ['tgResources'];\n\n function GithubImportService(resources, location) {\n this.resources = resources;\n this.location = location;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n }\n\n GithubImportService.prototype.setToken = function(token) {\n return this.token = token;\n };\n\n GithubImportService.prototype.fetchProjects = function() {\n return this.resources.githubImporter.listProjects(this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n GithubImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.githubImporter.listUsers(this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n GithubImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n return this.resources.githubImporter.importProject(this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType);\n };\n\n GithubImportService.prototype.getAuthUrl = function(callbackUri) {\n return new Promise((function(_this) {\n return function(resolve) {\n return _this.resources.githubImporter.getAuthUrl(callbackUri).then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n });\n };\n })(this));\n };\n\n GithubImportService.prototype.authorize = function(code) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.githubImporter.authorize(code).then((function(response) {\n _this.token = response.data.token;\n return resolve(_this.token);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return GithubImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgGithubImportService\", GithubImportService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project-members.controller.coffee\n */\n\n(function() {\n var ImportProjectMembersController;\n\n ImportProjectMembersController = (function() {\n ImportProjectMembersController.$inject = ['tgCurrentUserService', 'tgUserService'];\n\n function ImportProjectMembersController(currentUserService, userService) {\n this.currentUserService = currentUserService;\n this.userService = userService;\n this.selectImportUserLightbox = false;\n this.warningImportUsers = false;\n this.displayEmailSelector = true;\n this.cancelledUsers = Immutable.List();\n this.selectedUsers = Immutable.List();\n this.selectableUsers = Immutable.List();\n this.userContacts = Immutable.List();\n }\n\n ImportProjectMembersController.prototype.fetchUser = function() {\n this.currentUser = this.currentUserService.getUser();\n return this.userService.getContacts(this.currentUser.get('id')).then((function(_this) {\n return function(userContacts) {\n _this.userContacts = userContacts;\n return _this.refreshSelectableUsers();\n };\n })(this));\n };\n\n ImportProjectMembersController.prototype.searchUser = function(user) {\n this.selectImportUserLightbox = true;\n return this.searchingUser = user;\n };\n\n ImportProjectMembersController.prototype.beforeSubmitUsers = function() {\n if (this.selectedUsers.size !== this.members.size) {\n return this.warningImportUsers = true;\n } else {\n return this.submit();\n }\n };\n\n ImportProjectMembersController.prototype.confirmUser = function(externalUser, taigaUser) {\n var user;\n this.selectImportUserLightbox = false;\n user = Immutable.Map();\n user = user.set('user', externalUser);\n user = user.set('taigaUser', taigaUser);\n this.selectedUsers = this.selectedUsers.push(user);\n this.discardSuggestedUser(externalUser);\n return this.refreshSelectableUsers();\n };\n\n ImportProjectMembersController.prototype.unselectUser = function(user) {\n var index;\n index = this.selectedUsers.findIndex(function(it) {\n return it.getIn(['user', 'id']) === user.get('id');\n });\n this.selectedUsers = this.selectedUsers[\"delete\"](index);\n return this.refreshSelectableUsers();\n };\n\n ImportProjectMembersController.prototype.discardSuggestedUser = function(member) {\n return this.cancelledUsers = this.cancelledUsers.push(member.get('id'));\n };\n\n ImportProjectMembersController.prototype.getSelectedMember = function(member) {\n return this.selectedUsers.find(function(it) {\n return it.getIn(['user', 'id']) === member.get('id');\n });\n };\n\n ImportProjectMembersController.prototype.isMemberSelected = function(member) {\n return !!this.getSelectedMember(member);\n };\n\n ImportProjectMembersController.prototype.getUser = function(user) {\n var userSelected;\n userSelected = this.getSelectedMember(user);\n if (userSelected) {\n return userSelected.get('taigaUser');\n } else {\n return null;\n }\n };\n\n ImportProjectMembersController.prototype.submit = function() {\n var users;\n this.warningImportUsers = false;\n users = Immutable.Map();\n this.selectedUsers.map(function(it) {\n var id;\n id = '';\n if (_.isString(it.get('taigaUser'))) {\n id = it.get('taigaUser');\n } else {\n id = it.getIn(['taigaUser', 'id']);\n }\n return users = users.set(it.getIn(['user', 'id']), id);\n });\n return this.onSubmit({\n users: users\n });\n };\n\n ImportProjectMembersController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size + 1);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size + 1);\n };\n\n ImportProjectMembersController.prototype.showSuggestedMatch = function(member) {\n return member.get('user') && this.cancelledUsers.indexOf(member.get('id')) === -1 && !this.isMemberSelected(member);\n };\n\n ImportProjectMembersController.prototype.getDistinctSelectedTaigaUsers = function() {\n var ids, users;\n ids = [];\n users = this.selectedUsers.filter(function(it) {\n var id;\n id = it.getIn(['taigaUser', 'id']);\n if (ids.indexOf(id) === -1) {\n ids.push(id);\n return true;\n }\n return false;\n });\n return users.filter((function(_this) {\n return function(it) {\n return it.getIn(['taigaUser', 'id']) !== _this.currentUser.get('id');\n };\n })(this));\n };\n\n ImportProjectMembersController.prototype.refreshSelectableUsers = function() {\n var users;\n this.importMoreUsersDisabled = this.isImportMoreUsersDisabled();\n if (this.importMoreUsersDisabled) {\n users = this.getDistinctSelectedTaigaUsers();\n this.selectableUsers = users.map(function(it) {\n return it.get('taigaUser');\n });\n this.displayEmailSelector = false;\n } else {\n this.selectableUsers = this.userContacts;\n this.displayEmailSelector = true;\n }\n return this.selectableUsers = this.selectableUsers.push(this.currentUser);\n };\n\n ImportProjectMembersController.prototype.isImportMoreUsersDisabled = function() {\n var total, users;\n users = this.getDistinctSelectedTaigaUsers();\n total = users.size + 2;\n if (this.project.get('is_private')) {\n return !this.currentUserService.canAddMembersPrivateProject(total).valid;\n } else {\n return !this.currentUserService.canAddMembersPublicProject(total).valid;\n }\n };\n\n return ImportProjectMembersController;\n\n })();\n\n angular.module('taigaProjects').controller('ImportProjectMembersCtrl', ImportProjectMembersController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project-form.directive.coffee\n */\n\n(function() {\n var ImportProjectMembersDirective;\n\n ImportProjectMembersDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n ctrl.fetchUser();\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/import-project-members/import-project-members.html\",\n controller: \"ImportProjectMembersCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSubmit: '&',\n platform: '@',\n logo: '@',\n onCancel: '&'\n }\n };\n };\n\n ImportProjectMembersDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgImportProjectMembers\", ImportProjectMembersDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project-selector.controller.coffee\n */\n\n(function() {\n var ImportProjectSelectorController;\n\n ImportProjectSelectorController = (function() {\n function ImportProjectSelectorController() {}\n\n ImportProjectSelectorController.prototype.selectProject = function(project) {\n return this.onSelectProject({\n project: Immutable.fromJS(project)\n });\n };\n\n return ImportProjectSelectorController;\n\n })();\n\n angular.module('taigaProjects').controller('ImportProjectSelectorCtrl', ImportProjectSelectorController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project-selector.directive.coffee\n */\n\n(function() {\n var ImportProjectSelectorDirective;\n\n ImportProjectSelectorDirective = function() {\n return {\n templateUrl: \"projects/create/import-project-selector/import-project-selector.html\",\n controller: \"ImportProjectSelectorCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n projects: '<',\n onCancel: '&',\n onSelectProject: '&',\n logo: '@',\n noProjectsMsg: '@',\n search: '@'\n }\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgImportProjectSelector\", ImportProjectSelectorDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project.controller.coffee\n */\n\n(function() {\n var ImportTaigaController;\n\n ImportTaigaController = (function() {\n ImportTaigaController.$inject = ['$tgConfirm', '$tgResources', 'tgImportProjectService', '$translate', '$tgAnalytics'];\n\n function ImportTaigaController(confirm, rs, importProjectService, translate, analytics) {\n this.confirm = confirm;\n this.rs = rs;\n this.importProjectService = importProjectService;\n this.translate = translate;\n this.analytics = analytics;\n }\n\n ImportTaigaController.prototype.importTaiga = function(files) {\n var file, loader, promise;\n this.analytics.trackEvent(\"import\", \"taiga\", \"Start import from taiga\", 1);\n file = files[0];\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.rs.projects[\"import\"](file, loader.update);\n this.importProjectService.importPromise(promise)[\"finally\"]((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n return ImportTaigaController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ImportTaigaCtrl\", ImportTaigaController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-taiga.directive.coffee\n */\n\n(function() {\n var ImportTaigaDirective;\n\n ImportTaigaDirective = function() {\n return {\n templateUrl: \"projects/create/import-taiga/import-taiga.html\",\n controller: \"ImportTaigaCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {}\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgImportTaiga\", ImportTaigaDirective);\n\n}).call(this);\n\n(function() {\n var LbImportErrorDirective;\n\n LbImportErrorDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs) {\n lightboxService.open(el);\n return scope.close = function() {\n lightboxService.close(el);\n };\n };\n return {\n templateUrl: \"projects/create/import/import-project-error-lb.html\",\n link: link\n };\n };\n\n LbImportErrorDirective.$inject = [\"lightboxService\"];\n\n angular.module(\"taigaProjects\").directive(\"tgLbImportError\", LbImportErrorDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project.controller.coffee\n */\n\n(function() {\n var ImportProjectController;\n\n ImportProjectController = (function() {\n ImportProjectController.$inject = ['tgTrelloImportService', 'tgJiraImportService', 'tgGithubImportService', 'tgAsanaImportService', '$location', '$window', '$routeParams', '$tgNavUrls', '$tgConfig', '$tgConfirm', '$tgAnalytics'];\n\n function ImportProjectController(trelloService, jiraService, githubService, asanaService, location, window, routeParams, tgNavUrls, config, confirm, analytics) {\n this.trelloService = trelloService;\n this.jiraService = jiraService;\n this.githubService = githubService;\n this.asanaService = asanaService;\n this.location = location;\n this.window = window;\n this.routeParams = routeParams;\n this.tgNavUrls = tgNavUrls;\n this.config = config;\n this.confirm = confirm;\n this.analytics = analytics;\n }\n\n ImportProjectController.prototype.start = function() {\n var asanaOauthToken, githubOauthToken, jiraOauthToken, jiraOauthVerifier, locationSearch, trelloOauthToken;\n this.token = null;\n this.from = this.routeParams.platform;\n locationSearch = this.location.search();\n if (this.from) {\n this.analytics.trackEvent(\"import\", this.from, \"Start import from \" + this.from, 1);\n }\n if (this.from === \"asana\") {\n asanaOauthToken = locationSearch.code;\n if (locationSearch.code) {\n asanaOauthToken = locationSearch.code;\n return this.asanaService.authorize(asanaOauthToken).then(((function(_this) {\n return function(token) {\n return _this.location.search({\n token: encodeURIComponent(JSON.stringify(token))\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else {\n this.token = JSON.parse(decodeURIComponent(locationSearch.token));\n this.asanaService.setToken(this.token);\n }\n }\n if (this.from === 'trello') {\n if (locationSearch.oauth_verifier) {\n trelloOauthToken = locationSearch.oauth_verifier;\n return this.trelloService.authorize(trelloOauthToken).then(((function(_this) {\n return function(token) {\n return _this.location.search({\n token: token\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else if (locationSearch.token) {\n this.token = locationSearch.token;\n this.trelloService.setToken(locationSearch.token);\n }\n }\n if (this.from === \"github\") {\n if (locationSearch.code) {\n githubOauthToken = locationSearch.code;\n return this.githubService.authorize(githubOauthToken).then(((function(_this) {\n return function(token) {\n return _this.location.search({\n token: token\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else if (locationSearch.token) {\n this.token = locationSearch.token;\n this.githubService.setToken(locationSearch.token);\n }\n }\n if (this.from === \"jira\") {\n jiraOauthToken = locationSearch.oauth_token;\n if (jiraOauthToken) {\n jiraOauthVerifier = locationSearch.oauth_verifier;\n return this.jiraService.authorize(jiraOauthVerifier).then(((function(_this) {\n return function(data) {\n return _this.location.search({\n token: data.token,\n url: data.url\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else {\n this.token = locationSearch.token;\n return this.jiraService.setToken(locationSearch.token, locationSearch.url);\n }\n }\n };\n\n ImportProjectController.prototype.select = function(from) {\n var callbackUri;\n if (from === \"trello\") {\n return this.trelloService.getAuthUrl().then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this));\n } else if (from === \"jira\") {\n return this.jiraService.getAuthUrl(this.jiraUrl).then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this), (function(_this) {\n return function(err) {\n return _this.confirm.notify('error', err);\n };\n })(this));\n } else if (from === \"github\") {\n callbackUri = this.location.absUrl() + \"/github\";\n return this.githubService.getAuthUrl(callbackUri).then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this));\n } else if (from === \"asana\") {\n return this.asanaService.getAuthUrl().then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this));\n } else {\n return this.from = from;\n }\n };\n\n ImportProjectController.prototype.unfoldOptions = function(options) {\n return this.unfoldedOptions = options;\n };\n\n ImportProjectController.prototype.isActiveImporter = function(importer) {\n if (this.config.get('importers').indexOf(importer) === -1) {\n return false;\n }\n return true;\n };\n\n ImportProjectController.prototype.cancelCurrentImport = function() {\n return this.location.url(this.tgNavUrls.resolve('create-project-import'));\n };\n\n ImportProjectController.prototype.backToCreate = function() {\n return this.location.url(this.tgNavUrls.resolve('create-project'));\n };\n\n return ImportProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ImportProjectCtrl\", ImportProjectController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project.directive.coffee\n */\n\n(function() {\n var ImportProjectDirective;\n\n ImportProjectDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {\n return ctrl.start();\n };\n return {\n link: link,\n templateUrl: \"projects/create/import/import-project.html\",\n controller: \"ImportProjectCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancelImport: '&'\n }\n };\n };\n\n ImportProjectDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgImportProject\", ImportProjectDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: import-project.service.coffee\n */\n\n(function() {\n var ImportProjectService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n ImportProjectService = (function(superClass) {\n extend(ImportProjectService, superClass);\n\n ImportProjectService.$inject = ['tgCurrentUserService', '$tgAuth', 'tgLightboxFactory', '$translate', '$tgConfirm', '$location', '$tgNavUrls'];\n\n function ImportProjectService(currentUserService, tgAuth, lightboxFactory, translate, confirm, location, tgNavUrls) {\n this.currentUserService = currentUserService;\n this.tgAuth = tgAuth;\n this.lightboxFactory = lightboxFactory;\n this.translate = translate;\n this.confirm = confirm;\n this.location = location;\n this.tgNavUrls = tgNavUrls;\n }\n\n ImportProjectService.prototype.importPromise = function(promise) {\n return promise.then(this.importSuccess.bind(this), this.importError.bind(this));\n };\n\n ImportProjectService.prototype.importSuccess = function(result) {\n var promise;\n promise = this.currentUserService.loadProjects();\n promise.then((function(_this) {\n return function() {\n var ctx, message, msg, title;\n if (result.status === 202) {\n title = _this.translate.instant('PROJECT.IMPORT.ASYNC_IN_PROGRESS_TITLE');\n message = _this.translate.instant('PROJECT.IMPORT.ASYNC_IN_PROGRESS_MESSAGE');\n _this.location.path(_this.tgNavUrls.resolve('home'));\n return _this.confirm.success(title, message);\n } else {\n ctx = {\n project: result.data.slug\n };\n _this.location.path(_this.tgNavUrls.resolve('project-admin-project-profile-details', ctx));\n msg = _this.translate.instant('PROJECT.IMPORT.SYNC_SUCCESS');\n return _this.confirm.notify('success', msg);\n }\n };\n })(this));\n return promise;\n };\n\n ImportProjectService.prototype.importError = function(result) {\n var promise;\n promise = this.tgAuth.refresh();\n promise.then((function(_this) {\n return function() {\n var errorMsg, ref, restrictionError;\n restrictionError = _this.getRestrictionError(result);\n if (restrictionError) {\n return _this.lightboxFactory.create('tg-lb-import-error', {\n \"class\": 'lightbox lightbox-import-error'\n }, restrictionError);\n } else {\n errorMsg = _this.translate.instant(\"PROJECT.IMPORT.ERROR\");\n if (result.status === 429) {\n errorMsg = _this.translate.instant(\"PROJECT.IMPORT.ERROR_TOO_MANY_REQUEST\");\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = _this.translate.instant(\"PROJECT.IMPORT.ERROR_MESSAGE\", {\n error_message: result.data._error_message\n });\n }\n return _this.confirm.notify(\"error\", errorMsg);\n }\n };\n })(this));\n return promise;\n };\n\n ImportProjectService.prototype.getRestrictionError = function(result) {\n var errorKey, maxMemberships, membersError, privateError, publicError, user;\n if (result.headers) {\n errorKey = '';\n user = this.currentUserService.getUser();\n maxMemberships = null;\n if (result.headers.isPrivate) {\n privateError = !this.currentUserService.canCreatePrivateProjects().valid;\n if (user.get('max_memberships_private_projects') !== null && result.headers.memberships >= user.get('max_memberships_private_projects')) {\n membersError = true;\n } else {\n membersError = false;\n }\n if (privateError && membersError) {\n errorKey = 'private-space-members';\n maxMemberships = user.get('max_memberships_private_projects');\n } else if (privateError) {\n errorKey = 'private-space';\n } else if (membersError) {\n errorKey = 'private-members';\n maxMemberships = user.get('max_memberships_private_projects');\n }\n } else {\n publicError = !this.currentUserService.canCreatePublicProjects().valid;\n if (user.get('max_memberships_public_projects') !== null && result.headers.memberships >= user.get('max_memberships_public_projects')) {\n membersError = true;\n } else {\n membersError = false;\n }\n if (publicError && membersError) {\n errorKey = 'public-space-members';\n maxMemberships = user.get('max_memberships_public_projects');\n } else if (publicError) {\n errorKey = 'public-space';\n } else if (membersError) {\n errorKey = 'public-members';\n maxMemberships = user.get('max_memberships_public_projects');\n }\n }\n if (!errorKey) {\n return false;\n }\n return {\n key: errorKey,\n values: {\n max_memberships: maxMemberships,\n members: result.headers.memberships\n }\n };\n } else {\n return false;\n }\n };\n\n return ImportProjectService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgImportProjectService\", ImportProjectService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: invite-members.controller.coffee\n */\n\n(function() {\n var InviteMembersController;\n\n InviteMembersController = (function() {\n function InviteMembersController() {}\n\n InviteMembersController.$inject = [];\n\n InviteMembersController.prototype.isDisabled = function(id) {\n return this.invitedMembers.indexOf(id) === -1;\n };\n\n return InviteMembersController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"InviteMembersCtrl\", InviteMembersController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: invite-members.directive.coffee\n */\n\n(function() {\n var InviteMembersDirective;\n\n InviteMembersDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {};\n return {\n link: link,\n templateUrl: \"projects/create/invite-members/invite-members.html\",\n controller: \"InviteMembersCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n invitedMembers: '<',\n members: '<',\n onToggleInvitedMember: '&'\n }\n };\n };\n\n InviteMembersDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgInviteMembers\", InviteMembersDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: single-member.directive.coffee\n */\n\n(function() {\n var SingleMemberDirective;\n\n SingleMemberDirective = function() {\n return {\n templateUrl: \"projects/create/invite-members/single-member/single-member.html\",\n scope: {\n disabled: \"<\",\n avatar: \"=\"\n }\n };\n };\n\n SingleMemberDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgSingleMember\", SingleMemberDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: jira-import-project-form.controller.coffee\n */\n\n(function() {\n var JiraImportProjectFormController;\n\n JiraImportProjectFormController = (function() {\n JiraImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function JiraImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n if (this.projectForm.importer_type === \"agile\") {\n this.projectForm.project_type = null;\n } else {\n this.projectForm.project_type = \"scrum\";\n }\n this.projectForm.create_subissues = true;\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n JiraImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n JiraImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n JiraImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n JiraImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return JiraImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('JiraImportProjectFormCtrl', JiraImportProjectFormController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: jira-import-project-form.directive.coffee\n */\n\n(function() {\n var JiraImportProjectFormDirective;\n\n JiraImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/jira-import/jira-import-project-form/jira-import-project-form.html\",\n controller: \"JiraImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n JiraImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgJiraImportProjectForm\", JiraImportProjectFormDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: jira-import.controller.coffee\n */\n\n(function() {\n var JiraImportController;\n\n JiraImportController = (function() {\n JiraImportController.$inject = ['tgJiraImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function JiraImportController(jiraImportService, confirm, translate, importProjectService) {\n this.jiraImportService = jiraImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.step = 'autorization-jira';\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.jiraImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.jiraImportService.projectUsers;\n };\n })(this));\n }\n\n JiraImportController.prototype.startProjectSelector = function() {\n this.step = 'project-select-jira';\n return this.jiraImportService.fetchProjects();\n };\n\n JiraImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-jira';\n this.project = project;\n this.fetchingUsers = true;\n return this.jiraImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n JiraImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-jira';\n };\n\n JiraImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-jira';\n };\n\n JiraImportController.prototype.startImport = function(users) {\n var loader, projectType, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n projectType = this.project.get('project_type');\n if (projectType === \"issues\" && this.project.get('create_subissues')) {\n projectType = \"issues-with-subissues\";\n }\n promise = this.jiraImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'), projectType, this.project.get('importer_type'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n JiraImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return JiraImportController;\n\n })();\n\n angular.module('taigaProjects').controller('JiraImportCtrl', JiraImportController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: jira-import.directive.coffee\n */\n\n(function() {\n var JiraImportDirective;\n\n JiraImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/jira-import/jira-import.html\",\n controller: \"JiraImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n JiraImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgJiraImport\", JiraImportDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: jira-import.service.coffee\n */\n\n(function() {\n var JiraImportService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n JiraImportService = (function(superClass) {\n extend(JiraImportService, superClass);\n\n JiraImportService.$inject = ['tgResources', '$location'];\n\n function JiraImportService(resources, location) {\n this.resources = resources;\n this.location = location;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n }\n\n JiraImportService.prototype.setToken = function(token, url) {\n this.token = token;\n return this.url = url;\n };\n\n JiraImportService.prototype.fetchProjects = function() {\n return this.resources.jiraImporter.listProjects(this.url, this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n JiraImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.jiraImporter.listUsers(this.url, this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n JiraImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType, importerType) {\n return this.resources.jiraImporter.importProject(this.url, this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType, importerType);\n };\n\n JiraImportService.prototype.getAuthUrl = function(url) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.jiraImporter.getAuthUrl(url).then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n }, function(err) {\n return reject(err.data._error_message);\n });\n };\n })(this));\n };\n\n JiraImportService.prototype.authorize = function(oauth_verifier) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.jiraImporter.authorize(oauth_verifier).then((function(response) {\n _this.token = response.data.token;\n _this.url = response.data.url;\n return resolve(response.data);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return JiraImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgJiraImportService\", JiraImportService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: trello-import-project-members.controller.coffee\n */\n\n(function() {\n var SelectImportUserLightboxCtrl;\n\n SelectImportUserLightboxCtrl = (function() {\n SelectImportUserLightboxCtrl.$inject = [];\n\n function SelectImportUserLightboxCtrl() {}\n\n SelectImportUserLightboxCtrl.prototype.start = function() {\n this.mode = 'search';\n return this.invalid = false;\n };\n\n SelectImportUserLightboxCtrl.prototype.assignUser = function() {\n return this.onSelectUser({\n user: this.user,\n taigaUser: this.userEmail\n });\n };\n\n SelectImportUserLightboxCtrl.prototype.selectUser = function(taigaUser) {\n return this.onSelectUser({\n user: this.user,\n taigaUser: Immutable.fromJS(taigaUser)\n });\n };\n\n return SelectImportUserLightboxCtrl;\n\n })();\n\n angular.module('taigaProjects').controller('SelectImportUserLightboxCtrl', SelectImportUserLightboxCtrl);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: select-import-user-lightbox.directive.coffee\n */\n\n(function() {\n var SelectImportUserLightboxDirective;\n\n SelectImportUserLightboxDirective = function(lightboxService, lightboxKeyboardNavigationService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return scope.$watch('vm.visible', function(visible) {\n if (visible && !el.hasClass('open')) {\n ctrl.start();\n return lightboxService.open(el, null, scope.vm.onClose).then(function() {\n el.find('input').focus();\n return lightboxKeyboardNavigationService.init(el);\n });\n } else if (!visible && el.hasClass('open')) {\n return lightboxService.close(el).then(function() {\n ctrl.userEmail = '';\n return ctrl.usersSearch = '';\n });\n }\n });\n };\n return {\n controller: \"SelectImportUserLightboxCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n user: '<',\n visible: '<',\n onClose: '&',\n onSelectUser: '&',\n selectableUsers: '<',\n isPrivate: '<',\n limitMembersPrivateProject: '<',\n limitMembersPublicProject: '<',\n displayEmailSelector: '<'\n },\n templateUrl: 'projects/create/select-import-user-lightbox/select-import-user-lightbox.html',\n link: link\n };\n };\n\n SelectImportUserLightboxDirective.$inject = ['lightboxService', 'lightboxKeyboardNavigationService'];\n\n angular.module(\"taigaProjects\").directive(\"tgSelectImportUserLightbox\", SelectImportUserLightboxDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: trello-import-project-form.controller.coffee\n */\n\n(function() {\n var TrelloImportProjectFormController;\n\n TrelloImportProjectFormController = (function() {\n TrelloImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function TrelloImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.platformName = \"Trello\";\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n TrelloImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n TrelloImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n TrelloImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n TrelloImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return TrelloImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('TrelloImportProjectFormCtrl', TrelloImportProjectFormController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: trello-import-project-form.directive.coffee\n */\n\n(function() {\n var TrelloImportProjectFormDirective;\n\n TrelloImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/trello-import/trello-import-project-form/trello-import-project-form.html\",\n controller: \"TrelloImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n TrelloImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgTrelloImportProjectForm\", TrelloImportProjectFormDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: trello-import.controller.coffee\n */\n\n(function() {\n var TrelloImportController;\n\n TrelloImportController = (function() {\n TrelloImportController.$inject = ['tgTrelloImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function TrelloImportController(trelloImportService, confirm, translate, importProjectService) {\n this.trelloImportService = trelloImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.trelloImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.trelloImportService.projectUsers;\n };\n })(this));\n }\n\n TrelloImportController.prototype.startProjectSelector = function() {\n return this.trelloImportService.fetchProjects().then((function(_this) {\n return function() {\n return _this.step = 'project-select-trello';\n };\n })(this));\n };\n\n TrelloImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-trello';\n this.project = project;\n this.fetchingUsers = true;\n return this.trelloImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n TrelloImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-trello';\n };\n\n TrelloImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-trello';\n };\n\n TrelloImportController.prototype.startImport = function(users) {\n var loader, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.trelloImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n TrelloImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return TrelloImportController;\n\n })();\n\n angular.module('taigaProjects').controller('TrelloImportCtrl', TrelloImportController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: trello-import.directive.coffee\n */\n\n(function() {\n var TrelloImportDirective;\n\n TrelloImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/trello-import/trello-import.html\",\n controller: \"TrelloImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n TrelloImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgTrelloImport\", TrelloImportDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: trello-import.service.coffee\n */\n\n(function() {\n var TrelloImportService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n TrelloImportService = (function(superClass) {\n extend(TrelloImportService, superClass);\n\n TrelloImportService.$inject = ['tgResources'];\n\n function TrelloImportService(resources) {\n this.resources = resources;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n this.token = null;\n }\n\n TrelloImportService.prototype.setToken = function(token) {\n return this.token = token;\n };\n\n TrelloImportService.prototype.fetchProjects = function() {\n return this.resources.trelloImporter.listProjects(this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n TrelloImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.trelloImporter.listUsers(this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n TrelloImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate) {\n return this.resources.trelloImporter.importProject(this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate);\n };\n\n TrelloImportService.prototype.getAuthUrl = function() {\n return new Promise((function(_this) {\n return function(resolve) {\n return _this.resources.trelloImporter.getAuthUrl().then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n });\n };\n })(this));\n };\n\n TrelloImportService.prototype.authorize = function(verifyCode) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.trelloImporter.authorize(verifyCode).then((function(response) {\n _this.token = response.data.token;\n return resolve(_this.token);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return TrelloImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgTrelloImportService\", TrelloImportService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: warning-user-import.directive.coffee\n */\n\n(function() {\n var WarningUserImportDirective;\n\n WarningUserImportDirective = function(lightboxService, lightboxKeyboardNavigationService) {\n return {\n link: function(scope, el, attr) {\n return scope.$watch('visible', function(visible) {\n if (visible && !el.hasClass('open')) {\n return lightboxService.open(el, scope.onClose).then(function() {\n el.find('input').focus();\n return lightboxKeyboardNavigationService.init(el);\n });\n } else if (!visible && el.hasClass('open')) {\n return lightboxService.close(el);\n }\n });\n },\n templateUrl: \"projects/create/warning-user-import-lightbox/warning-user-import-lightbox.html\",\n scope: {\n visible: '<',\n onClose: '&',\n onConfirm: '&'\n }\n };\n };\n\n WarningUserImportDirective.$inject = ['lightboxService', 'lightboxKeyboardNavigationService'];\n\n angular.module(\"taigaProjects\").directive(\"tgWarningUserImportLightbox\", WarningUserImportDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: projects-listing.controller.coffee\n */\n\n(function() {\n var ProjectsListingController;\n\n ProjectsListingController = (function() {\n ProjectsListingController.$inject = [\"tgCurrentUserService\"];\n\n function ProjectsListingController(currentUserService) {\n this.currentUserService = currentUserService;\n taiga.defineImmutableProperty(this, \"projects\", (function(_this) {\n return function() {\n return _this.currentUserService.projects.get(\"all\");\n };\n })(this));\n }\n\n return ProjectsListingController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ProjectsListing\", ProjectsListingController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project.controller.coffee\n */\n\n(function() {\n var ProjectController;\n\n ProjectController = (function() {\n ProjectController.$inject = [\"$routeParams\", \"tgAppMetaService\", \"$tgAuth\", \"$translate\", \"tgProjectService\"];\n\n function ProjectController(routeParams, appMetaService, auth, translate, projectService) {\n this.routeParams = routeParams;\n this.appMetaService = appMetaService;\n this.auth = auth;\n this.translate = translate;\n this.projectService = projectService;\n this.user = this.auth.userData;\n taiga.defineImmutableProperty(this, \"project\", (function(_this) {\n return function() {\n return _this.projectService.project;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"members\", (function(_this) {\n return function() {\n return _this.projectService.activeMembers;\n };\n })(this));\n this.appMetaService.setfn(this._setMeta.bind(this));\n }\n\n ProjectController.prototype._setMeta = function() {\n var ctx;\n if (!this.project) {\n return null;\n }\n ctx = {\n projectName: this.project.get(\"name\")\n };\n return {\n title: this.translate.instant(\"PROJECT.PAGE_TITLE\", ctx),\n description: this.project.get(\"description\")\n };\n };\n\n return ProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"Project\", ProjectController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: projects.service.coffee\n */\n\n(function() {\n var ProjectsService, groupBy, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n ProjectsService = (function(superClass) {\n extend(ProjectsService, superClass);\n\n ProjectsService.$inject = [\"tgResources\", \"$projectUrl\"];\n\n function ProjectsService(rs, projectUrl) {\n this.rs = rs;\n this.projectUrl = projectUrl;\n }\n\n ProjectsService.prototype.create = function(data) {\n return this.rs.projects.create(data);\n };\n\n ProjectsService.prototype.duplicate = function(projectId, data) {\n return this.rs.projects.duplicate(projectId, data);\n };\n\n ProjectsService.prototype.getProjectBySlug = function(projectSlug) {\n return this.rs.projects.getProjectBySlug(projectSlug).then((function(_this) {\n return function(project) {\n return _this._decorate(project);\n };\n })(this));\n };\n\n ProjectsService.prototype.getProjectStats = function(projectId) {\n return this.rs.projects.getProjectStats(projectId);\n };\n\n ProjectsService.prototype.getProjectsByUserId = function(userId, paginate) {\n return this.rs.projects.getProjectsByUserId(userId, paginate).then((function(_this) {\n return function(projects) {\n return projects.map(_this._decorate.bind(_this));\n };\n })(this));\n };\n\n ProjectsService.prototype._decorate = function(project) {\n var url;\n url = this.projectUrl.get(project.toJS());\n project = project.set(\"url\", url);\n return project;\n };\n\n ProjectsService.prototype.bulkUpdateProjectsOrder = function(sortData) {\n return this.rs.projects.bulkUpdateOrder(sortData);\n };\n\n ProjectsService.prototype.transferValidateToken = function(projectId, token) {\n return this.rs.projects.transferValidateToken(projectId, token);\n };\n\n ProjectsService.prototype.transferAccept = function(projectId, token, reason) {\n return this.rs.projects.transferAccept(projectId, token, reason);\n };\n\n ProjectsService.prototype.transferReject = function(projectId, token, reason) {\n return this.rs.projects.transferReject(projectId, token, reason);\n };\n\n return ProjectsService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgProjectsService\", ProjectsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: cant-own-project-explanation.directive.coffee\n */\n\n(function() {\n var CantOwnProjectExplanationDirective;\n\n CantOwnProjectExplanationDirective = function() {\n return {\n templateUrl: \"projects/transfer/cant-own-project-explanation.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgCantOwnProjectExplanation\", CantOwnProjectExplanationDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: transfer-project.directive.coffee\n */\n\n(function() {\n var TransferProject, module;\n\n module = angular.module('taigaProjects');\n\n TransferProject = (function() {\n TransferProject.$inject = [\"$routeParams\", \"tgProjectsService\", \"$location\", \"$tgAuth\", \"tgCurrentUserService\", \"$tgNavUrls\", \"$translate\", \"$tgConfirm\", \"tgErrorHandlingService\"];\n\n function TransferProject(routeParams, projectService, location, authService, currentUserService, navUrls, translate, confirmService, errorHandlingService) {\n this.routeParams = routeParams;\n this.projectService = projectService;\n this.location = location;\n this.authService = authService;\n this.currentUserService = currentUserService;\n this.navUrls = navUrls;\n this.translate = translate;\n this.confirmService = confirmService;\n this.errorHandlingService = errorHandlingService;\n }\n\n TransferProject.prototype.initialize = function() {\n this.projectId = this.project.get(\"id\");\n this.token = this.routeParams.token;\n this.showAddComment = false;\n return this._refreshUserData();\n };\n\n TransferProject.prototype._validateToken = function() {\n return this.projectService.transferValidateToken(this.projectId, this.token).then(null, (function(_this) {\n return function(data, status) {\n return _this.errorHandlingService.notfound();\n };\n })(this));\n };\n\n TransferProject.prototype._refreshUserData = function() {\n return this.authService.refresh().then((function(_this) {\n return function() {\n _this._validateToken();\n _this._setProjectData();\n return _this._checkOwnerData();\n };\n })(this));\n };\n\n TransferProject.prototype._setProjectData = function() {\n return this.canBeOwnedByUser = this.currentUserService.canOwnProject(this.project);\n };\n\n TransferProject.prototype._checkOwnerData = function() {\n var currentUser, maxMemberships;\n currentUser = this.currentUserService.getUser();\n if (this.project.get('is_private')) {\n this.ownerMessage = 'ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PRIVATE';\n this.maxProjects = currentUser.get('max_private_projects');\n if (this.maxProjects === null) {\n this.maxProjects = this.translate.instant('ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS');\n }\n this.currentProjects = currentUser.get('total_private_projects');\n maxMemberships = currentUser.get('max_memberships_private_projects');\n } else {\n this.ownerMessage = 'ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PUBLIC';\n this.maxProjects = currentUser.get('max_public_projects');\n if (this.maxProjects === null) {\n this.maxProjects = this.translate.instant('ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS');\n }\n this.currentProjects = currentUser.get('total_public_projects');\n maxMemberships = currentUser.get('max_memberships_public_projects');\n }\n return this.validNumberOfMemberships = maxMemberships === null || this.project.get('total_memberships') <= maxMemberships;\n };\n\n TransferProject.prototype.transferAccept = function(token, reason) {\n this.loadingAccept = true;\n return this.projectService.transferAccept(this.project.get(\"id\"), token, reason).then((function(_this) {\n return function() {\n var newUrl;\n newUrl = _this.navUrls.resolve(\"project-admin-project-profile-details\", {\n project: _this.project.get(\"slug\")\n });\n _this.loadingAccept = false;\n _this.location.path(newUrl);\n _this.confirmService.notify(\"success\", _this.translate.instant(\"ADMIN.PROJECT_TRANSFER.ACCEPTED_PROJECT_OWNERNSHIP\"), '', 5000);\n };\n })(this));\n };\n\n TransferProject.prototype.transferReject = function(token, reason) {\n this.loadingReject = true;\n return this.projectService.transferReject(this.project.get(\"id\"), token, reason).then((function(_this) {\n return function() {\n var newUrl;\n newUrl = _this.navUrls.resolve(\"home\", {\n project: _this.project.get(\"slug\")\n });\n _this.loadingReject = false;\n _this.location.path(newUrl);\n _this.confirmService.notify(\"success\", _this.translate.instant(\"ADMIN.PROJECT_TRANSFER.REJECTED_PROJECT_OWNERNSHIP\"), '', 5000);\n };\n })(this));\n };\n\n TransferProject.prototype.addComment = function() {\n return this.showAddComment = true;\n };\n\n TransferProject.prototype.hideComment = function() {\n this.showAddComment = false;\n return this.reason = '';\n };\n\n return TransferProject;\n\n })();\n\n module.controller(\"TransferProjectController\", TransferProject);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: transfer-project.directive.coffee\n */\n\n(function() {\n var TransferProjectDirective, module;\n\n module = angular.module('taigaProjects');\n\n TransferProjectDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.initialize();\n };\n return {\n link: link,\n scope: {},\n bindToController: {\n project: \"=\"\n },\n templateUrl: \"projects/transfer/transfer-project.html\",\n controller: 'TransferProjectController',\n controllerAs: 'vm'\n };\n };\n\n module.directive('tgTransferProject', TransferProjectDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachments-resource.service.coffee\n */\n\n(function() {\n var Resource, module, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n Resource = function(urlsService, http, config, $rootScope, $q, storage) {\n var service;\n service = {};\n service.list = function(type, objectId, projectId) {\n var httpOptions, params, url, urlname;\n urlname = \"attachments/\" + type;\n params = {\n object_id: objectId,\n project: projectId\n };\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n url = urlsService.resolve(urlname);\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service[\"delete\"] = function(type, id) {\n var url, urlname;\n urlname = \"attachments/\" + type;\n url = urlsService.resolve(urlname) + (\"/\" + id);\n return http[\"delete\"](url);\n };\n service.patch = function(type, id, patch) {\n var url, urlname;\n urlname = \"attachments/\" + type;\n url = urlsService.resolve(urlname) + (\"/\" + id);\n return http.patch(url, patch);\n };\n service.create = function(type, projectId, objectId, file, from_comment) {\n var data, defered, maxFileSize, response, token, uploadComplete, uploadFailed, uploadProgress, url, urlname, xhr;\n urlname = \"attachments/\" + type;\n url = urlsService.resolve(urlname);\n defered = $q.defer();\n if (file === void 0) {\n defered.reject(null);\n return defered.promise;\n }\n maxFileSize = config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"in-progress\";\n file.size = sizeFormat(evt.total);\n file.progressMessage = \"upload \" + (sizeFormat(evt.loaded)) + \" of \" + (sizeFormat(evt.total));\n return file.progressPercent = (Math.round((evt.loaded / evt.total) * 100)) + \"%\";\n });\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n var attachment, ref, status;\n file.status = \"done\";\n status = evt.target.status;\n try {\n attachment = JSON.parse(evt.target.responseText);\n } catch (error) {\n attachment = {};\n }\n if (status >= 200 && status < 400) {\n attachment = Immutable.fromJS(attachment);\n return defered.resolve(attachment);\n } else {\n response = {\n status: status,\n data: {\n _error_message: (ref = data['attached_file']) != null ? ref[0] : void 0\n }\n };\n return defered.reject(response);\n }\n });\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"error\";\n return defered.reject(\"fail\");\n });\n };\n })(this);\n data = new FormData();\n data.append(\"project\", projectId);\n data.append(\"object_id\", objectId);\n data.append(\"attached_file\", file);\n data.append(\"from_comment\", from_comment);\n xhr = new XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", uploadProgress, false);\n xhr.addEventListener(\"load\", uploadComplete, false);\n xhr.addEventListener(\"error\", uploadFailed, false);\n token = storage.get('token');\n xhr.open(\"POST\", url);\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" + token);\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send(data);\n return defered.promise;\n };\n return function() {\n return {\n \"attachments\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\", \"$tgConfig\", \"$rootScope\", \"$q\", \"$tgStorage\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgAttachmentsResource\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: epics-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params) {\n var httpOptions, url;\n url = urlsService.resolve(\"epics\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.list = function(projectId, page) {\n var params, url;\n if (page == null) {\n page = 0;\n }\n url = urlsService.resolve(\"epics\");\n params = {\n project: projectId,\n page: page\n };\n return http.get(url, params).then(function(result) {\n return {\n list: Immutable.fromJS(result.data),\n headers: result.headers\n };\n });\n };\n service.patch = function(id, patch) {\n var url;\n url = urlsService.resolve(\"epics\") + (\"/\" + id);\n return http.patch(url, patch).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.post = function(params) {\n var url;\n url = urlsService.resolve(\"epics\");\n return http.post(url, params).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.reorder = function(id, data, setOrders) {\n var options, url;\n url = urlsService.resolve(\"epics\") + (\"/\" + id);\n options = {\n \"headers\": {\n \"set-orders\": JSON.stringify(setOrders)\n }\n };\n return http.patch(url, data, null, options).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.addRelatedUserstory = function(epicId, userstoryId) {\n var params, url;\n url = urlsService.resolve(\"epic-related-userstories\", epicId);\n params = {\n user_story: userstoryId,\n epic: epicId\n };\n return http.post(url, params);\n };\n service.reorderRelatedUserstory = function(epicId, userstoryId, data, setOrders) {\n var options, url;\n url = urlsService.resolve(\"epic-related-userstories\", epicId) + (\"/\" + userstoryId);\n options = {\n \"headers\": {\n \"set-orders\": JSON.stringify(setOrders)\n }\n };\n return http.patch(url, data, null, options);\n };\n service.bulkCreateRelatedUserStories = function(epicId, projectId, bulk_userstories) {\n var params, url;\n url = urlsService.resolve(\"epic-related-userstories-bulk-create\", epicId);\n params = {\n bulk_userstories: bulk_userstories,\n project_id: projectId\n };\n return http.post(url, params);\n };\n service.deleteRelatedUserstory = function(epicId, userstoryId) {\n var url;\n url = urlsService.resolve(\"epic-related-userstories\", epicId) + (\"/\" + userstoryId);\n return http[\"delete\"](url);\n };\n return function() {\n return {\n \"epics\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgEpicsResource\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: external-apps-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.getApplicationToken = function(applicationId, state) {\n var url;\n url = urlsService.resolve(\"applications\");\n url = url + \"/\" + applicationId + \"/token?state=\" + state;\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.authorizeApplicationToken = function(applicationId, state) {\n var data, url;\n url = urlsService.resolve(\"application-tokens\");\n url = url + \"/authorize\";\n data = {\n \"state\": state,\n \"application\": applicationId\n };\n return http.post(url, data).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"externalapps\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgExternalAppsResource\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources/importers.coffee\n */\n\n(function() {\n var AsanaResource, GithubResource, JiraResource, TrelloResource, module, taiga;\n\n taiga = this.taiga;\n\n TrelloResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function(url) {\n url = urlsService.resolve(\"importers-trello-auth-url\");\n return http.get(url);\n };\n service.authorize = function(verifyCode) {\n var url;\n url = urlsService.resolve(\"importers-trello-authorize\");\n return http.post(url, {\n code: verifyCode\n });\n };\n service.listProjects = function(token) {\n var url;\n url = urlsService.resolve(\"importers-trello-list-projects\");\n return http.post(url, {\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-trello-list-users\");\n return http.post(url, {\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(token, name, description, projectId, userBindings, keepExternalReference, isPrivate) {\n var data, url;\n url = urlsService.resolve(\"importers-trello-import-project\");\n data = {\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n template: \"kanban\"\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"trelloImporter\": service\n };\n };\n };\n\n TrelloResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n JiraResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function(jira_url) {\n var url;\n url = urlsService.resolve(\"importers-jira-auth-url\") + \"?url=\" + jira_url;\n return http.get(url);\n };\n service.authorize = function(oauth_verifier) {\n var url;\n url = urlsService.resolve(\"importers-jira-authorize\");\n return http.post(url, {\n oauth_verifier: oauth_verifier\n });\n };\n service.listProjects = function(jira_url, token) {\n var url;\n url = urlsService.resolve(\"importers-jira-list-projects\");\n return http.post(url, {\n url: jira_url,\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(jira_url, token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-jira-list-users\");\n return http.post(url, {\n url: jira_url,\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(jira_url, token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType, importerType) {\n var data, projectTemplate, url;\n url = urlsService.resolve(\"importers-jira-import-project\");\n projectTemplate = \"kanban\";\n if (projectType !== \"kanban\") {\n projectTemplate = \"scrum\";\n }\n data = {\n url: jira_url,\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n project_type: projectType,\n importer_type: importerType,\n template: projectTemplate\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"jiraImporter\": service\n };\n };\n };\n\n JiraResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n GithubResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function(callbackUri) {\n var url;\n url = urlsService.resolve(\"importers-github-auth-url\") + \"?uri=\" + callbackUri;\n return http.get(url);\n };\n service.authorize = function(code) {\n var url;\n url = urlsService.resolve(\"importers-github-authorize\");\n return http.post(url, {\n code: code\n });\n };\n service.listProjects = function(token) {\n var url;\n url = urlsService.resolve(\"importers-github-list-projects\");\n return http.post(url, {\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-github-list-users\");\n return http.post(url, {\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n var data, url;\n url = urlsService.resolve(\"importers-github-import-project\");\n data = {\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n template: projectType\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"githubImporter\": service\n };\n };\n };\n\n GithubResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n AsanaResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function() {\n var url;\n url = urlsService.resolve(\"importers-asana-auth-url\");\n return http.get(url);\n };\n service.authorize = function(code) {\n var url;\n url = urlsService.resolve(\"importers-asana-authorize\");\n return http.post(url, {\n code: code\n });\n };\n service.listProjects = function(token) {\n var url;\n url = urlsService.resolve(\"importers-asana-list-projects\");\n return http.post(url, {\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-asana-list-users\");\n return http.post(url, {\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n var data, url;\n url = urlsService.resolve(\"importers-asana-import-project\");\n data = {\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n template: projectType\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"asanaImporter\": service\n };\n };\n };\n\n AsanaResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgTrelloImportResource\", TrelloResource);\n\n module.factory(\"tgJiraImportResource\", JiraResource);\n\n module.factory(\"tgGithubImportResource\", GithubResource);\n\n module.factory(\"tgAsanaImportResource\", AsanaResource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: issues-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params) {\n var httpOptions, url;\n url = urlsService.resolve(\"issues\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"issues\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgIssuesResource\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: projects-resource.service.coffee\n */\n\n(function() {\n var Resource, module, pagination;\n\n pagination = function() {};\n\n Resource = function(urlsService, http, paginateResponseService) {\n var service;\n service = {};\n service.create = function(data) {\n var url;\n url = urlsService.resolve('projects');\n return http.post(url, JSON.stringify(data)).then((function(_this) {\n return function(result) {\n return Immutable.fromJS(result.data);\n };\n })(this));\n };\n service.duplicate = function(projectId, data) {\n var members, params, url;\n url = urlsService.resolve(\"projects\");\n url = url + \"/\" + projectId + \"/duplicate\";\n members = data.users.map((function(_this) {\n return function(member) {\n return {\n \"id\": member\n };\n };\n })(this));\n params = {\n \"name\": data.name,\n \"description\": data.description,\n \"is_private\": data.is_private,\n \"users\": members\n };\n return http.post(url, params);\n };\n service.getProjects = function(params, pagination) {\n var httpOptions, url;\n if (params == null) {\n params = {};\n }\n if (pagination == null) {\n pagination = true;\n }\n url = urlsService.resolve(\"projects\");\n httpOptions = {};\n if (!pagination) {\n httpOptions = {\n headers: {\n \"x-lazy-pagination\": true\n }\n };\n }\n return http.get(url, params, httpOptions);\n };\n service.getProjectBySlug = function(projectSlug) {\n var url;\n url = urlsService.resolve(\"projects\");\n url = url + \"/by_slug?slug=\" + projectSlug;\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getProjectsByUserId = function(userId, paginate) {\n var httpOptions, params, url;\n if (paginate == null) {\n paginate = false;\n }\n url = urlsService.resolve(\"projects\");\n httpOptions = {};\n if (!paginate) {\n httpOptions.headers = {\n \"x-disable-pagination\": \"1\"\n };\n }\n params = {\n \"member\": userId,\n \"order_by\": \"user_order\"\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getProjectStats = function(projectId) {\n var url;\n url = urlsService.resolve(\"projects\");\n url = url + \"/\" + projectId;\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.bulkUpdateOrder = function(bulkData) {\n var url;\n url = urlsService.resolve(\"bulk-update-projects-order\");\n return http.post(url, bulkData);\n };\n service.getTimeline = function(projectId, page) {\n var params, url;\n params = {\n page: page,\n only_relevant: true\n };\n url = urlsService.resolve(\"timeline-project\");\n url = url + \"/\" + projectId;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.likeProject = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-like\", projectId);\n return http.post(url);\n };\n service.unlikeProject = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-unlike\", projectId);\n return http.post(url);\n };\n service.watchProject = function(projectId, notifyLevel) {\n var data, url;\n data = {\n notify_level: notifyLevel,\n live_notify_level: notifyLevel\n };\n url = urlsService.resolve(\"project-watch\", projectId);\n return http.post(url, data);\n };\n service.unwatchProject = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-unwatch\", projectId);\n return http.post(url);\n };\n service.contactProject = function(projectId, message) {\n var params, url;\n params = {\n project: projectId,\n comment: message\n };\n url = urlsService.resolve(\"project-contact\");\n return http.post(url, params);\n };\n service.transferValidateToken = function(projectId, token) {\n var data, url;\n data = {\n token: token\n };\n url = urlsService.resolve(\"project-transfer-validate-token\", projectId);\n return http.post(url, data);\n };\n service.transferAccept = function(projectId, token, reason) {\n var data, url;\n data = {\n token: token,\n reason: reason\n };\n url = urlsService.resolve(\"project-transfer-accept\", projectId);\n return http.post(url, data);\n };\n service.transferReject = function(projectId, token, reason) {\n var data, url;\n data = {\n token: token,\n reason: reason\n };\n url = urlsService.resolve(\"project-transfer-reject\", projectId);\n return http.post(url, data);\n };\n service.transferRequest = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-transfer-request\", projectId);\n return http.post(url);\n };\n service.transferStart = function(projectId, userId, reason) {\n var data, url;\n data = {\n user: userId,\n reason: reason\n };\n url = urlsService.resolve(\"project-transfer-start\", projectId);\n return http.post(url, data);\n };\n return function() {\n return {\n \"projects\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgProjectsResources\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: resources.coffee\n */\n\n(function() {\n var Resources, services;\n\n services = [\"tgProjectsResources\", \"tgUserResources\", \"tgUsersResources\", \"tgUserstoriesResource\", \"tgTasksResource\", \"tgIssuesResource\", \"tgExternalAppsResource\", \"tgAttachmentsResource\", \"tgStatsResource\", \"tgWikiHistory\", \"tgEpicsResource\", \"tgTrelloImportResource\", \"tgJiraImportResource\", \"tgGithubImportResource\", \"tgAsanaImportResource\"];\n\n Resources = function($injector) {\n var i, j, len, len1, ref, service, serviceFn, serviceName, serviceProperty;\n for (i = 0, len = services.length; i < len; i++) {\n serviceName = services[i];\n serviceFn = $injector.get(serviceName);\n service = $injector.invoke(serviceFn);\n ref = Object.keys(service);\n for (j = 0, len1 = ref.length; j < len1; j++) {\n serviceProperty = ref[j];\n if (this[serviceProperty]) {\n console.warn(\"repeated resource \" + serviceProperty);\n }\n this[serviceProperty] = service[serviceProperty];\n }\n }\n return this;\n };\n\n Resources.$inject = [\"$injector\"];\n\n angular.module(\"taigaResources2\").service(\"tgResources\", Resources);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: stats-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.discover = function(applicationId, state) {\n var url;\n url = urlsService.resolve(\"stats-discover\");\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"stats\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgStatsResource\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: tasks-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params) {\n var httpOptions, url;\n url = urlsService.resolve(\"tasks\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"tasks\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgTasksResource\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http, paginateResponseService) {\n var service;\n service = {};\n service.getUserStorage = function(key) {\n var httpOptions, url;\n url = urlsService.resolve(\"user-storage\");\n if (key) {\n url += '/' + key;\n }\n httpOptions = {};\n return http.get(url, {}).then(function(response) {\n return response.data.value;\n });\n };\n service.setUserStorage = function(key, value) {\n var params, url;\n url = urlsService.resolve(\"user-storage\") + '/' + key;\n params = {\n key: key,\n value: value\n };\n return http.put(url, params);\n };\n service.createUserStorage = function(key, value) {\n var params, url;\n url = urlsService.resolve(\"user-storage\");\n params = {\n key: key,\n value: value\n };\n return http.post(url, params);\n };\n return function() {\n return {\n \"user\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgUserResources\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: users-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http, paginateResponseService) {\n var service;\n service = {};\n service.getUserByUsername = function(username) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"by_username\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n params = {\n username: username\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getStats = function(userId) {\n var httpOptions, url;\n url = urlsService.resolve(\"user-stats\", userId);\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, {}, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getContacts = function(userId, excludeProjectId) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"user-contacts\", userId);\n params = {};\n if (excludeProjectId != null) {\n params.exclude_project = excludeProjectId;\n }\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getLiked = function(userId, page, type, q) {\n var params, url;\n url = urlsService.resolve(\"user-liked\", userId);\n params = {};\n if (page != null) {\n params.page = page;\n }\n if (type != null) {\n params.type = type;\n }\n if (q != null) {\n params.q = q;\n }\n params.only_relevant = true;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getVoted = function(userId, page, type, q) {\n var params, url;\n url = urlsService.resolve(\"user-voted\", userId);\n params = {};\n if (page != null) {\n params.page = page;\n }\n if (type != null) {\n params.type = type;\n }\n if (q != null) {\n params.q = q;\n }\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getWatched = function(userId, page, type, q) {\n var params, url;\n url = urlsService.resolve(\"user-watched\", userId);\n params = {};\n if (page != null) {\n params.page = page;\n }\n if (type != null) {\n params.type = type;\n }\n if (q != null) {\n params.q = q;\n }\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getProfileTimeline = function(userId, page) {\n var params, url;\n params = {\n page: page\n };\n url = urlsService.resolve(\"timeline-profile\");\n url = url + \"/\" + userId;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getUserTimeline = function(userId, page) {\n var params, url;\n params = {\n page: page,\n only_relevant: true\n };\n url = urlsService.resolve(\"timeline-user\");\n url = url + \"/\" + userId;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n return function() {\n return {\n \"users\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgUsersResources\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: userstories-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params, pagination) {\n var httpOptions, url;\n if (pagination == null) {\n pagination = false;\n }\n url = urlsService.resolve(\"userstories\");\n if (!pagination) {\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n }\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.listAllInProject = function(projectId) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"userstories\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n params = {\n project: projectId\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.listInEpic = function(epicIid) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"userstories\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n params = {\n epic: epicIid,\n order_by: 'epic_order',\n include_tasks: true\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"userstories\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgUserstoriesResource\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: wiki-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.getWikiHistory = function(wikiId) {\n var httpOptions, url;\n url = urlsService.resolve(\"history/wiki\", wikiId);\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, null, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"wikiHistory\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgWikiHistory\", Resource);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: app-meta.service.coffee\n */\n\n(function() {\n var AppMetaService, taiga, truncate;\n\n taiga = this.taiga;\n\n truncate = taiga.truncate;\n\n AppMetaService = (function() {\n AppMetaService.$inject = [\"$rootScope\"];\n\n function AppMetaService(rootScope) {\n this.rootScope = rootScope;\n }\n\n AppMetaService.prototype._set = function(key, value) {\n var meta;\n if (!key) {\n return;\n }\n if (key === \"title\") {\n meta = $(\"head title\");\n if (meta.length === 0) {\n meta = $(\"\");\n $(\"head\").append(meta);\n }\n return meta.text(value || \"\");\n } else if (key.indexOf(\"og:\") === 0) {\n meta = $(\"head meta[property='\" + key + \"']\");\n if (meta.length === 0) {\n meta = $(\"\");\n $(\"head\").append(meta);\n }\n return meta.attr(\"content\", value || \"\");\n } else {\n meta = $(\"head meta[name='\" + key + \"']\");\n if (meta.length === 0) {\n meta = $(\"\");\n $(\"head\").append(meta);\n }\n return meta.attr(\"content\", value || \"\");\n }\n };\n\n AppMetaService.prototype.setTitle = function(title) {\n return this._set('title', title);\n };\n\n AppMetaService.prototype.setDescription = function(description) {\n return this._set(\"description\", truncate(description, 250));\n };\n\n AppMetaService.prototype.setTwitterMetas = function(title, description) {\n this._set(\"twitter:card\", \"summary\");\n this._set(\"twitter:site\", \"@taigaio\");\n this._set(\"twitter:title\", title);\n this._set(\"twitter:description\", truncate(description, 300));\n return this._set(\"twitter:image\", window.location.origin + \"/\" + window._version + \"/images/logo-color.png\");\n };\n\n AppMetaService.prototype.setOpenGraphMetas = function(title, description) {\n this._set(\"og:type\", \"object\");\n this._set(\"og:site_name\", \"Taiga - Love your projects\");\n this._set(\"og:title\", title);\n this._set(\"og:description\", truncate(description, 300));\n this._set(\"og:image\", window.location.origin + \"/\" + window._version + \"/images/logo-color.png\");\n return this._set(\"og:url\", window.location.href);\n };\n\n AppMetaService.prototype.setAll = function(title, description) {\n this.setTitle(title);\n this.setDescription(description);\n this.setTwitterMetas(title, description);\n return this.setOpenGraphMetas(title, description);\n };\n\n AppMetaService.prototype.addMobileViewport = function() {\n return $(\"head\").append(\"\");\n };\n\n AppMetaService.prototype.removeMobileViewport = function() {\n return $(\"head meta[name=\\\"viewport\\\"]\").remove();\n };\n\n AppMetaService.prototype.setfn = function(fn) {\n if (this.listener) {\n this._listener();\n }\n return this._listener = this.rootScope.$watchCollection(fn, (function(_this) {\n return function(metas) {\n if (metas) {\n _this.setAll(metas.title, metas.description);\n return _this._listener();\n }\n };\n })(this));\n };\n\n return AppMetaService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgAppMetaService\", AppMetaService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: attachments.service.coffee\n */\n\n(function() {\n var AttachmentsService, sizeFormat;\n\n sizeFormat = this.taiga.sizeFormat;\n\n AttachmentsService = (function() {\n AttachmentsService.$inject = [\"$tgConfirm\", \"$tgConfig\", \"$translate\", \"tgResources\"];\n\n function AttachmentsService(confirm, config, translate, rs) {\n this.confirm = confirm;\n this.config = config;\n this.translate = translate;\n this.rs = rs;\n this.maxFileSize = this.getMaxFileSize();\n if (this.maxFileSize) {\n this.maxFileSizeFormated = sizeFormat(this.maxFileSize);\n }\n }\n\n AttachmentsService.prototype.sizeError = function(file) {\n var message;\n message = this.translate.instant(\"ATTACHMENT.ERROR_MAX_SIZE_EXCEEDED\", {\n fileName: file.name,\n fileSize: sizeFormat(file.size),\n maxFileSize: this.maxFileSizeFormated\n });\n return this.confirm.notify(\"error\", message);\n };\n\n AttachmentsService.prototype.validate = function(file) {\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.sizeError(file);\n return false;\n }\n return true;\n };\n\n AttachmentsService.prototype.getMaxFileSize = function() {\n return this.config.get(\"maxUploadFileSize\", null);\n };\n\n AttachmentsService.prototype.list = function(type, objId, projectId) {\n return this.rs.attachments.list(type, objId, projectId).then((function(_this) {\n return function(attachments) {\n return attachments.sortBy(function(attachment) {\n return attachment.get('order');\n });\n };\n })(this));\n };\n\n AttachmentsService.prototype[\"delete\"] = function(type, id) {\n return this.rs.attachments[\"delete\"](type, id);\n };\n\n AttachmentsService.prototype.saveError = function(file, data) {\n var message;\n message = \"\";\n if (file) {\n message = this.translate.instant(\"ATTACHMENT.ERROR_UPLOAD_ATTACHMENT\", {\n fileName: file.name,\n errorMessage: data.data._error_message\n });\n }\n return this.confirm.notify(\"error\", message);\n };\n\n AttachmentsService.prototype.upload = function(file, objId, projectId, type, from_comment) {\n var promise;\n if (from_comment == null) {\n from_comment = false;\n }\n promise = this.rs.attachments.create(type, projectId, objId, file, from_comment);\n promise.then(null, this.saveError.bind(this, file));\n return promise;\n };\n\n AttachmentsService.prototype.patch = function(id, type, patch) {\n var promise;\n promise = this.rs.attachments.patch(type, id, patch);\n promise.then(null, this.saveError.bind(this, null));\n return promise;\n };\n\n return AttachmentsService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgAttachmentsService\", AttachmentsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: avatar.service.coffee\n */\n\n(function() {\n var AvatarService,\n modulo = function(a, b) { return (+a % (b = +b) + b) % b; };\n\n AvatarService = (function() {\n function AvatarService(config) {\n var COLORS, IMAGES;\n this.config = config;\n IMAGES = [\"/\" + window._version + \"/images/user-avatars/user-avatar-01.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-02.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-03.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-04.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-05.png\"];\n COLORS = [\"rgba( 178, 176, 204, 1 )\", \"rgba( 183, 203, 131, 1 )\", \"rgba( 210, 198, 139, 1 )\", \"rgba( 214, 161, 212, 1 )\", \"rgba( 247, 154, 154, 1 )\"];\n this.logos = _.cartesianProduct(IMAGES, COLORS);\n }\n\n AvatarService.prototype.getDefault = function(key) {\n var idx, logo;\n idx = modulo(murmurhash3_32_gc(key, 42), this.logos.length);\n logo = this.logos[idx];\n return {\n src: logo[0],\n color: logo[1]\n };\n };\n\n AvatarService.prototype.getUnnamed = function() {\n return {\n url: \"/\" + window._version + \"/images/unnamed.png\",\n username: ''\n };\n };\n\n AvatarService.prototype.getAvatar = function(user, type) {\n var avatarParamName, gravatar, logo, logoUrl, photo, root, username;\n if (!user) {\n return this.getUnnamed();\n }\n avatarParamName = 'photo';\n if (type === 'avatarBig') {\n avatarParamName = 'big_photo';\n }\n photo = null;\n if (user instanceof Immutable.Map) {\n gravatar = user.get('gravatar_id');\n photo = user.get(avatarParamName);\n username = \"@\" + (user.get('username'));\n } else {\n gravatar = user.gravatar_id;\n photo = user[avatarParamName];\n username = \"@\" + user.username;\n }\n if (!gravatar) {\n return this.getUnnamed();\n }\n if (photo) {\n return {\n url: photo,\n username: username\n };\n } else if (location.host.indexOf('localhost') !== -1 || !this.config.get(\"gravatar\", true)) {\n root = location.protocol + '//' + location.host;\n logo = this.getDefault(gravatar);\n return {\n url: root + logo.src,\n bg: logo.color,\n username: username\n };\n } else {\n root = location.protocol + '//' + location.host;\n logo = this.getDefault(gravatar);\n logoUrl = encodeURIComponent(root + logo.src);\n return {\n url: 'https://www.gravatar.com/avatar/' + gravatar + \"?s=200&d=\" + logoUrl,\n bg: logo.color,\n username: username\n };\n }\n };\n\n return AvatarService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgAvatarService\", [\"$tgConfig\", AvatarService]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: check-permissions.service.coffee\n */\n\n(function() {\n var CheckPermissionsService, taiga;\n\n taiga = this.taiga;\n\n CheckPermissionsService = (function() {\n CheckPermissionsService.$inject = [\"tgProjectService\"];\n\n function CheckPermissionsService(projectService) {\n this.projectService = projectService;\n }\n\n CheckPermissionsService.prototype.check = function(permission) {\n if (!this.projectService.project) {\n return false;\n }\n return this.projectService.project.get('my_permissions').indexOf(permission) !== -1;\n };\n\n return CheckPermissionsService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgCheckPermissionsService\", CheckPermissionsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: current-user.service.coffee\n */\n\n(function() {\n var CurrentUserService, groupBy, taiga;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n CurrentUserService = (function() {\n CurrentUserService.$inject = [\"tgProjectsService\", \"$tgStorage\", \"tgResources\"];\n\n function CurrentUserService(projectsService, storageService, rs) {\n this.projectsService = projectsService;\n this.storageService = storageService;\n this.rs = rs;\n this._user = null;\n this._projects = Immutable.Map();\n this._projectsById = Immutable.Map();\n this._joyride = null;\n taiga.defineImmutableProperty(this, \"projects\", (function(_this) {\n return function() {\n return _this._projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"projectsById\", (function(_this) {\n return function() {\n return _this._projectsById;\n };\n })(this));\n }\n\n CurrentUserService.prototype.isAuthenticated = function() {\n if (this.getUser() !== null) {\n return true;\n }\n return false;\n };\n\n CurrentUserService.prototype.getUser = function() {\n var userData;\n if (!this._user) {\n userData = this.storageService.get(\"userInfo\");\n if (userData) {\n userData = Immutable.fromJS(userData);\n this.setUser(userData);\n }\n }\n return this._user;\n };\n\n CurrentUserService.prototype.removeUser = function() {\n this._user = null;\n this._projects = Immutable.Map();\n this._projectsById = Immutable.Map();\n return this._joyride = null;\n };\n\n CurrentUserService.prototype.setUser = function(user) {\n this._user = user;\n return this._loadUserInfo();\n };\n\n CurrentUserService.prototype.bulkUpdateProjectsOrder = function(sortData) {\n return this.projectsService.bulkUpdateProjectsOrder(sortData).then((function(_this) {\n return function() {\n return _this.loadProjects();\n };\n })(this));\n };\n\n CurrentUserService.prototype.loadProjects = function() {\n return this.projectsService.getProjectsByUserId(this._user.get(\"id\")).then((function(_this) {\n return function(projects) {\n return _this.setProjects(projects);\n };\n })(this));\n };\n\n CurrentUserService.prototype.disableJoyRide = function(section) {\n if (!this.isAuthenticated()) {\n return;\n }\n if (section) {\n this._joyride[section] = false;\n } else {\n this._joyride = {\n backlog: false,\n kanban: false,\n dashboard: false\n };\n }\n return this.rs.user.setUserStorage('joyride', this._joyride);\n };\n\n CurrentUserService.prototype.loadJoyRideConfig = function() {\n return new Promise((function(_this) {\n return function(resolve) {\n if (_this._joyride !== null) {\n resolve(_this._joyride);\n return;\n }\n return _this.rs.user.getUserStorage('joyride').then(function(config) {\n _this._joyride = config;\n return resolve(_this._joyride);\n })[\"catch\"](function() {\n _this._joyride = {\n backlog: true,\n kanban: true,\n dashboard: true\n };\n _this.rs.user.createUserStorage('joyride', _this._joyride);\n return resolve(_this._joyride);\n });\n };\n })(this));\n };\n\n CurrentUserService.prototype._loadUserInfo = function() {\n return Promise.all([this.loadProjects()]);\n };\n\n CurrentUserService.prototype.setProjects = function(projects) {\n this._projects = this._projects.set(\"all\", projects);\n this._projects = this._projects.set(\"recents\", projects.slice(0, 10));\n this._projects = this._projects.set(\"unblocked\", projects.filter(function(project) {\n return project.toJS().blocked_code === null;\n }));\n this._projectsById = Immutable.fromJS(groupBy(projects.toJS(), function(p) {\n return p.id;\n }));\n return this.projects;\n };\n\n CurrentUserService.prototype.canCreatePrivateProjects = function() {\n var user;\n user = this.getUser();\n if (user.get('max_private_projects') !== null && user.get('total_private_projects') >= user.get('max_private_projects')) {\n return {\n valid: false,\n reason: 'max_private_projects',\n type: 'private_project',\n current: user.get('total_private_projects'),\n max: user.get('max_private_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canCreatePublicProjects = function() {\n var user;\n user = this.getUser();\n if (user.get('max_public_projects') !== null && user.get('total_public_projects') >= user.get('max_public_projects')) {\n return {\n valid: false,\n reason: 'max_public_projects',\n type: 'public_project',\n current: user.get('total_public_projects'),\n max: user.get('max_public_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canAddMembersPublicProject = function(totalMembers) {\n var user;\n user = this.getUser();\n if (user.get('max_memberships_public_projects') !== null && totalMembers > user.get('max_memberships_public_projects')) {\n return {\n valid: false,\n reason: 'max_members_public_projects',\n type: 'public_project',\n current: totalMembers,\n max: user.get('max_memberships_public_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canAddMembersPrivateProject = function(totalMembers) {\n var user;\n user = this.getUser();\n if (user.get('max_memberships_private_projects') !== null && totalMembers > user.get('max_memberships_private_projects')) {\n return {\n valid: false,\n reason: 'max_members_private_projects',\n type: 'private_project',\n current: totalMembers,\n max: user.get('max_memberships_private_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canOwnProject = function(project) {\n var membersResult, result, user;\n user = this.getUser();\n if (project.get('is_private')) {\n result = this.canCreatePrivateProjects();\n if (!result.valid) {\n return result;\n }\n membersResult = this.canAddMembersPrivateProject(project.get('total_memberships'));\n if (!membersResult.valid) {\n return membersResult;\n }\n } else {\n result = this.canCreatePublicProjects();\n if (!result.valid) {\n return result;\n }\n membersResult = this.canAddMembersPublicProject(project.get('total_memberships'));\n if (!membersResult.valid) {\n return membersResult;\n }\n }\n return {\n valid: true\n };\n };\n\n return CurrentUserService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgCurrentUserService\", CurrentUserService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: error-handling.service.coffee\n */\n\n(function() {\n var ErrorHandlingService, taiga;\n\n taiga = this.taiga;\n\n ErrorHandlingService = (function() {\n ErrorHandlingService.$inject = [\"$rootScope\"];\n\n function ErrorHandlingService(rootScope) {\n this.rootScope = rootScope;\n }\n\n ErrorHandlingService.prototype.init = function() {\n return this.rootScope.errorHandling = {};\n };\n\n ErrorHandlingService.prototype.notfound = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.notfound = true;\n };\n\n ErrorHandlingService.prototype.error = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.error = true;\n };\n\n ErrorHandlingService.prototype.permissionDenied = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.permissionDenied = true;\n };\n\n ErrorHandlingService.prototype.block = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.blocked = true;\n };\n\n return ErrorHandlingService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgErrorHandlingService\", ErrorHandlingService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: lightbox-factory.service.coffee\n */\n\n(function() {\n var LightboxFactory;\n\n LightboxFactory = (function() {\n LightboxFactory.$inject = [\"$rootScope\", \"$compile\"];\n\n function LightboxFactory(rootScope, compile) {\n this.rootScope = rootScope;\n this.compile = compile;\n }\n\n LightboxFactory.prototype.create = function(name, attrs, scopeAttrs) {\n var elm, html, scope;\n scope = this.rootScope.$new();\n scope = _.merge(scope, scopeAttrs);\n elm = $(\"
    \").attr(name, true).attr(\"tg-bind-scope\", true);\n if (attrs) {\n elm.attr(attrs);\n }\n elm.addClass(\"remove-on-close\");\n html = this.compile(elm)(scope);\n $(document.body).append(html);\n };\n\n return LightboxFactory;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgLightboxFactory\", LightboxFactory);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: paginate-response.service.coffee\n */\n\n(function() {\n var PaginateResponse;\n\n PaginateResponse = function() {\n return function(result) {\n var paginateResponse;\n paginateResponse = Immutable.Map({\n \"data\": result.get(\"data\"),\n \"next\": !!result.get(\"headers\")(\"x-pagination-next\"),\n \"prev\": !!result.get(\"headers\")(\"x-pagination-prev\"),\n \"current\": result.get(\"headers\")(\"x-pagination-current\"),\n \"count\": result.get(\"headers\")(\"x-pagination-count\")\n });\n return paginateResponse;\n };\n };\n\n angular.module(\"taigaCommon\").factory(\"tgPaginateResponseService\", PaginateResponse);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project-logo.service.coffee\n */\n\n(function() {\n var ProjectLogoService,\n modulo = function(a, b) { return (+a % (b = +b) + b) % b; };\n\n ProjectLogoService = (function() {\n function ProjectLogoService() {\n var COLORS, IMAGES;\n IMAGES = [\"/\" + window._version + \"/images/project-logos/project-logo-01.png\", \"/\" + window._version + \"/images/project-logos/project-logo-02.png\", \"/\" + window._version + \"/images/project-logos/project-logo-03.png\", \"/\" + window._version + \"/images/project-logos/project-logo-04.png\", \"/\" + window._version + \"/images/project-logos/project-logo-05.png\"];\n COLORS = [\"rgba( 153, 214, 220, 1 )\", \"rgba( 213, 156, 156, 1 )\", \"rgba( 214, 161, 212, 1 )\", \"rgba( 164, 162, 219, 1 )\", \"rgba( 152, 224, 168, 1 )\"];\n this.logos = _.cartesianProduct(IMAGES, COLORS);\n }\n\n ProjectLogoService.prototype.getDefaultProjectLogo = function(slug, id) {\n var idx, key, logo;\n key = slug + \"-\" + id;\n idx = modulo(murmurhash3_32_gc(key, 42), this.logos.length);\n logo = this.logos[idx];\n return {\n src: logo[0],\n color: logo[1]\n };\n };\n\n return ProjectLogoService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgProjectLogoService\", ProjectLogoService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: project.service.coffee\n */\n\n(function() {\n var ProjectService, taiga;\n\n taiga = this.taiga;\n\n ProjectService = (function() {\n ProjectService.$inject = [\"tgProjectsService\", \"tgXhrErrorService\", \"tgUserActivityService\", \"$interval\"];\n\n function ProjectService(projectsService, xhrError, userActivityService, interval) {\n this.projectsService = projectsService;\n this.xhrError = xhrError;\n this.userActivityService = userActivityService;\n this.interval = interval;\n this._project = null;\n this._section = null;\n this._sectionsBreadcrumb = Immutable.List();\n this._activeMembers = Immutable.List();\n taiga.defineImmutableProperty(this, \"project\", (function(_this) {\n return function() {\n return _this._project;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"section\", (function(_this) {\n return function() {\n return _this._section;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"sectionsBreadcrumb\", (function(_this) {\n return function() {\n return _this._sectionsBreadcrumb;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"activeMembers\", (function(_this) {\n return function() {\n return _this._activeMembers;\n };\n })(this));\n if (!window.localStorage.e2e) {\n this.autoRefresh();\n }\n }\n\n ProjectService.prototype.cleanProject = function() {\n this._project = null;\n this._activeMembers = Immutable.List();\n this._section = null;\n return this._sectionsBreadcrumb = Immutable.List();\n };\n\n ProjectService.prototype.autoRefresh = function() {\n var intervalId;\n intervalId = this.interval((function(_this) {\n return function() {\n return _this.fetchProject();\n };\n })(this), 60 * 10 * 1000);\n this.userActivityService.onInactive((function(_this) {\n return function() {\n return _this.interval.cancel(intervalId);\n };\n })(this));\n return this.userActivityService.onActive((function(_this) {\n return function() {\n _this.fetchProject();\n return _this.autoRefresh();\n };\n })(this));\n };\n\n ProjectService.prototype.setSection = function(section) {\n this._section = section;\n if (section) {\n return this._sectionsBreadcrumb = this._sectionsBreadcrumb.push(this._section);\n } else {\n return this._sectionsBreadcrumb = Immutable.List();\n }\n };\n\n ProjectService.prototype.setProject = function(project) {\n this._project = project;\n return this._activeMembers = this._project.get('members').filter(function(member) {\n return member.get('is_active');\n });\n };\n\n ProjectService.prototype.setProjectBySlug = function(pslug) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n if (!_this.project || _this.project.get('slug') !== pslug) {\n return _this.projectsService.getProjectBySlug(pslug).then(function(project) {\n _this.setProject(project);\n return resolve();\n })[\"catch\"](function(xhr) {\n return _this.xhrError.response(xhr);\n });\n } else {\n return resolve();\n }\n };\n })(this));\n };\n\n ProjectService.prototype.fetchProject = function() {\n var pslug;\n if (!this.project) {\n return;\n }\n pslug = this.project.get('slug');\n return this.projectsService.getProjectBySlug(pslug).then((function(_this) {\n return function(project) {\n return _this.setProject(project);\n };\n })(this));\n };\n\n ProjectService.prototype.hasPermission = function(permission) {\n return this._project.get('my_permissions').indexOf(permission) !== -1;\n };\n\n ProjectService.prototype.isEpicsDashboardEnabled = function() {\n return this._project.get(\"is_epics_activated\");\n };\n\n return ProjectService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgProjectService\", ProjectService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: theme.service.coffee\n */\n\n(function() {\n var ThemeService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n ThemeService = (function(superClass) {\n extend(ThemeService, superClass);\n\n function ThemeService() {\n return ThemeService.__super__.constructor.apply(this, arguments);\n }\n\n return ThemeService;\n\n })(taiga.Service = function() {\n return {\n use: function(themeName) {\n var stylesheetEl;\n stylesheetEl = $(\"link[rel='stylesheet']:first\");\n if (stylesheetEl.length === 0) {\n stylesheetEl = $(\"\");\n $(\"head\").append(stylesheetEl);\n }\n return stylesheetEl.attr(\"href\", \"/\" + window._version + \"/styles/theme-\" + themeName + \".css\");\n }\n };\n });\n\n angular.module(\"taigaCommon\").service(\"tgThemeService\", ThemeService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-activity.service.coffee\n */\n\n(function() {\n var UserActivityService, groupBy, taiga;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n UserActivityService = (function() {\n UserActivityService.$inject = ['$timeout'];\n\n UserActivityService.prototype.idleTimeout = 60 * 5 * 1000;\n\n function UserActivityService(timeout) {\n this.timeout = timeout;\n if (window.localStorage.e2e) {\n return null;\n }\n window.addEventListener('mousemove', this.resetTimer.bind(this), false);\n window.addEventListener('mousedown', this.resetTimer.bind(this), false);\n window.addEventListener('keypress', this.resetTimer.bind(this), false);\n window.addEventListener('mousewheel', this.resetTimer.bind(this), false);\n window.addEventListener('touchmove', this.resetTimer.bind(this), false);\n this.subscriptionsActive = [];\n this.subscriptionsInactive = [];\n this.isActive = true;\n this.startTimer();\n }\n\n UserActivityService.prototype.startTimer = function() {\n return this.timerId = this.timeout(this._fireInactive.bind(this), this.idleTimeout);\n };\n\n UserActivityService.prototype.resetTimer = function() {\n if (!this.isActive) {\n this._fireActive();\n }\n this.timeout.cancel(this.timerId);\n this.startTimer();\n return this.isActive = true;\n };\n\n UserActivityService.prototype.onActive = function(cb) {\n this.subscriptionsActive.push(cb);\n return this._unSubscriptionsActive.bind(this, cb);\n };\n\n UserActivityService.prototype.onInactive = function(cb) {\n this.subscriptionsInactive.push(cb);\n return this._unSubscriptionsInactive.bind(this, cb);\n };\n\n UserActivityService.prototype._fireActive = function() {\n return this.subscriptionsActive.forEach(function(it) {\n return it();\n });\n };\n\n UserActivityService.prototype._fireInactive = function() {\n this.isActive = false;\n return this.subscriptionsInactive.forEach(function(it) {\n return it();\n });\n };\n\n UserActivityService.prototype._unSubscriptionsActive = function(cb) {\n return this.subscriptionsActive = this.subscriptionsActive.filter(function(fn) {\n return fn !== cb;\n });\n };\n\n UserActivityService.prototype._unSubscriptionsInactive = function(cb) {\n return this.subscriptionsInactive = this.subscriptionsInactive.filter(function(fn) {\n return fn !== cb;\n });\n };\n\n return UserActivityService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgUserActivityService\", UserActivityService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user.service.coffee\n */\n\n(function() {\n var UserService, bindMethods, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n bindMethods = taiga.bindMethods;\n\n UserService = (function(superClass) {\n extend(UserService, superClass);\n\n UserService.$inject = [\"tgResources\"];\n\n function UserService(rs) {\n this.rs = rs;\n bindMethods(this);\n }\n\n UserService.prototype.getUserByUserName = function(username) {\n return this.rs.users.getUserByUsername(username);\n };\n\n UserService.prototype.getContacts = function(userId, excludeProjectId) {\n return this.rs.users.getContacts(userId, excludeProjectId);\n };\n\n UserService.prototype.getLiked = function(userId, pageNumber, objectType, textQuery) {\n return this.rs.users.getLiked(userId, pageNumber, objectType, textQuery);\n };\n\n UserService.prototype.getVoted = function(userId, pageNumber, objectType, textQuery) {\n return this.rs.users.getVoted(userId, pageNumber, objectType, textQuery);\n };\n\n UserService.prototype.getWatched = function(userId, pageNumber, objectType, textQuery) {\n return this.rs.users.getWatched(userId, pageNumber, objectType, textQuery);\n };\n\n UserService.prototype.getStats = function(userId) {\n return this.rs.users.getStats(userId);\n };\n\n UserService.prototype.attachUserContactsToProjects = function(userId, projects) {\n return this.getContacts(userId).then(function(contacts) {\n projects = projects.map(function(project) {\n var contactsFiltered;\n contactsFiltered = contacts.filter(function(contact) {\n var contactId;\n contactId = contact.get(\"id\");\n return project.get('members').indexOf(contactId) !== -1;\n });\n project = project.set(\"contacts\", contactsFiltered);\n return project;\n });\n return projects;\n });\n };\n\n return UserService;\n\n })(taiga.Service);\n\n angular.module(\"taigaCommon\").service(\"tgUserService\", UserService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: xhrError.service.coffee\n */\n\n(function() {\n var xhrError,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n xhrError = (function(superClass) {\n extend(xhrError, superClass);\n\n xhrError.$inject = [\"$q\", \"tgErrorHandlingService\"];\n\n function xhrError(q, errorHandlingService) {\n this.q = q;\n this.errorHandlingService = errorHandlingService;\n }\n\n xhrError.prototype.notFound = function() {\n return this.errorHandlingService.notfound();\n };\n\n xhrError.prototype.permissionDenied = function() {\n return this.errorHandlingService.permissionDenied();\n };\n\n xhrError.prototype.response = function(xhr) {\n if (xhr) {\n if (xhr.status === 404) {\n this.notFound();\n } else if (xhr.status === 403) {\n this.permissionDenied();\n }\n }\n return this.q.reject(xhr);\n };\n\n return xhrError;\n\n })(taiga.Service);\n\n angular.module(\"taigaCommon\").service(\"tgXhrErrorService\", xhrError);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline-attachment.directive.coffee\n */\n\n(function() {\n var UserTimelineAttachmentDirective;\n\n UserTimelineAttachmentDirective = function(template, $compile) {\n var isImage, link, validFileExtensions;\n validFileExtensions = [\".jpg\", \".jpeg\", \".bmp\", \".gif\", \".png\"];\n isImage = function(url) {\n url = url.toLowerCase();\n return _.some(validFileExtensions, function(extension) {\n return url.indexOf(extension, url - extension.length) !== -1;\n });\n };\n link = function(scope, el) {\n var is_image, templateHtml;\n is_image = isImage(scope.attachment.get('url'));\n if (is_image) {\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment-image.html\");\n } else {\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment.html\");\n }\n el.html(templateHtml);\n $compile(el.contents())(scope);\n return el.find(\"img\").error(function() {\n return this.remove();\n });\n };\n return {\n link: link,\n scope: {\n attachment: \"=tgUserTimelineAttachment\"\n }\n };\n };\n\n UserTimelineAttachmentDirective.$inject = [\"$tgTemplate\", \"$compile\"];\n\n angular.module(\"taigaUserTimeline\").directive(\"tgUserTimelineAttachment\", UserTimelineAttachmentDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline-item-title.service.coffee\n */\n\n(function() {\n var UserTimelineItemTitle, unslugify;\n\n unslugify = this.taiga.unslugify;\n\n UserTimelineItemTitle = (function() {\n UserTimelineItemTitle.$inject = [\"$translate\", \"$sce\"];\n\n UserTimelineItemTitle.prototype._fieldTranslationKey = {\n 'status': 'COMMON.FIELDS.STATUS',\n 'subject': 'COMMON.FIELDS.SUBJECT',\n 'description_diff': 'COMMON.FIELDS.DESCRIPTION',\n 'points': 'COMMON.FIELDS.POINTS',\n 'assigned_to': 'COMMON.FIELDS.ASSIGNED_TO',\n 'assigned_users': 'COMMON.FIELDS.ASSIGNED_USERS',\n 'severity': 'ISSUES.FIELDS.SEVERITY',\n 'priority': 'ISSUES.FIELDS.PRIORITY',\n 'type': 'ISSUES.FIELDS.TYPE',\n 'is_iocaine': 'TASK.FIELDS.IS_IOCAINE',\n 'is_blocked': 'COMMON.FIELDS.IS_BLOCKED',\n 'color': 'COMMON.FIELDS.COLOR',\n 'due_date': 'COMMON.FIELDS.DUE_DATE',\n 'due_date_reason': 'COMMON.FIELDS.DUE_DATE_REASON',\n 'milestone': 'COMMON.FIELDS.SPRINT'\n };\n\n UserTimelineItemTitle.prototype._params = {\n username: function(timeline, event) {\n var title_attr, url, user;\n user = timeline.getIn(['data', 'user']);\n if (user.get('is_profile_visible')) {\n title_attr = this.translate.instant('COMMON.SEE_USER_PROFILE', {\n username: user.get('username')\n });\n url = \"user-profile:username=timeline.getIn(['data', 'user', 'username'])\";\n return this._getLink(url, user.get('name'), title_attr);\n } else {\n return this._getUsernameSpan(user.get('name'));\n }\n },\n field_name: function(timeline, event) {\n var field_name;\n field_name = timeline.getIn(['data', 'value_diff', 'key']);\n return this.translate.instant(this._fieldTranslationKey[field_name]);\n },\n project_name: function(timeline, event) {\n var url;\n url = \"project:project=timeline.getIn(['data', 'project', 'slug'])\";\n return this._getLink(url, timeline.getIn([\"data\", \"project\", \"name\"]));\n },\n new_value: function(timeline, event) {\n var new_value, prettyDate, value;\n if (_.isArray(timeline.getIn([\"data\", \"value_diff\", \"value\"]).toJS())) {\n value = timeline.getIn([\"data\", \"value_diff\", \"value\"]).get(1);\n if (value === null && timeline.getIn([\"data\", \"value_diff\", \"key\"]) === 'assigned_to') {\n value = this.translate.instant('ACTIVITY.VALUES.UNASSIGNED');\n }\n if (value === null && timeline.getIn([\"data\", \"value_diff\", \"key\"]) === 'assigned_users') {\n value = this.translate.instant('ACTIVITY.VALUES.UNASSIGNED');\n } else if (timeline.getIn([\"data\", \"value_diff\", \"key\"]) === 'due_date') {\n if (value) {\n prettyDate = this.translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n value = moment(value, \"YYYY-MM-DD\").format(prettyDate);\n } else {\n value = this.translate.instant('ACTIVITY.VALUES.NOT_SET');\n }\n }\n new_value = value;\n } else {\n new_value = timeline.getIn([\"data\", \"value_diff\", \"value\"]).first().get(1);\n }\n return _.escape(new_value);\n },\n sprint_name: function(timeline, event) {\n var url;\n url = \"project-taskboard:project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['data', 'milestone', 'slug'])\";\n return this._getLink(url, timeline.getIn(['data', 'milestone', 'name']));\n },\n us_name: function(timeline, event) {\n var event_us, obj, text, url;\n obj = this._getTimelineObj(timeline, event).get('userstory');\n event_us = {\n obj: 'parent_userstory'\n };\n url = this._getDetailObjUrl(event_us);\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n return this._getLink(url, text);\n },\n related_us_name: function(timeline, event) {\n var obj, text, url;\n obj = timeline.getIn([\"data\", \"userstory\"]);\n url = \"project-userstories-detail:project=timeline.getIn(['data', 'userstory', 'project', 'slug']),ref=timeline.getIn(['data', 'userstory', 'ref'])\";\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n return this._getLink(url, text);\n },\n epic_name: function(timeline, event) {\n var obj, text, url;\n obj = timeline.getIn([\"data\", \"epic\"]);\n url = \"project-epics-detail:project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['data', 'epic', 'ref'])\";\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n return this._getLink(url, text);\n },\n obj_name: function(timeline, event) {\n var obj, text, url;\n obj = this._getTimelineObj(timeline, event);\n url = this._getDetailObjUrl(event);\n if (event.obj === 'wikipage') {\n text = unslugify(obj.get('slug'));\n } else if (event.obj === 'milestone') {\n text = obj.get('name');\n } else {\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n }\n return this._getLink(url, text);\n },\n role_name: function(timeline, event) {\n return _.escape(timeline.getIn(['data', 'value_diff', 'value']).keySeq().first());\n }\n };\n\n function UserTimelineItemTitle(translate, sce) {\n this.translate = translate;\n this.sce = sce;\n }\n\n UserTimelineItemTitle.prototype._translateTitleParams = function(param, timeline, event) {\n return this._params[param].call(this, timeline, event);\n };\n\n UserTimelineItemTitle.prototype._getTimelineObj = function(timeline, event) {\n return timeline.getIn(['data', event.obj]);\n };\n\n UserTimelineItemTitle.prototype._getDetailObjUrl = function(event) {\n var url;\n url = {\n \"issue\": [\"project-issues-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"],\n \"wikipage\": [\"project-wiki-page\", \":project=timeline.getIn(['data', 'project', 'slug']),slug=timeline.getIn(['obj', 'slug'])\"],\n \"task\": [\"project-tasks-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"],\n \"userstory\": [\"project-userstories-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"],\n \"parent_userstory\": [\"project-userstories-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'userstory', 'ref'])\"],\n \"milestone\": [\"project-taskboard\", \":project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['obj', 'slug'])\"],\n \"epic\": [\"project-epics-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"]\n };\n return url[event.obj][0] + url[event.obj][1];\n };\n\n UserTimelineItemTitle.prototype._getLink = function(url, text, title) {\n var span;\n title = title || text;\n span = $('').attr('ng-non-bindable', true).text(text);\n return $('').attr('tg-nav', url).attr('title', title).append(span).prop('outerHTML');\n };\n\n UserTimelineItemTitle.prototype._getUsernameSpan = function(text) {\n var title;\n title = title || text;\n return $('').addClass('username').text(text).prop('outerHTML');\n };\n\n UserTimelineItemTitle.prototype._getParams = function(timeline, event, timeline_type) {\n var params;\n params = {};\n timeline_type.translate_params.forEach((function(_this) {\n return function(param) {\n return params[param] = _this._translateTitleParams(param, timeline, event);\n };\n })(this));\n return params;\n };\n\n UserTimelineItemTitle.prototype.getTitle = function(timeline, event, type) {\n var params, paramsKeys, translation;\n params = this._getParams(timeline, event, type);\n paramsKeys = {};\n Object.keys(params).forEach(function(key) {\n return paramsKeys[key] = '{{' + key + '}}';\n });\n translation = this.translate.instant(type.key, paramsKeys);\n Object.keys(params).forEach(function(key) {\n var find;\n find = '{{' + key + '}}';\n return translation = translation.replace(new RegExp(find, 'g'), params[key]);\n });\n return translation;\n };\n\n return UserTimelineItemTitle;\n\n })();\n\n angular.module(\"taigaUserTimeline\").service(\"tgUserTimelineItemTitle\", UserTimelineItemTitle);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline-item-type.service.coffee\n */\n\n(function() {\n var UserTimelineType, timelineType;\n\n timelineType = function(timeline, event) {\n var types;\n types = [\n {\n check: function(timeline, event) {\n return event.obj === 'membership';\n },\n key: 'TIMELINE.NEW_MEMBER',\n translate_params: ['project_name'],\n member: function(timeline) {\n return Immutable.Map({\n user: timeline.getIn(['data', 'user']),\n role: timeline.getIn(['data', 'role'])\n });\n }\n }, {\n check: function(timeline, event) {\n return event.obj === 'project' && event.type === 'create';\n },\n key: 'TIMELINE.NEW_PROJECT',\n translate_params: ['username', 'project_name'],\n description: function(timeline) {\n return timeline.getIn(['data', 'project', 'description']);\n }\n }, {\n check: function(timeline, event) {\n return event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'attachments';\n },\n key: 'TIMELINE.UPLOAD_ATTACHMENT',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'create';\n },\n key: 'TIMELINE.US_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'issue' && event.type === 'create';\n },\n key: 'TIMELINE.ISSUE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'wikipage' && event.type === 'create';\n },\n key: 'TIMELINE.WIKI_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'create' && !timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'create' && timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_CREATED_WITH_US',\n translate_params: ['username', 'project_name', 'obj_name', 'us_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'milestone' && event.type === 'create';\n },\n key: 'TIMELINE.MILESTONE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'create';\n },\n key: 'TIMELINE.EPIC_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'relateduserstory' && event.type === 'create';\n },\n key: 'TIMELINE.EPIC_RELATED_USERSTORY_CREATED',\n translate_params: ['username', 'project_name', 'related_us_name', 'epic_name']\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'userstory';\n },\n key: 'TIMELINE.NEW_COMMENT_US',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'issue';\n },\n key: 'TIMELINE.NEW_COMMENT_ISSUE',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'task';\n },\n key: 'TIMELINE.NEW_COMMENT_TASK',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'epic';\n },\n key: 'TIMELINE.NEW_COMMENT_EPIC',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'moveInBacklog' && timeline.hasIn(['data', 'value_diff', 'value', 'backlog_order']) && event.type === 'change';\n },\n key: 'TIMELINE.US_MOVED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n if (timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'moveInBacklog' && event.type === 'change' && event.obj === 'userstory') {\n return timeline.getIn(['data', 'value_diff', 'value', 'milestone']).get(1) === null;\n }\n return false;\n },\n key: 'TIMELINE.US_REMOVED_FROM_MILESTONE',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'moveInBacklog' && event.type === 'change' && event.obj === 'userstory';\n },\n key: 'TIMELINE.US_ADDED_MILESTONE',\n translate_params: ['username', 'obj_name', 'sprint_name']\n }, {\n check: function(timeline, event) {\n if (timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'blocked' && event.type === 'change') {\n return timeline.getIn(['data', 'value_diff', 'value', 'is_blocked']).get(1) === true;\n }\n return false;\n },\n key: 'TIMELINE.BLOCKED',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n if (timeline.hasIn(['data', 'value_diff', 'value', 'blocked_note_html'])) {\n text = timeline.getIn(['data', 'value_diff', 'value', 'blocked_note_html']).get(1);\n return $($.parseHTML(text)).text();\n } else {\n return false;\n }\n }\n }, {\n check: function(timeline, event) {\n if (timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'blocked' && event.type === 'change') {\n return timeline.getIn(['data', 'value_diff', 'value', 'is_blocked']).get(1) === false;\n }\n return false;\n },\n key: 'TIMELINE.UNBLOCKED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'milestone' && event.type === 'change';\n },\n key: 'TIMELINE.MILESTONE_UPDATED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'wikipage' && event.type === 'change';\n },\n key: 'TIMELINE.WIKI_UPDATED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'points';\n },\n key: 'TIMELINE.US_UPDATED_POINTS',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value', 'role_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.US_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'change';\n },\n key: 'TIMELINE.US_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'issue' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.ISSUE_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'issue' && event.type === 'change';\n },\n key: 'TIMELINE.ISSUE_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && !timeline.getIn(['data', 'task', 'userstory']) && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.TASK_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && timeline.getIn(['data', 'task', 'userstory']) && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.TASK_UPDATED_WITH_US',\n translate_params: ['username', 'field_name', 'obj_name', 'us_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && !timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_UPDATED_WITH_US_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'us_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.EPIC_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'color';\n },\n key: 'TIMELINE.EPIC_UPDATED_WITH_NEW_COLOR',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'change';\n },\n key: 'TIMELINE.EPIC_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'user' && event.type === 'create';\n },\n key: 'TIMELINE.NEW_USER',\n translate_params: ['username']\n }\n ];\n return _.find(types, function(obj) {\n return obj.check(timeline, event);\n });\n };\n\n UserTimelineType = (function() {\n function UserTimelineType() {}\n\n UserTimelineType.prototype.getType = function(timeline, event) {\n return timelineType(timeline, event);\n };\n\n return UserTimelineType;\n\n })();\n\n angular.module(\"taigaUserTimeline\").service(\"tgUserTimelineItemType\", UserTimelineType);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline-item.directive.coffee\n */\n\n(function() {\n var UserTimelineItemDirective;\n\n UserTimelineItemDirective = function() {\n return {\n templateUrl: \"user-timeline/user-timeline-item/user-timeline-item.html\",\n scope: {\n timeline: \"=tgUserTimelineItem\"\n }\n };\n };\n\n angular.module(\"taigaUserTimeline\").directive(\"tgUserTimelineItem\", UserTimelineItemDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline-pagination-sequence.service.coffee\n */\n\n(function() {\n var UserTimelinePaginationSequence;\n\n UserTimelinePaginationSequence = function() {\n var obj;\n obj = {};\n obj.generate = function(config) {\n var getContent, items, next, page;\n page = 1;\n items = Immutable.List();\n config.minItems = config.minItems || 20;\n next = function() {\n items = Immutable.List();\n return getContent();\n };\n getContent = function() {\n return config.fetch(page).then(function(response) {\n var data;\n page++;\n data = response.get(\"data\");\n if (config.filter) {\n data = config.filter(data);\n }\n if (config.map) {\n data = data.map(config.map);\n }\n items = items.concat(data);\n if (items.size < config.minItems && response.get(\"next\")) {\n return getContent();\n }\n return Immutable.Map({\n items: items,\n next: response.get(\"next\")\n });\n });\n };\n return {\n next: function() {\n return next();\n }\n };\n };\n return obj;\n };\n\n angular.module(\"taigaUserTimeline\").factory(\"tgUserTimelinePaginationSequenceService\", UserTimelinePaginationSequence);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/profile/profile-timeline/profile-timeline.controller.coffee\n */\n\n(function() {\n var UserTimelineController, mixOf, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n UserTimelineController = (function(superClass) {\n extend(UserTimelineController, superClass);\n\n UserTimelineController.$inject = [\"tgUserTimelineService\"];\n\n function UserTimelineController(userTimelineService) {\n this.userTimelineService = userTimelineService;\n this.timelineList = Immutable.List();\n this.scrollDisabled = false;\n this.timeline = null;\n if (this.projectId) {\n this.timeline = this.userTimelineService.getProjectTimeline(this.projectId);\n } else if (this.currentUser) {\n this.timeline = this.userTimelineService.getProfileTimeline(this.user.get(\"id\"));\n } else {\n this.timeline = this.userTimelineService.getUserTimeline(this.user.get(\"id\"));\n }\n }\n\n UserTimelineController.prototype.loadTimeline = function() {\n this.scrollDisabled = true;\n return this.timeline.next().then((function(_this) {\n return function(response) {\n _this.timelineList = _this.timelineList.concat(response.get(\"items\"));\n if (response.get(\"next\")) {\n _this.scrollDisabled = false;\n }\n return _this.timelineList;\n };\n })(this));\n };\n\n return UserTimelineController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n angular.module(\"taigaUserTimeline\").controller(\"UserTimeline\", UserTimelineController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline.directive.coffee\n */\n\n(function() {\n var UserTimelineDirective;\n\n UserTimelineDirective = function() {\n return {\n templateUrl: \"user-timeline/user-timeline/user-timeline.html\",\n controller: \"UserTimeline\",\n controllerAs: \"vm\",\n scope: {\n projectId: \"=projectid\",\n user: \"=\",\n currentUser: \"=\"\n },\n bindToController: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgUserTimeline\", UserTimelineDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: user-timeline.service.coffee\n */\n\n(function() {\n var UserTimelineService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n UserTimelineService = (function(superClass) {\n extend(UserTimelineService, superClass);\n\n UserTimelineService.$inject = [\"tgResources\", \"tgUserTimelinePaginationSequenceService\", \"tgUserTimelineItemType\", \"tgUserTimelineItemTitle\"];\n\n function UserTimelineService(rs, userTimelinePaginationSequenceService, userTimelineItemType, userTimelineItemTitle) {\n this.rs = rs;\n this.userTimelinePaginationSequenceService = userTimelinePaginationSequenceService;\n this.userTimelineItemType = userTimelineItemType;\n this.userTimelineItemTitle = userTimelineItemTitle;\n }\n\n UserTimelineService.prototype._valid_fields = ['status', 'subject', 'description_diff', 'assigned_users', 'assigned_to', 'points', 'severity', 'priority', 'type', 'attachments', 'is_iocaine', 'content_diff', 'name', 'estimated_finish', 'estimated_start', 'blocked', 'moveInBacklog', 'milestone', 'color', 'due_date', 'due_date_reason'];\n\n UserTimelineService.prototype._invalid = [\n {\n check: function(timeline) {\n var fieldKey, value_diff;\n value_diff = timeline.get(\"data\").get(\"value_diff\");\n if (value_diff) {\n fieldKey = value_diff.get('key');\n if (this._valid_fields.indexOf(fieldKey) === -1) {\n return true;\n } else if (fieldKey === 'attachments' && value_diff.get('value').get('new').size === 0) {\n return true;\n }\n }\n return false;\n }\n }, {\n check: function(timeline) {\n var event, value_diff;\n event = timeline.get('event_type').split(\".\");\n value_diff = timeline.get(\"data\").get(\"value_diff\");\n return event[2] === 'change' && value_diff === void 0;\n }\n }, {\n check: function(timeline) {\n var event;\n event = timeline.get('event_type').split(\".\");\n return event[2] === 'delete';\n }\n }, {\n check: function(timeline) {\n var event;\n event = timeline.get('event_type').split(\".\");\n return event[1] === 'project' && event[2] === 'change';\n }\n }, {\n check: function(timeline) {\n return !!timeline.get(\"data\").get(\"comment_deleted\");\n }\n }, {\n check: function(timeline) {\n var event, value_diff;\n event = timeline.get('event_type').split(\".\");\n value_diff = timeline.get(\"data\").get(\"value_diff\");\n if (value_diff && event[1] === \"task\" && event[2] === \"change\" && value_diff.get(\"key\") === \"milestone\") {\n return timeline.get(\"data\").get(\"value_diff\").get(\"value\");\n }\n return false;\n }\n }\n ];\n\n UserTimelineService.prototype._isInValidTimeline = function(timeline) {\n return _.some(this._invalid, (function(_this) {\n return function(invalid) {\n return invalid.check.call(_this, timeline);\n };\n })(this));\n };\n\n UserTimelineService.prototype._parseEventType = function(event_type) {\n event_type = event_type.split(\".\");\n return {\n section: event_type[0],\n obj: event_type[1],\n type: event_type[2]\n };\n };\n\n UserTimelineService.prototype._getTimelineObject = function(timeline, event) {\n if (timeline.get('data').get(event.obj)) {\n return timeline.get('data').get(event.obj);\n }\n };\n\n UserTimelineService.prototype._attachExtraInfoToTimelineEntry = function(timeline, event, type) {\n var title;\n title = this.userTimelineItemTitle.getTitle(timeline, event, type);\n timeline = timeline.set('title_html', title);\n timeline = timeline.set('obj', this._getTimelineObject(timeline, event));\n if (type.description) {\n timeline = timeline.set('description', type.description(timeline));\n }\n if (type.member) {\n timeline = timeline.set('member', type.member(timeline));\n }\n if (timeline.getIn(['data', 'value_diff', 'key']) === 'attachments' && timeline.hasIn(['data', 'value_diff', 'value', 'new'])) {\n timeline = timeline.set('attachments', timeline.getIn(['data', 'value_diff', 'value', 'new']));\n }\n return timeline;\n };\n\n UserTimelineService.prototype._parseTimeline = function(response) {\n var newdata;\n newdata = Immutable.List();\n response.get('data').forEach((function(_this) {\n return function(item) {\n var data, event, newItem, values_diff;\n event = _this._parseEventType(item.get('event_type'));\n data = item.get('data');\n values_diff = data.get('values_diff');\n if (values_diff && values_diff.count()) {\n if (values_diff.has('is_blocked')) {\n values_diff = Immutable.Map({\n 'blocked': values_diff\n });\n }\n if (values_diff.has('milestone')) {\n if (event.obj === 'userstory') {\n values_diff = Immutable.Map({\n 'moveInBacklog': values_diff\n });\n } else {\n values_diff = values_diff.deleteIn(['values_diff', 'milestone']);\n }\n } else if (event.obj === 'milestone') {\n values_diff = Immutable.Map({\n 'milestone': values_diff\n });\n }\n return values_diff.forEach(function(value, key) {\n var newItem, obj;\n obj = Immutable.Map({\n key: key,\n value: value\n });\n newItem = item.setIn(['data', 'value_diff'], obj);\n newItem = newItem.deleteIn(['data', 'values_diff']);\n return newdata = newdata.push(newItem);\n });\n } else {\n newItem = item.deleteIn(['data', 'values_diff']);\n return newdata = newdata.push(newItem);\n }\n };\n })(this));\n return response.set('data', newdata);\n };\n\n UserTimelineService.prototype._addEntyAttributes = function(item) {\n var event, type;\n event = this._parseEventType(item.get('event_type'));\n type = this.userTimelineItemType.getType(item, event);\n return this._attachExtraInfoToTimelineEntry(item, event, type);\n };\n\n UserTimelineService.prototype.getProfileTimeline = function(userId) {\n var config;\n config = {};\n config.fetch = (function(_this) {\n return function(page) {\n return _this.rs.users.getProfileTimeline(userId, page).then(function(response) {\n return _this._parseTimeline(response);\n });\n };\n })(this);\n config.map = (function(_this) {\n return function(obj) {\n return _this._addEntyAttributes(obj);\n };\n })(this);\n config.filter = (function(_this) {\n return function(items) {\n return items.filterNot(function(item) {\n return _this._isInValidTimeline(item);\n });\n };\n })(this);\n return this.userTimelinePaginationSequenceService.generate(config);\n };\n\n UserTimelineService.prototype.getUserTimeline = function(userId) {\n var config;\n config = {};\n config.fetch = (function(_this) {\n return function(page) {\n return _this.rs.users.getUserTimeline(userId, page).then(function(response) {\n return _this._parseTimeline(response);\n });\n };\n })(this);\n config.map = (function(_this) {\n return function(obj) {\n return _this._addEntyAttributes(obj);\n };\n })(this);\n config.filter = (function(_this) {\n return function(items) {\n return items.filterNot(function(item) {\n return _this._isInValidTimeline(item);\n });\n };\n })(this);\n return this.userTimelinePaginationSequenceService.generate(config);\n };\n\n UserTimelineService.prototype.getProjectTimeline = function(projectId) {\n var config;\n config = {};\n config.fetch = (function(_this) {\n return function(page) {\n return _this.rs.projects.getTimeline(projectId, page).then(function(response) {\n return _this._parseTimeline(response);\n });\n };\n })(this);\n config.map = (function(_this) {\n return function(obj) {\n return _this._addEntyAttributes(obj);\n };\n })(this);\n config.filter = (function(_this) {\n return function(items) {\n return items.filterNot(function(item) {\n return _this._isInValidTimeline(item);\n });\n };\n })(this);\n return this.userTimelinePaginationSequenceService.generate(config);\n };\n\n return UserTimelineService;\n\n })(taiga.Service);\n\n angular.module(\"taigaUserTimeline\").service(\"tgUserTimelineService\", UserTimelineService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: isolate-click.directive.coffee\n */\n\n(function() {\n var IsolateClickDirective;\n\n IsolateClickDirective = function() {\n var link;\n link = function(scope, el, attrs) {\n return el.on('click', (function(_this) {\n return function(e) {\n return e.stopPropagation();\n };\n })(this));\n };\n return {\n link: link\n };\n };\n\n angular.module(\"taigaUtils\").directive(\"tgIsolateClick\", IsolateClickDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: wiki-history.directive.coffee\n */\n\n(function() {\n var WikiHistoryDiffDirective, module;\n\n module = angular.module('taigaWikiHistory');\n\n WikiHistoryDiffDirective = function() {\n return {\n templateUrl: \"wiki/history/wiki-history-diff.html\",\n scope: {\n key: \"<\",\n diff: \"<\"\n }\n };\n };\n\n module.directive(\"tgWikiHistoryDiff\", WikiHistoryDiffDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: wiki-history.directive.coffee\n */\n\n(function() {\n var WikiHistoryEntryDirective, module;\n\n module = angular.module('taigaWikiHistory');\n\n WikiHistoryEntryDirective = function() {\n var link;\n link = function(scope, el, attr) {\n return scope.singleHistoryEntry = scope.historyEntry.toJS();\n };\n return {\n link: link,\n templateUrl: \"wiki/history/wiki-history-entry.html\",\n scope: {\n historyEntry: \"<\"\n }\n };\n };\n\n module.directive(\"tgWikiHistoryEntry\", WikiHistoryEntryDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: wiki-history.controller.coffee\n */\n\n(function() {\n var WikiHistoryController, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaWikiHistory\");\n\n WikiHistoryController = (function() {\n WikiHistoryController.$inject = [\"tgWikiHistoryService\"];\n\n function WikiHistoryController(wikiHistoryService) {\n this.wikiHistoryService = wikiHistoryService;\n taiga.defineImmutableProperty(this, 'historyEntries', (function(_this) {\n return function() {\n return _this.wikiHistoryService.historyEntries;\n };\n })(this));\n this.toggle = false;\n }\n\n WikiHistoryController.prototype.initializeHistoryEntries = function(wikiId) {\n if (wikiId) {\n this.wikiHistoryService.setWikiId(wikiId);\n }\n return this.wikiHistoryService.loadHistoryEntries();\n };\n\n return WikiHistoryController;\n\n })();\n\n module.controller(\"WikiHistoryCtrl\", WikiHistoryController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: wiki-history.directive.coffee\n */\n\n(function() {\n var WikiHistoryDirective, bindOnce, module;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module('taigaWikiHistory');\n\n WikiHistoryDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return bindOnce(scope, 'vm.wikiId', function(value) {\n return ctrl.initializeHistoryEntries(value);\n });\n };\n return {\n scope: {},\n bindToController: {\n wikiId: \"<\"\n },\n controller: \"WikiHistoryCtrl\",\n controllerAs: \"vm\",\n templateUrl: \"wiki/history/wiki-history.html\",\n link: link\n };\n };\n\n module.directive(\"tgWikiHistory\", WikiHistoryDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: wiki-history.service.coffee\n */\n\n(function() {\n var WikiHistoryService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module('taigaWikiHistory');\n\n WikiHistoryService = (function(superClass) {\n extend(WikiHistoryService, superClass);\n\n WikiHistoryService.$inject = [\"tgResources\", \"tgXhrErrorService\"];\n\n function WikiHistoryService(rs, xhrError) {\n this.rs = rs;\n this.xhrError = xhrError;\n this._wikiId = null;\n this._historyEntries = Immutable.List();\n taiga.defineImmutableProperty(this, \"wikiId\", (function(_this) {\n return function() {\n return _this._wikiId;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"historyEntries\", (function(_this) {\n return function() {\n return _this._historyEntries;\n };\n })(this));\n }\n\n WikiHistoryService.prototype.setWikiId = function(wikiId) {\n this._wikiId = wikiId;\n return this._historyEntries = Immutable.List();\n };\n\n WikiHistoryService.prototype.loadHistoryEntries = function() {\n if (!this._wikiId) {\n return;\n }\n return this.rs.wikiHistory.getWikiHistory(this._wikiId).then((function(_this) {\n return function(historyEntries) {\n if (historyEntries.size) {\n return _this._historyEntries = historyEntries.reverse();\n }\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n _;\n\n return WikiHistoryService;\n\n })(taiga.Service);\n\n module.service(\"tgWikiHistoryService\", WikiHistoryService);\n\n}).call(this);\n\n//# sourceMappingURL=maps/app.js.map\n"]} \ No newline at end of file diff --git a/dist/v-1535381918818/js/maps/libs.js.map b/dist/v-1535381918818/js/maps/libs.js.map deleted file mode 100644 index 78bf927..0000000 --- a/dist/v-1535381918818/js/maps/libs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["sha1-custom.js","murmurhash3_gc.js","bluebird.js","jquery.js","lodash.js","messageformat.js","angular.js","angular-route.js","angular-sanitize.js","angular-animate.js","angular-aria.js","angular-translate.js","angular-translate-loader-partial.js","angular-translate-loader-static-files.js","angular-translate-interpolation-messageformat.js","moment.js","checksley.js","pikaday.js","jquery.flot.js","jquery.flot.pie.js","jquery.flot.time.js","jquery.flot.axislabels.js","jquery.flot.tooltip.js","raven.js","l.js","ng-infinite-scroll.js","immutable.js","intro.js","dragula.js","awesomplete.js","medium-editor.js","to-markdown.js","markdown-it.js","prism.js","prism-custom-class.js","autolist.js","Autolinker.js","dom-autoscroller.js","dragula-drag-multiple.js","tg-repeat.js","medium-mention.js","markdown-it-lazy-headers.js"],"names":["hex_sha1","s","binb2hex","core_sha1","str2binb","length","chrsz","b64_sha1","binb2b64","str_sha1","binb2str","hex_hmac_sha1","key","data","core_hmac_sha1","b64_hmac_sha1","str_hmac_sha1","sha1_vm_test","x","len","w","Array","a","b","c","d","e","i","olda","oldb","oldc","oldd","olde","j","rol","t","safe_add","sha1_ft","sha1_kt","bkey","ipad","opad","hash","concat","y","lsw","msw","num","cnt","str","bin","mask","charCodeAt","String","fromCharCode","binarray","hex_tab","hexcase","charAt","tab","triplet","b64pad","murmurhash3_32_gc","seed","remainder","bytes","h1","h1b","c1","c2","k1","exports","module","define","amd","f","window","global","self","Promise","n","r","o","u","_dereq_","Error","code","l","call","1","any","promises","ret","SomePromiseArray","promise","setHowMany","setUnwrap","init","_SomePromiseArray","prototype","this","2","Async","_customScheduler","_isTickUsed","_lateQueue","Queue","_normalQueue","_haveDrainedQueues","_trampolineEnabled","drainQueues","_drainQueues","_schedule","schedule","AsyncInvokeLater","fn","receiver","arg","push","_queueTick","AsyncInvoke","AsyncSettlePromises","_pushOne","firstLineError","util","setScheduler","prev","hasCustomScheduler","enableTrampoline","disableTrampolineIfNecessary","hasDevTools","haveItemsQueued","fatalError","isNode","process","stderr","write","stack","exit","throwLater","arguments","setTimeout","invokeLater","invoke","settlePromises","_settlePromises","_drainQueue","queue","shift","_reset","./queue","./schedule","./util","3","INTERNAL","tryConvertToPromise","debug","calledBind","rejectThis","_","_reject","targetRejected","context","promiseRejectionQueued","bindingPromise","_then","bindingResolved","thisArg","_bitField","_resolveCallback","target","bindingRejected","bind","_propagateFrom","propagateFromFunction","_boundValue","boundValueFunction","maybePromise","_target","_setBoundTo","undefined","_setOnCancel","obj","_boundTo","_isBound","value","resolve","4","noConflict","bluebird","old","./promise","5","cr","Object","create","callerCache","getterCache","ensureMethod","methodName","message","classString","toString","TypeError","caller","pop","apply","namedGetter","indexedGetter","index","Math","max","getGetter","canEvaluate","isIdentifier","args","slice","get","propertyName","getter","isIndex","maybeGetter","6","PromiseArray","apiRejection","tryCatch","errorObj","async","_async","cancel","cancellation","_warn","child","_isCancellable","_cancelBy","_isFollowing","_followee","_cancelBranched","parent","_cancellationParent","_setWillBeCancelled","_branchHasCancelled","_branchesRemainingToCancel","_enoughBranchesHaveCancelled","canceller","_invokeOnCancel","_cancel","_setCancelled","_cancelPromises","_length","_unsetOnCancel","_onCancelField","isPending","_isCancelled","isCancellable","isCancelled","_doInvokeOnCancel","onCancelCallback","internalOnly","isArray","_attachExtraTrace","_resultCancelled","_onCancel","_invokeInternalOnCancel","7","NEXT_FILTER","catchFilter","instances","cb","boundTo","predicateLoop","item","matchesPredicate","isObject","keys","getKeys","./es5","8","Context","_trace","CapturedTrace","peekContext","createContext","longStackTraces","lastIndex","contextStack","_promiseCreated","_pushContext","_popContext","_peekContext","trace","deactivateLongStackTraces","activateLongStackTraces","Promise_pushContext","Promise_popContext","Promise_PeekContext","Promise_peekContext","Promise_promiseCreated","ctx","9","generatePromiseLifecycleEventObject","name","defaultFireEvent","cancellationExecute","executor","reject","onCancel","_attachCancellationCallback","cancellationAttachCancellationCallback","previousOnCancel","cancellationOnCancel","cancellationSetOnCancel","cancellationClearCancellationData","cancellationPropagateFrom","flags","branchesRemainingToCancel","bindingPropagateFrom","isFulfilled","longStackTracesCaptureStackTrace","longStackTracesAttachExtraTrace","error","ignoreSelf","canAttachTrace","_parent","attachExtraTrace","__stackCleaned__","parsed","parseStackAndMessage","notEnumerableProp","join","checkForgottenReturns","returnValue","promiseCreated","wForgottenReturn","_returnedNonUndefined","handlerLine","creatorLine","traceLines","split","cleanStack","line","nodeFramePattern","test","lineMatches","match","parseLinePattern","firstUserLine","msg","deprecated","replacement","warn","shouldUseOwnTrace","config","warnings","warning","Warning","activeFireEvent","formatAndLogError","reconstructStack","stacks","removeDuplicateOrEmptyJumps","splice","removeCommonRoots","current","currentLastIndex","currentLastLine","commonRootMeetPoint","isTraceLine","stackFramePattern","isInternalFrame","shouldIgnore","indentStackFrames","stackFramesAsArray","replace","title","isSoft","console","formatStack","printWarning","log","fireRejectionEvent","localHandler","reason","localEventFired","formatNonError","ruselessToString","newStr","JSON","stringify","snip","maxChars","substr","longStackTracesIsSupported","captureStackTrace","parseLineInfo","matches","parseLineInfoRegex","fileName","parseInt","setBounds","lastLineError","firstFileName","lastFileName","firstStackLines","lastStackLines","firstIndex","result","bluebirdFramePattern","info","_promisesCreated","uncycle","unhandledRejectionHandled","possiblyUnhandledRejection","getDomain","_getDomain","debugging","env","suppressUnhandledRejections","_ensurePossibleRejectionHandled","_setRejectionIsUnhandled","_notifyUnhandledRejection","_notifyUnhandledRejectionIsHandled","_setReturnedNonUndefined","_isRejectionUnhandled","_settledValue","_setUnhandledRejectionIsNotified","_unsetUnhandledRejectionIsNotified","_isUnhandledRejectionNotified","_unsetRejectionIsUnhandled","onPossiblyUnhandledRejection","domain","domainBind","onUnhandledRejectionHandled","disableLongStackTraces","Promise_captureStackTrace","_captureStackTrace","Promise_attachExtraTrace","hasLongStackTraces","fireDomEvent","CustomEvent","event","dispatchEvent","domEvent","toLowerCase","detail","cancelable","Event","document","createEvent","initCustomEvent","fireGlobalEvent","emit","method","eventToObjectGenerator","promiseFulfilled","promiseRejected","promiseResolved","promiseCancelled","promiseChained","unhandledRejection","rejectionHandled","globalEventFired","domEventFired","opts","warningsOption","_clearCancellationData","_execute","monitoring","_fireEvent","handler","inherits","nodes","stackToIndex","node","currentStack","cycleEdgeNode","currentChildLength","v8stackFramePattern","v8stackFormatter","stackTraceLimit","ignoreUntil","err","indexOf","hasStackAfterThrow","isTTY","color","./errors","10","returner","thrower","thenReturn","thenThrow","catchThrow","_reason","caught","catchReturn","_value","11","promiseAllThis","PromiseAll","PromiseMapSeries","PromiseReduce","reduce","all","each","mapSeries","12","subError","nameProperty","defaultMessage","SubError","constructor","OperationalError","cause","_TypeError","_RangeError","es5","Objectfreeze","freeze","CancellationError","TimeoutError","AggregateError","RangeError","methods","defineProperty","configurable","writable","enumerable","level","indent","lines","errorTypes","RejectionError","13","isES5","getDescriptor","getOwnPropertyDescriptor","names","getOwnPropertyNames","getPrototypeOf","propertyIsWritable","prop","descriptor","set","has","hasOwnProperty","proto","ObjectKeys","ObjectGetDescriptor","ObjectDefineProperty","desc","ObjectFreeze","ObjectGetPrototypeOf","ArrayIsArray","14","PromiseMap","map","filter","options","15","PassThroughHandlerContext","type","called","cancelPromise","FinallyHandlerCancelReaction","finallyHandler","checkCancel","succeed","fail","reasonOrValue","isFinallyHandler","isRejected","_passThrough","success","then","lastly","tap","tapCatch","handlerOrPredicate","catchInstances","./catch_filter","16","Proxyable","promiseFromYieldHandler","yieldHandlers","traceParent","PromiseSpawn","generatorFunction","yieldHandler","internal","_finallyPromise","_promise","_stack","_generatorFunction","_receiver","_generator","_yieldHandlers","_yieldedPromise","_cancellationPhase","errors","_isResolved","_cleanup","_fulfill","_promiseCancelled","implementsReturn","coroutine","returnSentinel","_continue","_promiseFulfilled","next","_promiseRejected","_run","_rejectCallback","done","bitField","_proxy","PromiseSpawn$","generator","spawn","addYieldHandler","17","last","spread","18","MappingPromiseArray","limit","_filter","constructor$","_callback","_preservedValues","_limit","_inFlight","_queue","_asyncInit","concurrency","isFinite","_init$","_init","values","_values","preservedValues","callback","totalResolved","_totalResolved","_resolve","booleans","19","_resolveFromSyncValue","attempt","20","isUntypedError","wrapAsOperationalError","rErrorKey","markAsOriginatingFromRejection","nodebackForPromise","multiArgs","wrapped","maybeWrapAsError","21","spreadAdapter","val","nodeback","successAdapter","errorAdapter","newReason","asCallback","nodeify","adapter","22","check","_fulfillmentHandler0","_rejectionHandler0","_promise0","_receiver0","_resolveFromExecutor","deferResolve","v","deferReject","fillTypes","p","makeSelfResolutionError","reflectHandler","PromiseInspection","UNDEFINED_BINDING","APPLY","reflect","didFulfill","didReject","_setIsFinal","toJSON","fulfillmentValue","rejectionReason","originatesFromRejection","getNewLibraryCopy","is","fromNode","fromCallback","_isFateSealed","_setAsyncGuaranteed","cast","_setFulfilled","fulfilled","rejected","internalData","haveInternalData","settler","_settlePromiseCtx","_settlePromiseLateCancellationObserver","_addCallbacks","_setLength","_setRejected","_setFollowing","_isFinal","_unsetCancelled","_receiverAt","_promiseAt","_fulfillmentHandlerAt","_rejectionHandlerAt","_migrateCallback0","follower","fulfill","_migrateCallbackAt","base","proxyable","shouldBind","_setFollowee","synchronous","ignoreNonErrorWarnings","ensureErrorObject","hasStack","_settlePromiseFromHandler","_settlePromise","isPromise","asyncGuaranteed","_settlePromise0","_clearCallbackDataAtIndex","_fulfillPromises","_rejectPromises","defer","pending","version","toFastProperties","./any.js","./async","./bind","./call_get.js","./cancel","./context","./debuggability","./direct_resolve","./each.js","./filter.js","./finally","./generators.js","./join","./map.js","./method","./nodeback","./nodeify.js","./promise_array","./promisify.js","./props.js","./race.js","./reduce.js","./settle.js","./some.js","./synchronous_inspection","./thenables","./timers.js","./using.js","23","toResolutionValue","Map","resolveValueIfEmpty","asArray","_resolveEmptyArray","_iterate","getActualLength","shouldCopyValues","isResolved","24","propsFilter","noCopyPropsPattern","isPromisified","__isPromisified__","hasPromisified","suffix","getDataPropertyOrDefault","defaultPromisified","checkValid","suffixRegexp","keyWithoutAsyncSuffix","promisifiableMethods","inheritedDataKeys","passesDefaultFilter","defaultFilter","makeNodePromisifiedClosure","__","promisified","THIS","defaultThis","withAppended","promisifyAll","promisifier","RegExp","escapeIdentRegex","promisifiedKey","makeNodePromisified","promisify","makeNodePromisifiedEval","defaultSuffix","noCopyProps","copyDescriptors","isClass","25","PropertiesPromiseArray","entries","isMap","Es6Map","mapToEntries","_isMap","props","castValue","extractEntry","size","forEach","entriesToMap","keyOffset","26","arrayMove","src","srcIndex","dst","dstIndex","capacity","_capacity","_front","_willBeOverCapacity","_checkCapacity","wrapMask","front","_resizeTo","oldCapacity","moveItemsCount","27","race","raceLater","array","28","ReductionPromiseArray","initialValue","_each","_fn","_initialValue","_currentCancellable","_eachValues","completed","valueOrReason","gotAccum","accum","_gotAccum","gotValue","_eachComplete","sender","_resultCancelled$","29","noAsyncScheduler","NativePromise","getNativePromise","MutationObserver","GlobalSetImmediate","setImmediate","ProcessNextTick","nextTick","isRecentNode","nativePromise","navigator","standalone","cordova","div","createElement","attributes","toggleScheduled","div2","o2","classList","toggle","observe","scheduleToggle","disconnect","30","SettledPromiseArray","_promiseResolved","inspection","_settledValueField","settle","31","_howMany","_unwrap","_initialized","some","howMany","CANCELLATION","isArrayResolved","_canPossiblyFulfill","_getRangeError","count","_addFulfilled","_fulfilled","_addRejected","_checkOutcome","_rejected","32","__isCancelled","33","getThen","isAnyBluebirdPromise","doThenable","doGetThen","hasProp","34","HandleWrapper","handle","successClear","clearTimeout","failureClear","afterValue","delay","ms","afterTimeout","timeout","handleWrapper","35","castPreservingDisposable","thenable","_isDisposable","_getDisposer","_setDisposable","dispose","resources","iterator","tryDispose","Disposer","_data","_context","FunctionDisposer","maybeUnwrapDisposer","isDisposer","ResourceList","NULL","resource","doDispose","_unsetDisposable","using","input","spreadArgs","disposer","reflectedResources","resultPromise","inspections","_disposer","36","tryCatcher","tryCatchTarget","isPrimitive","maybeError","safeToString","appendee","defaultValue","hasMethods","hasMethodsOtherThanConstructor","hasThisAssignmentAndStaticMethods","thisAssignmentPattern","FakeConstructor","rident","filledRange","prefix","isError","ignore","from","to","hasEnvVariables","globalObject","Child","Parent","T","excludedPrototypes","Function","isExcludedProto","visitedKeys","enumeration","Symbol","ArrayFrom","itResult","it","chrome","loadTimes","versions","Number","P","factory","noGlobal","isArrayLike","jQuery","isWindow","winnow","elements","qualifier","not","isFunction","grep","elem","nodeType","risSimple","sibling","cur","dir","createOptions","object","rnotwhite","flag","removeEventListener","ready","Data","expando","uid","dataAttr","rmultiDash","getAttribute","rbrace","parseJSON","dataUser","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","style","start","end","getAll","tag","getElementsByTagName","querySelectorAll","nodeName","merge","setGlobalEval","elems","refElements","dataPriv","buildFragment","scripts","selection","ignored","tmp","wrap","contains","fragment","createDocumentFragment","rhtml","appendChild","rtagName","wrapMap","_default","innerHTML","htmlPrefilter","lastChild","childNodes","firstChild","textContent","createTextNode","inArray","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","activeElement","on","types","selector","one","origFn","off","guid","add","manipulationTarget","content","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","extend","fixInput","rcheckableType","checked","domManip","collection","first","hasScripts","doc","iNoClone","support","checkClone","rchecked","eq","html","clone","_evalUrl","globalEval","rcleanScript","remove","keepData","cleanData","parentNode","removeChild","actualDisplay","appendTo","body","display","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","pixelMarginRight","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","toUpperCase","cssPrefixes","setPositiveNumber","subtract","augmentWidthOrHeight","extra","isBorderBox","styles","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","boxSizingReliable","parseFloat","showHide","show","hidden","isHidden","Tween","easing","createFxNow","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","hooks","oldfire","checkDisplay","anim","orig","dataShow","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","hide","propFilter","specialEasing","camelCase","cssHooks","expand","properties","stopped","prefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","originalProperties","originalOptions","stop","gotoEnd","rejectWith","proxy","fx","timer","progress","complete","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","deep","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","contents","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","conv","responseFields","dataFilter","state","buildParams","traditional","rbracket","getWindow","defaultView","arr","class2type","hasOwn","rtrim","rmsPrefix","rdashAlpha","fcamelCase","letter","jquery","toArray","pushStack","prevObject","sort","copy","copyIsArray","isPlainObject","random","isReady","noop","isNumeric","realStringObj","script","indirect","eval","trim","text","head","string","makeArray","results","second","invert","callbackInverse","callbackExpect","Date","Sizzle","m","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","rsibling","testContext","qsaError","select","createCache","cache","Expr","cacheLength","markFunction","assert","addHandle","attrHandle","siblingCheck","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","sortOrder","push_native","list","whitespace","identifier","pseudos","rwhitespace","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","unloadHandler","els","hasCompare","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","what","simple","forward","ofType","nodeIndex","useCache","pseudo","idx","matched","innerText","lang","elemLang","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","until","truncate","siblings","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","disable","lock","fireWith","tuples","fns","newDefer","tuple","returned","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","readyState","doScroll","chainable","emptyGet","raw","bulk","acceptData","owner","register","stored","camel","removeData","_removeData","camelKey","dequeue","startLength","setter","clearQueue","pnum","source","el","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","load","noBubble","trigger","blur","click","beforeunload","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","rxhtmlTag","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","view","opener","getComputedStyle","swap","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","marginDiv","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","getBoundingClientRect","left","margin","padding","border","expanded","parts","propHooks","eased","step","linear","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","time","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","rfocusable","rclickable","removeProp","tabindex","for","class","rclass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","originAnchor","active","lastModified","etag","url","isLocal","protocol","processData","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","urlAnchor","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","crossDomain","host","param","hasContent","beforeSend","send","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","andSelf","_jQuery","_$","$","arrayAggregator","iteratee","accumulator","arrayEach","arrayEachRight","arrayEvery","predicate","arrayFilter","resIndex","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","arrayPush","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiToArray","asciiWords","reAsciiWord","baseFindKey","eachFunc","baseFindIndex","fromIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","NAN","baseProperty","basePropertyOf","baseReduce","baseSortBy","comparer","baseTimes","baseToPairs","baseUnary","baseValues","cacheHas","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","countHolders","placeholder","escapeStringChar","chr","stringEscapes","getValue","hasUnicode","reHasUnicode","hasUnicodeWord","reHasUnicodeWord","iteratorToArray","mapToArray","overArg","transform","replaceHolders","PLACEHOLDER","safeGet","setToArray","setToPairs","strictLastIndexOf","stringSize","unicodeSize","asciiSize","stringToArray","unicodeToArray","reUnicode","unicodeWords","reUnicodeWord","VERSION","LARGE_ARRAY_SIZE","CORE_ERROR_TEXT","FUNC_ERROR_TEXT","HASH_UNDEFINED","MAX_MEMOIZE_SIZE","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","WRAP_BIND_FLAG","WRAP_BIND_KEY_FLAG","WRAP_CURRY_BOUND_FLAG","WRAP_CURRY_FLAG","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","WRAP_FLIP_FLAG","DEFAULT_TRUNC_LENGTH","DEFAULT_TRUNC_OMISSION","HOT_COUNT","HOT_SPAN","LAZY_FILTER_FLAG","LAZY_MAP_FLAG","LAZY_WHILE_FLAG","INFINITY","MAX_SAFE_INTEGER","MAX_INTEGER","MAX_ARRAY_LENGTH","MAX_ARRAY_INDEX","HALF_MAX_ARRAY_LENGTH","wrapFlags","argsTag","arrayTag","asyncTag","boolTag","dateTag","domExcTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","symbolTag","undefinedTag","weakMapTag","weakSetTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reRegExpChar","reHasRegExpChar","reTrim","reTrimStart","reTrimEnd","reWrapComment","reWrapDetails","reSplitDetails","reEscapeChar","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","reIsUint","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsOptJoin","rsOrdLower","rsOrdUpper","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","contextProps","templateCounter","typedArrayTags","cloneableTags","deburredLetters","À","Á","Â","Ã","Ä","Å","à","á","â","ã","ä","å","Ç","ç","Ð","ð","È","É","Ê","Ë","è","é","ê","ë","Ì","Í","Î","Ï","ì","í","î","ï","Ñ","ñ","Ò","Ó","Ô","Õ","Ö","Ø","ò","ó","ô","õ","ö","ø","Ù","Ú","Û","Ü","ù","ú","û","ü","Ý","ý","ÿ","Æ","æ","Þ","þ","ß","Ā","Ă","Ą","ā","ă","ą","Ć","Ĉ","Ċ","Č","ć","ĉ","ċ","č","Ď","Đ","ď","đ","Ē","Ĕ","Ė","Ę","Ě","ē","ĕ","ė","ę","ě","Ĝ","Ğ","Ġ","Ģ","ĝ","ğ","ġ","ģ","Ĥ","Ħ","ĥ","ħ","Ĩ","Ī","Ĭ","Į","İ","ĩ","ī","ĭ","į","ı","Ĵ","ĵ","Ķ","ķ","ĸ","Ĺ","Ļ","Ľ","Ŀ","Ł","ĺ","ļ","ľ","ŀ","ł","Ń","Ņ","Ň","Ŋ","ń","ņ","ň","ŋ","Ō","Ŏ","Ő","ō","ŏ","ő","Ŕ","Ŗ","Ř","ŕ","ŗ","ř","Ś","Ŝ","Ş","Š","ś","ŝ","ş","š","Ţ","Ť","Ŧ","ţ","ť","ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","ũ","ū","ŭ","ů","ű","ų","Ŵ","ŵ","Ŷ","ŷ","Ÿ","Ź","Ż","Ž","ź","ż","ž","IJ","ij","Œ","œ","ʼn","ſ","htmlEscapes","&","<","\"","'","htmlUnescapes","&","<",">",""","'","\\","\n","\r","
","
","freeParseFloat","freeParseInt","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","require","binding","nodeIsArrayBuffer","isArrayBuffer","nodeIsDate","isDate","nodeIsMap","nodeIsRegExp","isRegExp","nodeIsSet","isSet","nodeIsTypedArray","isTypedArray","deburrLetter","escapeHtmlChar","unescapeHtmlChar","runInContext","lodash","isObjectLike","LazyWrapper","LodashWrapper","wrapperClone","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","lazyClone","copyArray","lazyReverse","lazyValue","isArr","isRight","arrLength","getView","iteratees","iterLength","takeCount","nativeMin","baseWrapperValue","outer","iterIndex","Hash","clear","entry","hashClear","__data__","nativeCreate","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArg","isArguments","isBuff","isBuffer","isType","skipIndexes","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","assignMergeValue","baseAssignValue","assignValue","objValue","baseAggregator","baseEach","baseAssign","copyObject","baseAssignIn","keysIn","baseAt","paths","skip","number","lower","upper","baseClone","bitmask","customizer","isDeep","isFlat","isFull","initCloneArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","copySymbols","initCloneByTag","stacked","subValue","keysFunc","getAllKeysIn","getAllKeys","baseConforms","baseConformsTo","baseDelay","baseDifference","includes","isCommon","valuesLength","valuesIndex","baseEvery","baseExtremum","isSymbol","baseFill","toInteger","toLength","baseFilter","baseFlatten","depth","isStrict","isFlattenable","baseForOwn","baseFor","baseForOwnRight","baseForRight","baseFunctions","baseGet","path","castPath","toKey","baseGetAllKeys","symbolsFunc","baseGetTag","symToStringTag","getRawTag","objectToString","baseGt","other","baseHas","baseHasIn","baseInRange","nativeMax","baseIntersection","arrays","othLength","othIndex","caches","maxLength","Infinity","seen","baseInverter","baseInvoke","baseIsArguments","baseIsArrayBuffer","baseIsDate","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMap","baseIsMatch","matchData","noCustomizer","srcValue","baseIsNative","isMasked","reIsNative","toSource","baseIsRegExp","baseIsSet","baseIsTypedArray","isLength","baseIteratee","identity","baseMatchesProperty","baseMatches","property","baseKeys","isPrototype","nativeKeys","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMap","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","baseMergeDeep","newValue","mergeFunc","isTyped","isArrayLikeObject","cloneTypedArray","toPlainObject","baseNth","baseOrderBy","orders","getIteratee","criteria","compareMultiple","basePick","basePickBy","baseSet","basePropertyDeep","basePullAll","basePullAt","indexes","previous","baseUnset","nativeFloor","nativeRandom","baseRange","nativeCeil","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","nested","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","low","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","symbolToString","baseUniq","createSet","seenIndex","baseUpdate","updater","baseWhile","isDrop","actions","action","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castSlice","buffer","allocUnsafe","cloneArrayBuffer","arrayBuffer","byteLength","Uint8Array","cloneDataView","dataView","byteOffset","cloneRegExp","regexp","cloneSymbol","symbol","symbolValueOf","typedArray","compareAscending","valIsDefined","valIsReflexive","objCriteria","othCriteria","ordersLength","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","isNew","getSymbols","getSymbolsIn","createAggregator","initializer","createAssigner","assigner","sources","guard","isIterateeCall","createBaseEach","iterable","createBaseFor","createBind","wrapper","Ctor","isBind","createCtor","createCaseFirst","trailing","createCompounder","words","deburr","thisBinding","baseCreate","createCurry","arity","getHolder","createRecurry","createHybrid","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","getData","isLaziable","plant","partialsRight","holdersRight","argPos","ary","holdersCount","newHolders","isBindKey","reorder","isFlip","isAry","createInverter","toIteratee","createMathOperation","createOver","arrayFunc","createPadding","chars","charsLength","createPartial","createRange","toFinite","createRelationalOperation","toNumber","wrapFunc","isCurry","newHoldersRight","newPartials","newPartialsRight","newData","setData","setWrapToString","createRound","precision","pair","createToPairs","createWrap","mergeData","baseSetData","customDefaultsAssignIn","objectProto","customDefaultsMerge","customOmitClone","isPartial","arrValue","othValue","compared","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","flatten","realNames","otherFunc","isKeyable","getNative","isOwn","unmasked","nativeObjectToString","transforms","getWrapDetails","hasPath","hasFunc","getPrototype","insertWrapDetails","details","spreadableSymbol","maskSrcKey","memoizeCapped","memoize","srcBitmask","newBitmask","isCombo","otherArgs","oldArray","reference","updateWrapDetails","shortOut","lastCalled","stamp","nativeNow","rand","funcToString","chunk","compact","drop","dropRight","dropRightWhile","dropWhile","fill","findIndex","findLastIndex","flattenDeep","flattenDepth","fromPairs","separator","nativeJoin","lastIndexOf","nth","pullAll","pullAllBy","pullAllWith","nativeReverse","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sortedUniq","sortedUniqBy","tail","take","takeRight","takeRightWhile","takeWhile","uniq","uniqBy","uniqWith","unzip","group","unzipWith","zipObject","zipObjectDeep","chain","interceptor","wrapperChain","wrapperCommit","wrapperNext","wrapperToIterator","wrapperPlant","wrapperReverse","wrapperValue","every","flatMap","flatMapDeep","flatMapDepth","forEachRight","baseEachRight","isString","orderBy","reduceRight","negate","sample","sampleSize","shuffle","curry","curryRight","debounce","invokeFunc","lastArgs","lastThis","lastInvokeTime","leadingEdge","timerExpired","leading","remainingWait","timeSinceLastCall","lastCallTime","timeSinceLastInvoke","timeWaiting","maxing","maxWait","shouldInvoke","trailingEdge","flush","debounced","isInvoking","flip","resolver","memoized","Cache","rest","throttle","unary","partial","castArray","cloneWith","cloneDeep","cloneDeepWith","conformsTo","isBoolean","isElement","isEmpty","isEqual","isEqualWith","nativeIsFinite","isInteger","isMatch","isMatchWith","isNumber","isNative","isMaskable","isNull","isNil","objectCtorString","isSafeInteger","isUndefined","isWeakMap","isWeakSet","symIterator","sign","valueOf","isBinary","toSafeInteger","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","functions","functionsIn","mapKeys","mapValues","omitBy","pickBy","setWith","isArrLike","unset","update","updateWith","valuesIn","clamp","inRange","floating","capitalize","upperFirst","endsWith","escape","escapeRegExp","pad","strLength","padEnd","padStart","radix","nativeParseInt","repeat","startsWith","template","templateSettings","assignInWith","isEscaping","isEvaluating","imports","importsKeys","importsValues","interpolate","reDelimiters","evaluate","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","variable","toLower","toUpper","trimEnd","trimStart","omission","search","substring","newEnd","unescape","cond","conforms","constant","defaultTo","matchesProperty","mixin","methodNames","oldDash","nthArg","propertyOf","stubArray","stubFalse","stubObject","stubString","stubTrue","times","toPath","uniqueId","idCounter","maxBy","mean","meanBy","min","minBy","sum","sumBy","defaults","pick","arrayProto","funcProto","coreJsData","IE_PROTO","Buffer","objectCreate","propertyIsEnumerable","isConcatSpreadable","toStringTag","ctxClearTimeout","ctxNow","ctxSetTimeout","ceil","floor","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","DataView","Set","WeakMap","metaMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","baseSetToString","castRest","ArrayBuffer","ctorString","quote","subString","difference","differenceBy","differenceWith","intersection","intersectionBy","intersectionWith","pull","pullAt","union","unionBy","unionWith","without","xor","xorBy","xorWith","zip","zipWith","wrapperAt","countBy","findLast","groupBy","invokeMap","keyBy","partition","sortBy","bindKey","overArgs","funcsLength","partialRight","rearg","gte","lte","assign","assignIn","assignWith","at","propsIndex","propsLength","defaultsDeep","mergeWith","invertBy","omit","toPairs","toPairsIn","word","kebabCase","lowerCase","lowerFirst","snakeCase","startCase","upperCase","bindAll","flow","flowRight","methodOf","over","overEvery","overSome","range","rangeRight","augend","addend","divide","dividend","divisor","multiply","multiplier","multiplicand","round","minuend","subtrahend","entriesIn","extendWith","eachRight","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","commit","g","MessageFormat","Compiler","mf","lc","locales","runtime","formatters","reserved","propname","jkey","funcname","bidiMarkText","locale","isLocaleRTL","rtlLanguages","mark","cases","plural","needOther","hasCustomPluralFuncs","tok","bidiSupport","strictNumberSign","intlSupport","fmt","plurals","pc","cardinal","ordinal","lcKey","messageformat-parser","reserved-words","getPluralFunc","noPluralKeyChecks","pluralCategories","pf","pluralFuncs","Runtime","defaultLocale","currency","date","day","month","year","weekday","toLocaleDateString","minute","hour","timeZoneName","toLocaleTimeString","addFormatters","disablePluralKeyChecks","setBiDiSupport","enable","setIntlSupport","setStrictNumberSign","setStrictNumber","messages","_stringify","k","compiler","rt","rtStr","objStr","./compiler","./runtime","make-plural/umd/pluralCategories","make-plural/umd/plurals","defaultNumber","strictNumber","lcfunc","isOrdinal","funcStr","fmtKeys","_isBuffer","pToString","isView","arrbuf","getName","functionsHaveNames","regex","something","rawname","getMessage","actual","expected","stackStartFunction","AssertionError","ok","_deepEqual","strict","memos","getTime","multiline","ignoreCase","Float32Array","Float64Array","actualIndex","objEquiv","actualVisitedObjects","aIsArgs","bIsArgs","pSlice","ka","objectKeys","kb","notDeepStrictEqual","expectedException","isPrototypeOf","_tryBlock","block","_throws","shouldThrow","userProvidedMessage","isUnwantedException","isUnexpectedException","generatedMessage","out","fn_name","next_line","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","strictEqual","notStrictEqual","doesNotThrow","ifError","util/","_cc","af","ak","am","ar","ars","as","asa","ast","az","be","bem","bez","bg","bh","bm","bn","bo","br","brx","bs","ca","ce","cgg","ckb","cs","cy","da","de","dsb","dv","dz","ee","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gsw","gu","guw","gv","ha","haw","he","hi","hr","hsb","hu","hy","ig","ii","in","io","iu","iw","ja","jbo","jgo","ji","jmc","jv","jw","kab","kaj","kcg","kde","kea","kk","kkj","kl","km","kn","ko","ks","ksb","ksh","ku","kw","ky","lag","lb","lg","lkt","ln","lo","lv","mas","mg","mgo","mk","ml","mn","mo","mr","mt","my","nah","naq","nb","nd","ne","nl","nn","nnh","no","nqo","nr","nso","ny","nyn","om","or","os","pa","pap","pl","prg","ps","pt","pt-PT","rm","ro","rof","ru","rwk","sah","saq","sd","sdh","se","seh","ses","sg","sh","shi","si","sk","sl","sma","smi","smj","smn","sms","sn","so","sq","sr","ss","ssy","st","sv","sw","syr","ta","te","teo","ti","tig","tk","tl","tn","ts","tzm","ug","uk","ur","uz","ve","vi","vo","vun","wa","wae","wo","xh","xog","yi","yo","yue","zh","zu","_cp","ord","v0","t0","n100","i10","i100","i1000","n10","n1000000","f10","f100","peg$subclass","ctor","peg$SyntaxError","found","peg$parse","peg$literalExpectation","peg$classExpectation","inverted","peg$endExpectation","peg$otherExpectation","description","peg$computePosDetails","peg$posDetailsCache","column","peg$computeLocation","startPos","endPos","startPosDetails","endPosDetails","peg$fail","peg$currPos","peg$maxFailPos","peg$maxFailExpected","peg$buildStructuredError","buildMessage","peg$parsestart","s0","s1","peg$parsetoken","peg$FAILED","s2","peg$parseargument","peg$parseselect","peg$parseplural","peg$parsefunction","peg$c0","peg$silentFails","peg$c1","peg$savedPos","peg$c2","peg$parsechar","peg$c3","s3","s4","s5","peg$c4","peg$c5","peg$parse_","peg$parseid","peg$c6","peg$c7","peg$c8","s6","s7","s8","s9","s10","s11","s12","s13","peg$c9","peg$c10","peg$c11","peg$c12","peg$parseselectCase","peg$c13","s14","peg$c14","peg$c15","peg$c16","peg$c17","peg$parseoffset","peg$parsepluralCase","peg$c18","peg$parsefunctionParams","peg$c19","peg$c20","peg$c21","peg$c22","peg$c23","peg$parseparamDefault","peg$parseparamcharsDefault","peg$parseparamStrict","peg$parseparamcharsStrict","peg$parsecaseTokens","peg$c24","peg$parsepluralKey","peg$c25","peg$c26","peg$c27","peg$c28","peg$c29","peg$parsedigits","peg$c30","peg$c31","peg$c32","peg$parsefunctionParamsDefault","peg$c33","peg$c34","peg$parsefunctionParamsStrict","peg$c35","peg$parsedoubleapos","peg$c36","peg$c37","peg$c38","peg$parseinapos","peg$c39","peg$c40","peg$parsequotedCurly","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","peg$c48","peg$parsequotedFunctionParams","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$parsehexDigit","peg$c65","peg$parseparamcharsCommon","peg$c66","peg$c67","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","peg$c74","peg$c75","peg$result","peg$startRuleFunctions","peg$startRuleFunction","ls","strictFunctionParams","h2","h3","h4","startRule","hex","ch","literalEscape","classEscape","describeExpectation","expectation","DESCRIBE_EXPECTATION_FNS","describeExpected","descriptions","describeFound","literal","escapedParts","SyntaxError","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","Item","browser","argv","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","cwd","chdir","umask","./reserved-words","_hash","res","keyword","DIALECTS","es3","es2015","es7","es6","default","KEYWORDS","dialect","superCtor","super_","TempCtor","readUInt8","stylize","stylizeNoColor","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","arrayToHash","recurseTimes","primitive","formatPrimitive","visibleKeys","formatError","braces","toUTCString","output","formatArray","formatProperty","reduceToSingleString","numLinesEst","isNullOrUndefined","re","timestamp","getHours","getMinutes","getSeconds","getDate","months","getMonth","formatRegExp","format","objects","deprecate","warned","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","debuglog","NODE_DEBUG","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","boolean","null","origin","./support/isBuffer","_process","minErr","ErrorConstructor","paramPrefix","SKIP_INDEXES","templateArgs","shiftedIndex","toDebugString","jqLite","isBlankObject","forEachSorted","reverseParams","iteratorFn","nextUid","setHashKey","h","$$hashKey","baseExtend","objs","jj","toInt","inherit","valueFn","hasCustomToString","isDefined","isScope","$evalAsync","$watch","isFile","isFormData","isBlob","isPromiseLike","TYPED_ARRAY_REGEXP","makeMap","items","nodeName_","element","lowercase","arrayRemove","destination","copyRecurse","copyElement","stackSource","stackDest","ngMinErr","needsRecurse","copyType","copied","shallowCopy","equals","o1","keySet","t1","t2","createMap","array1","array2","sliceArgs","startIndex","curryArgs","toJsonReplacer","toJson","pretty","fromJson","timezoneToOffset","timezone","fallback","ALL_COLONS","requestedTimezoneOffset","addDateMinutes","minutes","setMinutes","convertTimezoneToLocal","dateTimezoneOffset","getTimezoneOffset","timezoneOffset","startingTag","elemHtml","NODE_TYPE_TEXT","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","splitPoint","toKeyValue","arrayValue","encodeUriQuery","encodeUriSegment","pctEncodeSpaces","getNgAttribute","ngAttr","ngAttrPrefixes","angularInit","bootstrap","appElement","hasAttribute","candidate","querySelector","strictDi","modules","defaultConfig","doBootstrap","injector","$provide","debugInfoEnabled","$compileProvider","createInjector","scope","$apply","NG_ENABLE_DEBUG_INFO","NG_DEFER_BOOTSTRAP","angular","resumeBootstrap","extraModules","resumeDeferredBootstrap","reloadWithDebugInfo","reload","getTestability","rootElement","snake_case","SNAKE_CASE_REGEXP","bindJQuery","originalCleanData","bindJQueryFired","jqName","jq","JQLitePrototype","isolateScope","controller","inheritedData","$destroy","JQLite","assertArg","assertArgFn","acceptArrayAnnotation","assertNotHasOwnProperty","bindFnToScope","lastInstance","getBlockNodes","blockNodes","endNode","setupModuleLoader","ensure","$injectorMinErr","$$minErr","requires","configFn","provider","insertMethod","invokeQueue","moduleInstance","invokeLaterAndSetModuleName","recipeName","factoryFunction","$$moduleName","configBlocks","runBlocks","_invokeQueue","_configBlocks","_runBlocks","service","decorator","directive","component","serializeObject","publishExternalAPI","uppercase","callbacks","counter","$$csp","csp","angularModule","$$sanitizeUri","$$SanitizeUriProvider","$CompileProvider","htmlAnchorDirective","inputDirective","textarea","form","formDirective","scriptDirective","selectDirective","styleDirective","optionDirective","ngBind","ngBindDirective","ngBindHtml","ngBindHtmlDirective","ngBindTemplate","ngBindTemplateDirective","ngClass","ngClassDirective","ngClassEven","ngClassEvenDirective","ngClassOdd","ngClassOddDirective","ngCloak","ngCloakDirective","ngController","ngControllerDirective","ngForm","ngFormDirective","ngHide","ngHideDirective","ngIf","ngIfDirective","ngInclude","ngIncludeDirective","ngInit","ngInitDirective","ngNonBindable","ngNonBindableDirective","ngPluralize","ngPluralizeDirective","ngRepeat","ngRepeatDirective","ngShow","ngShowDirective","ngStyle","ngStyleDirective","ngSwitch","ngSwitchDirective","ngSwitchWhen","ngSwitchWhenDirective","ngSwitchDefault","ngSwitchDefaultDirective","ngOptions","ngOptionsDirective","ngTransclude","ngTranscludeDirective","ngModel","ngModelDirective","ngList","ngListDirective","ngChange","ngChangeDirective","patternDirective","ngPattern","required","requiredDirective","ngRequired","minlength","minlengthDirective","ngMinlength","maxlength","maxlengthDirective","ngMaxlength","ngValue","ngValueDirective","ngModelOptions","ngModelOptionsDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$anchorScroll","$AnchorScrollProvider","$animate","$AnimateProvider","$animateCss","$CoreAnimateCssProvider","$$animateJs","$$CoreAnimateJsProvider","$$animateQueue","$$CoreAnimateQueueProvider","$$AnimateRunner","$$AnimateRunnerFactoryProvider","$$animateAsyncRun","$$AnimateAsyncRunFactoryProvider","$browser","$BrowserProvider","$cacheFactory","$CacheFactoryProvider","$controller","$ControllerProvider","$document","$DocumentProvider","$exceptionHandler","$ExceptionHandlerProvider","$filter","$FilterProvider","$$forceReflow","$$ForceReflowProvider","$interpolate","$InterpolateProvider","$interval","$IntervalProvider","$http","$HttpProvider","$httpParamSerializer","$HttpParamSerializerProvider","$httpParamSerializerJQLike","$HttpParamSerializerJQLikeProvider","$httpBackend","$HttpBackendProvider","$xhrFactory","$xhrFactoryProvider","$location","$LocationProvider","$log","$LogProvider","$parse","$ParseProvider","$rootScope","$RootScopeProvider","$q","$QProvider","$$q","$$QProvider","$sce","$SceProvider","$sceDelegate","$SceDelegateProvider","$sniffer","$SnifferProvider","$templateCache","$TemplateCacheProvider","$templateRequest","$TemplateRequestProvider","$$testability","$$TestabilityProvider","$timeout","$TimeoutProvider","$window","$WindowProvider","$$rAF","$$RAFProvider","$$jqLite","$$jqLiteProvider","$$HashMap","$$HashMapProvider","$$cookieReader","$$CookieReaderProvider","jqNextId","jqId","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","jqLiteIsTextNode","HTML_REGEXP","jqLiteAcceptsData","NODE_TYPE_ELEMENT","NODE_TYPE_DOCUMENT","jqLiteHasData","jqCache","ng339","jqLiteCleanData","jqLiteRemoveData","jqLiteBuildFragment","TAG_NAME_REGEXP","XHTML_TAG_REGEXP","jqLiteParseHTML","SINGLE_TAG_REGEXP","jqLiteWrapNode","argIsString","jqLiteMinErr","jqLiteAddNodes","jqLiteClone","jqLiteDealoc","onlyDescendants","descendants","jqLiteOff","unsupported","expandoStore","jqLiteExpandoStore","removeHandler","listenerFns","removeEventListenerFn","MOUSE_EVENT_MAP","expandoId","createIfNecessary","jqLiteData","isSimpleSetter","isSimpleGetter","massGetter","jqLiteHasClass","jqLiteRemoveClass","cssClasses","cssClass","jqLiteAddClass","existingClasses","jqLiteController","jqLiteInheritedData","NODE_TYPE_DOCUMENT_FRAGMENT","jqLiteEmpty","jqLiteRemove","jqLiteDocumentLoaded","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","getAliasedAttrName","ALIASED_ATTR","createEventHandler","eventHandler","eventFns","eventFnsLength","immediatePropagationStopped","originalStopImmediatePropagation","handlerWrapper","specialHandlerWrapper","defaultHandlerWrapper","specialMouseHandlerWrapper","jqLiteContains","$get","hashKey","nextUidFn","objType","HashMap","isolatedUid","put","extractArgs","fnText","STRIP_COMMENTS","ARROW_ARG","FN_ARGS","anonFn","annotate","$inject","argDecl","FN_ARG_SPLIT","FN_ARG","underscore","modulesToLoad","supportObject","provider_","providerInjector","instantiate","providerCache","providerSuffix","enforceReturnValue","instanceInjector","factoryFn","enforce","$injector","instanceCache","serviceName","decorFn","origProvider","orig$get","origInstance","$delegate","loadModules","moduleFn","runInvokeQueue","invokeArgs","loadedModules","createInternalInjector","getService","INSTANTIATING","injectionArgs","locals","$$annotate","msie","Type","protoInstanceInjector","autoScrollingEnabled","disableAutoScrolling","getFirstAnchor","getYOffset","scroll","yOffset","bottom","scrollIntoView","elemTop","scrollBy","elm","newVal","oldVal","mergeClasses","extractElementNode","ELEMENT_NODE","splitClasses","klass","prepareAnimateOptions","Browser","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","getHash","cacheStateAndFireUrlChange","pendingLocation","cacheState","fireUrlChange","cachedState","getCurrentState","lastCachedState","lastBrowserUrl","lastHistoryState","urlChangeListeners","listener","history","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","baseElement","sameState","sameBase","stripHash","urlChangeInit","onUrlChange","$$applicationDestroyed","$$checkUrlChange","baseHref","timeoutId","deferId","cacheFactory","cacheId","refresh","freshEnd","staleEnd","link","nextEntry","prevEntry","stats","MAX_VALUE","lruHash","lruEntry","removeAll","destroy","UNINITIALIZED_VALUE","$$sanitizeUriProvider","parseIsolateBindings","directiveName","isController","LOCAL_REGEXP","bindings","definition","scopeName","bindingCache","$compileMinErr","mode","optional","attrName","parseDirectiveBindings","bindToController","controllerAs","identifierForController","assertValidDirectiveName","hasDirectives","Suffix","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","ALL_OR_NOTHING_ATTRS","REQUIRE_PREFIX_REGEXP","EVENT_HANDLER_ATTR_REGEXP","registerDirective","directiveFactory","directives","priority","restrict","makeInjectable","tElement","tAttrs","$element","$attrs","templateUrl","ddo","transclude","aHrefSanitizationWhitelist","imgSrcSanitizationWhitelist","TTL","onChangesTtl","flushOnChangesQueue","onChangesQueue","Attributes","attributesToCopy","$attr","$$element","setSpecialAttr","specialAttrHolder","attribute","removeNamedItem","setNamedItem","safeAddClass","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","NOT_EMPTY","domNode","compositeLinkFn","compileNodes","$$addScopeClass","cloneConnectFn","needsNewScope","$parent","$new","parentBoundTranscludeFn","transcludeControllers","futureParentElement","$$boundTransclude","detectNamespaceForChildElements","$linkNode","wrapTemplate","controllerName","instance","$$addScopeInfo","parentElement","nodeList","$rootElement","nodeLinkFn","childLinkFn","childScope","childBoundTranscludeFn","stableNodeList","nodeLinkFnFound","nodeListLength","linkFns","transcludeOnThisElement","createBoundTranscludeFn","templateOnThisElement","linkFnFound","collectDirectives","applyDirectivesToNode","terminal","previousBoundTranscludeFn","boundTranscludeFn","transcludedScope","cloneFn","controllers","containingScope","$$transcluded","boundSlots","$$slots","slotName","attrsMap","addDirective","directiveNormalize","nName","ngAttrName","isNgAttr","nAttrs","attrStartName","attrEndName","NG_ATTR_BINDING","PREFIX_REGEXP","multiElementMatch","MULTI_ELEMENT_DIR_RE","directiveIsMultiElement","addAttrInterpolateDirective","animVal","addTextInterpolateDirective","NODE_TYPE_COMMENT","byPriority","groupScan","attrStart","attrEnd","groupElementsLinkFnWrapper","linkFn","compilationGenerator","eager","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","linkNode","controllersBoundTransclude","cloneAttachFn","hasElementTranscludeDirective","elementControllers","scopeToChild","slotTranscludeFn","controllerScope","scopeBindingInfo","newScopeDirective","isSlotFilled","controllerDirectives","setupControllers","templateDirective","$$originalDirective","$$isolateBindings","initializeDirectiveBindings","removeWatches","$on","controllerDirective","$$bindings","bindingInfo","controllerResult","getControllers","controllerInstance","$onChanges","initialChanges","$onInit","$onDestroy","invokeLinkFn","$postLink","$template","directiveValue","terminalPriority","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","replaceDirective","childTranscludeFn","didScanForMultipleTransclusion","mightHaveMultipleTransclusionError","$$start","$$end","assertNoDuplicate","$$tlb","candidateDirective","scanningIndex","$$createComment","$$parentNode","slots","slotMap","filledSlots","elementSelector","filled","$$newScope","denormalizeTemplate","removeComments","templateNamespace","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectiveScope","mergeTemplateAttributes","compileTemplateUrl","inheritType","dataName","controllerKey","$scope","$transclude","newScope","tDirectives","startAttrName","endAttrName","multiElement","srcAttr","dstAttr","$set","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","linkQueue","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","$$destroyed","oldClasses","ignoreChildLinkFn","previousDirective","wrapModuleNameIfDefined","moduleName","interpolateFn","templateNode","templateNodeParent","hasCompileParent","$$addBindingClass","$$addBindingInfo","expressions","getTrustedContext","attrNormalizedName","RESOURCE_URL","allOrNothing","trustedContext","$$observers","$$inter","$$scope","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","annotation","recordChanges","previousValue","$$postDigest","changes","triggerOnChangesHook","SimpleChange","removeWatchCollection","lastValue","parentGet","parentSet","removeWatch","$observe","_UNINITIALIZED_VALUE","parentValueWatch","parentValue","$stateful","$watchCollection","SIMPLE_ATTR_NAME","$normalize","$addClass","classVal","$removeClass","newClasses","toAdd","tokenDifference","toRemove","writeAttr","booleanKey","aliasedKey","observer","trimmedSrcset","srcPattern","rawUris","nbrUrisWith2parts","innerIdx","lastTuple","startSymbol","endSymbol","isolated","noTemplate","comment","str1","str2","tokens1","tokens2","jqNodes","ident","CNTRL_REG","globals","allowGlobals","addIdentifier","expression","later","$controllerMinErr","controllerPrototype","exception","serializeValue","toISOString","toSerialize","topLevel","defaultHttpResponseTransform","tempData","JSON_PROTECTION_PREFIX","APPLICATION_JSON","isJsonLike","jsonStart","JSON_START","JSON_ENDS","parseHeaders","fillInParsed","headerVal","headerKey","headersGetter","headersObj","transformData","transformResponse","transformRequest","common","Accept","CONTENT_TYPE_APPLICATION_JSON","patch","xsrfCookieName","xsrfHeaderName","paramSerializer","useApplyAsync","useLegacyPromise","useLegacyPromiseExtensions","interceptorFactories","interceptors","requestConfig","resp","executeHeaderFns","headerContent","processedHeaders","headerFn","mergeHeaders","defHeaderName","lowercaseDefHeaderName","reqHeaderName","defHeaders","reqHeaders","defaultHeadersIteration","serverRequest","reqData","withCredentials","sendReq","reversedInterceptors","request","requestError","responseError","thenFn","rejectFn","$httpMinErrLegacyFn","createShortMethods","createShortMethodsWithData","createApplyHandlers","eventHandlers","applyHandlers","callEventHandler","$applyAsync","$$phase","headersString","resolveHttpPromise","resolvePromise","resolvePromiseWithResult","removePendingReq","pendingRequests","cachedResp","buildUrl","defaultCache","xsrfValue","urlIsSameOrigin","uploadEventHandlers","serializedParams","interceptorFactory","createHttpBackend","createXhr","$browserDefer","rawDocument","jsonpReq","callbackId","addEventListenerFn","timeoutRequest","jsonpDone","completeRequest","urlResolve","upload","unescapeText","escapedStartRegexp","escapedEndRegexp","constantWatchDelegate","objectEquality","constantInterp","unwatch","mustHaveExpression","parseStringifyInterceptor","$interpolateMinErr","interr","unescapedText","exp","$$watchDelegate","endIndex","parseFns","textLength","expressionPositions","startSymbolLength","endSymbolLength","throwNoconcat","compute","getTrusted","$watchGroup","oldValues","currValue","invokeApply","hasParams","iteration","skipApply","$$intervalId","intervals","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","relativeUrl","prefixed","$$path","pathname","$$search","$$hash","beginsWith","begin","whole","trimEmptyHash","stripFile","serverBase","LocationHtml5Url","appBase","appBaseNoFile","basePrefix","$$html5","$$parse","pathUrl","$locationMinErr","$$compose","$$url","$$absUrl","$$parseLinkUrl","relHref","appUrl","prevAppUrl","rewrittenUrl","LocationHashbangUrl","hashPrefix","removeWindowsDriveName","firstPathSegmentMatch","windowsFilePathExp","withoutHashUrl","withoutBaseUrl","LocationHashbangInHtml5Url","locationGetter","locationGetterSetter","preprocess","html5Mode","requireBase","rewriteLinks","setBrowserUrlWithFallback","oldUrl","oldState","$$state","afterLocationChange","$broadcast","absUrl","LocationMode","initialUrl","IGNORE_URI_REGEXP","ctrlKey","metaKey","shiftKey","absHref","initializing","newUrl","newState","$digest","currentReplace","$$replace","urlOrStateChanged","debugEnabled","consoleLog","logFn","hasApply","arg1","arg2","ensureSafeMemberName","fullExpression","$parseMinErr","getStringValue","ensureSafeObject","ensureSafeFunction","CALL","BIND","ensureSafeAssignContext","ifDefined","plusFn","isStateless","filterName","findConstantAndWatchExpressions","allConstants","argsToWatch","AST","Program","Literal","toWatch","UnaryExpression","BinaryExpression","right","LogicalExpression","ConditionalExpression","alternate","consequent","Identifier","MemberExpression","CallExpression","callee","AssignmentExpression","ArrayExpression","ObjectExpression","ThisExpression","LocalsExpression","getInputs","lastExpression","isAssignable","assignableAST","NGValueParameter","isLiteral","isConstant","ASTCompiler","astBuilder","ASTInterpreter","isPossiblyDangerousMemberName","getValueOf","objectValueOf","identStart","identContinue","cacheDefault","cacheExpensive","literals","true","false","addLiteral","literalName","literalValue","setIdentifierFns","identifierStart","identifierContinue","interceptorFn","expensiveChecks","parsedExpression","oneTime","cacheKey","runningChecksEnabled","parseOptions","$parseOptionsExpensive","$parseOptions","lexer","Lexer","parser","Parser","oneTimeLiteralWatchDelegate","oneTimeWatchDelegate","inputs","inputsWatchDelegate","expensiveChecksInterceptor","addInterceptor","expensiveCheckFn","expensiveCheckOldValue","expressionInputDirtyCheck","oldValueOfValue","prettyPrintExpression","lastResult","inputExpressions","oldInputValueOf","newInputValue","oldInputValueOfValues","oldInputValues","changed","isAllDefined","allDefined","watchDelegate","useInputs","regularWatch","noUnsafeEval","isIdentifierStart","isIdentifierContinue","$$runningExpensiveChecks","qFactory","exceptionHandler","simpleBind","processQueue","processScheduled","scheduleProcessQueue","$qMinErr","onFulfilled","onRejected","progressBack","catch","finally","handleCallback","$$reject","$$resolve","that","rejectPromise","makePromise","resolved","callbackOutput","errback","$Q","resolveFn","requestAnimationFrame","webkitRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","supported","createChildScopeClass","ChildScope","$$watchers","$$nextSibling","$$childHead","$$childTail","$$listeners","$$listenerCount","$$watchersCount","$id","$$ChildScope","$rootScopeMinErr","lastDirtyWatch","applyAsyncId","digestTtl","destroyChildScope","$event","currentScope","cleanUpScope","$$prevSibling","$root","Scope","beginPhase","phase","clearPhase","incrementWatchersCount","decrementListenerCount","initWatchVal","flushApplyAsync","applyAsyncQueue","scheduleApplyAsync","isolate","watchExp","watcher","watchExpressions","watchGroupAction","changeReactionScheduled","firstRun","newValues","deregisterFns","shouldCall","unwatchFn","$watchCollectionInterceptor","newLength","bothNaN","newItem","oldItem","internalArray","oldLength","changeDetected","internalObject","$watchCollectionAction","initRun","veryOldValue","trackVeryOldValue","changeDetector","watch","watchers","dirty","logIdx","asyncTask","ttl","watchLog","asyncQueue","$eval","traverseScopesLoop","postDigestQueue","eventName","$applyAsyncExpression","namedListeners","indexOfListener","$emit","targetScope","listenerArgs","$$asyncQueue","$$postDigestQueue","$$applyAsyncQueue","uri","isImage","normalizedVal","adjustMatcher","$sceMinErr","escapeForRegexp","adjustMatchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","matchUrl","isResourceUrlAllowedByPolicy","allowed","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","trustAs","Constructor","byType","maybeTrusted","trustedValueHolderBase","htmlSanitizer","CSS","URL","JS","sce","isEnabled","parseAs","enumValue","lName","vendorPrefix","eventSupport","isChromePackagedApp","app","hasHistoryPushState","pushState","android","userAgent","boxee","vendorRegex","bodyStyle","transitions","animations","webkitTransition","webkitAnimation","hasEvent","divElm","httpOptions","handleRequestFn","tpl","ignoreRequestError","handleError","$templateRequestMinErr","totalPendingRequests","getTrustedResourceUrl","transformer","testability","findBindings","opt_exactMatch","dataBinding","bindingName","findModels","prefixes","attributeEquals","getLocation","setLocation","whenStable","deferreds","$$timeoutId","urlParsingNode","requestUrl","originUrl","$$CookieReader","safeDecodeURIComponent","lastCookies","lastCookieString","cookieArray","cookie","currentCookieString","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","predicateFn","matchAgainstAnyProp","expressionType","getTypeForFilter","createPredicateFn","shouldMatchPrimitives","deepCompare","dontMatchWholeObject","actualType","expectedType","expectedVal","matchAnyProperty","actualVal","$locale","formats","NUMBER_FORMATS","amount","currencySymbol","fractionSize","CURRENCY_SYM","PATTERNS","maxFrac","formatNumber","GROUP_SEP","DECIMAL_SEP","numStr","digits","numberOfIntegerDigits","zeros","exponent","ZERO_CHAR","MAX_DIGITS","roundNumber","parsedNumber","minFrac","fractionLen","roundAt","digit","carry","groupSep","decimalSep","isInfinity","isZero","abs","formattedText","integerLen","decimals","lgSize","gSize","negPre","negSuf","posPre","posSuf","padNumber","negWrap","neg","dateGetter","dateStrGetter","shortForm","standAlone","propPrefix","timeZoneGetter","zone","paddedZone","getFirstThursdayOfYear","dayOfWeekOnFirst","getDay","getThursdayThisWeek","datetime","getFullYear","weekGetter","firstThurs","thisThurs","ampmGetter","AMPMS","eraGetter","ERAS","longEraGetter","ERANAMES","jsonStringToDate","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","DATETIME_FORMATS","NUMBER_STRING","DATE_FORMATS_SPLIT","DATE_FORMATS","spacing","processPredicates","sortPredicate","reverseOrder","descending","objectValue","getPredicateValue","v1","v2","getComparisonObject","predicateValues","predicates","doComparison","compareValues","ngDirective","nullFormRenameControl","control","$name","FormController","controls","$error","$$success","$pending","$dirty","$pristine","$valid","$invalid","$submitted","$$parentForm","nullFormCtrl","$rollbackViewValue","$commitViewValue","$addControl","$$renameControl","newName","oldName","$removeControl","$setValidity","addSetValidityMethod","ctrl","$setDirty","PRISTINE_CLASS","DIRTY_CLASS","$setPristine","setClass","SUBMITTED_CLASS","$setUntouched","$setSubmitted","stringBasedInputType","$formatters","$isEmpty","textInputType","baseInputType","composing","ev","ngTrim","$viewValue","$$hasNativeValidators","$setViewValue","deferListener","origValue","PARTIAL_VALIDATION_TYPES","PARTIAL_VALIDATION_EVENTS","validity","VALIDITY_STATE_PROPERTY","origBadInput","badInput","origTypeMismatch","typeMismatch","$render","weekParser","isoWeek","existingDate","WEEK_REGEXP","week","hours","seconds","milliseconds","addDays","getMilliseconds","NaN","createDateParser","mapping","iso","ISO_DATE_REGEXP","yyyy","MM","dd","HH","mm","sss","part","createDateInputType","parseDate","isValidDate","parseObservedDateValue","badInputChecker","previousDate","$options","$$parserName","$parsers","parsedDate","ngModelMinErr","ngMin","minVal","$validators","$validate","ngMax","maxVal","nativeValidation","numberInputType","NUMBER_REGEXP","urlInputType","modelValue","viewValue","URL_REGEXP","emailInputType","email","EMAIL_REGEXP","radioInputType","parseConstantExpr","parseFn","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","classDirective","arrayDifference","arrayClasses","addClasses","digestClassCounts","removeClasses","classCounts","classesToUpdate","updateClasses","ngClassWatchAction","$index","old$index","mod","setValidity","validationErrorKey","createAndSet","unsetAndCleanup","cachedToggleClass","PENDING_CLASS","toggleValidationCss","isObjectEmpty","combinedState","switchValue","isValid","VALID_CLASS","INVALID_CLASS","chromeHack","optionElement","REGEX_STRING_REGEXP","manualLowercase","manualUppercase","documentMode","rules","ngCspElement","ngCspAttribute","noInlineStyle","name_","NODE_TYPE_ATTRIBUTE","full","major","minor","dot","codeName","Node","lowercasedName","getNamedItem","$dv","multiple","nodeCount","addHandler","noEventListener","onFn","replaceNode","wrapNode","newElement","condition","classCondition","nextElementSibling","extraParameters","dummyEvent","eventFnsCopy","handlerArgs","arg3","$animateMinErr","NG_ANIMATE_CLASSNAME","postDigestElements","updateData","handleCSSClassChanges","existing","addRemoveClassesPostDigest","classesAdded","classesRemoved","pin","domOperation","runner","$$registeredAnimations","classNameFilter","$$classNameFilter","reservedRegex","domInsert","afterElement","afterNode","previousElementSibling","enter","move","leave","addclass","tempClasses","waitForTick","waitQueue","passed","AnimateRunner","setHost","rafTick","timeoutTick","_doneCallbacks","_tick","_state","INITIAL_STATE","DONE_PENDING_STATE","DONE_COMPLETE_STATE","runners","onProgress","getPromise","resolveHandler","rejectHandler","pause","resume","initialOptions","applyAnimationContents","closed","$$prepared","cleanupStyles","isFirstChange","Content-Type","[","{","$httpMinErr","PATH_MATCH","http","https","ftp","locationPrototype","paramValue","Location","OPERATORS","ESCAPE","lex","readString","peek","readNumber","peekMultichar","readIdent","isWhitespace","ch2","ch3","op1","op2","op3","throwError","codePointAt","isValidIdentifierStart","isValidIdentifierContinue","cp","cp1","cp2","isExpOperator","colStr","peekCh","rawString","rep","ExpressionStatement","Property","program","expressionStatement","expect","filterChain","assignment","ternary","logicalOR","consume","logicalAND","equality","relational","additive","multiplicative","primary","arrayDeclaration","selfReferential","parseArguments","baseExpression","peekToken","kind","e1","e2","e3","e4","peekAhead","$locals","nextId","vars","own","assignable","stage","computing","recurse","return_","generateFunction","fnKey","intoId","watchId","fnString","USE","STRICT","filterPrefix","watchFns","varsPrefix","section","nameId","recursionFn","skipWatchIdCheck","if_","lazyAssign","computedMember","lazyRecurse","plus","getHasOwnProperty","nonComputedMember","addEnsureSafeObject","notNull","addEnsureSafeAssignContext","addEnsureSafeMemberName","addEnsureSafeFunction","member","SAFE_IDENTIFIER","UNSAFE_CHARACTERS","stringEscapeFn","stringEscapeRegex","rhs","lhs","unary+","unary-","unary!","binary+","binary-","binary*","binary/","binary%","binary===","binary!==","binary==","binary!=","binary<","binary>","binary<=","binary>=","binary&&","binary||","ternary?:","astCompiler","yy","MMMM","MMM","M","LLLL","H","hh","EEEE","EEE","Z","ww","G","GG","GGG","GGGG","xlinkHref","defaultLinkFn","normalized","htmlAttr","formDirectiveFactory","isNgForm","getSetter","formElement","nameAttr","ctrls","handleFormSubmission","parentFormCtrl","DATE_REGEXP","DATETIMELOCAL_REGEXP","MONTH_REGEXP","TIME_REGEXP","inputType","datetime-local","CONSTANT_VALUE_REGEXP","tplAttr","$compile","templateElement","ngBindHtmlGetter","ngBindHtmlWatch","getTrustedHtml","$viewChangeListeners","forceAsyncEvents","previousElements","srcExp","onloadExp","autoScrollExp","autoscroll","previousElement","currentElement","changeCounter","cleanupLastIncludeContent","afterAnimation","thisChangeId","trimValues","UNTOUCHED_CLASS","TOUCHED_CLASS","EMPTY_CLASS","NOT_EMPTY_CLASS","NgModelController","$modelValue","$$rawModelValue","$asyncValidators","$untouched","$touched","parserValid","parsedNgModel","parsedNgModelAssign","ngModelGet","ngModelSet","pendingDebounce","$$setOptions","getterSetter","invokeModelGetter","invokeModelSetter","$$$p","$$updateEmptyClasses","currentValidationRunId","$setTouched","$$lastCommittedViewValue","prevValid","prevModelValue","allowInvalid","$$runValidators","allValid","$$writeModelToScope","doneCallback","processParseErrors","errorKey","processSyncValidators","syncValidatorsValid","validator","processAsyncValidators","validatorPromises","validationDone","localValidationRunId","$$parseAndValidate","writeToModelIfNeeded","updateOnDefault","$$debounceViewValueCommit","debounceDelay","modelCtrl","formCtrl","updateOn","DEFAULT_REGEXP","ngOptionsMinErr","NG_OPTIONS_REGEXP","parseOptionsExpression","optionsExp","selectElement","Option","selectValue","label","getOptionValuesKeys","optionValues","optionValuesKeys","keyName","itemKey","valueName","selectAs","trackBy","selectAsFn","viewValueFn","trackByFn","getTrackByValueFn","getTrackByValue","getLocals","displayFn","groupByFn","disableWhenFn","valuesFn","getWatchables","watchedArray","optionValuesLength","disableWhen","getOptions","optionItems","selectValueMap","optionItem","getOptionFromViewValue","getViewValueFromOption","ngOptionsPostLink","addOptionElement","optionTemplate","updateOptionElement","updateOptions","selectCtrl","readValue","groupElementMap","providedEmptyOption","emptyOption","groupElement","optGroupTemplate","listFragment","ngModelCtrl","nextValue","isNotPrimitive","unknownOption","renderEmptyOption","removeEmptyOption","renderUnknownOption","removeUnknownOption","writeValue","selectedValues","selections","selectedOption","registerOption","BRACE","IS_WHEN","updateElementText","newText","lastCount","numberExp","whenExp","whens","whensExpFns","braceReplacement","watchRemover","attributeName","tmpMatch","whenKey","countIsNaN","pluralCat","whenExpFn","NG_REMOVED","ngRepeatMinErr","updateScope","valueIdentifier","keyIdentifier","arrayLength","$first","$last","$middle","$odd","$even","getBlockStart","getBlockEnd","ngRepeatEndComment","aliasAs","trackByExp","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","hashFnLocals","lastBlockMap","nextNode","collectionLength","trackById","trackByIdFn","collectionKeys","nextBlockOrder","previousNode","nextBlockMap","blockKey","NG_HIDE_CLASS","NG_HIDE_IN_PROGRESS_CLASS","newStyles","oldStyles","ngSwitchController","watchExpr","selectedTranscludes","selectedElements","previousLeaveAnimations","selectedScopes","spliceFactory","selectedTransclude","caseElement","selectedScope","anchor","ngTranscludeMinErr","ngTranscludeCloneAttachFn","ngTranscludeSlot","noopNgModelController","SelectController","optionsMap","unknownVal","hasOption","addOption","removeOption","optionScope","optionAttrs","interpolateValueFn","interpolateTextFn","selectPreLink","lastView","lastViewRef","selectPostLink","selectCtrlName","patternExp","intVal","getDecimals","getVF","opt_precision","pow","PLURAL_CATEGORY","ZERO","ONE","TWO","FEW","MANY","OTHER","DAY","FIRSTDAYOFWEEK","MONTH","SHORTDAY","SHORTMONTH","STANDALONEMONTH","WEEKENDRANGE","fullDate","longDate","medium","mediumDate","mediumTime","short","shortDate","shortTime","minInt","localeID","vf","$RouteProvider","pathRegExp","insensitive","caseInsensitiveMatch","originalPath","slash","star","routes","route","routeCopy","reloadOnSearch","redirectPath","redirectTo","otherwise","$routeParams","switchRouteMatcher","prepareRoute","$locationEvent","lastRoute","$route","preparedRoute","parseRoute","preparedRouteIsUpdateOnly","$$route","pathParams","forceReload","commitRoute","nextRoute","loadedTemplateUrl","segment","segmentMatch","fakeLocationEvent","updateParams","newParams","$routeMinErr","$RouteParamsProvider","ngViewFactory","cleanupLastView","previousLeaveAnimation","ngViewFillContentFactory","resolveAs","ngRouteModule","$SanitizeProvider","svgEnabled","validElements","svgElements","buf","htmlParser","htmlSanitizeWriter","enableSvg","sanitizeText","writer","toMap","lowercaseKeys","inertBodyElement","mXSSAttempts","$sanitizeMinErr","stripCustomNsAttrs","attrToMap","encodeEntities","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","uriValidator","ignoreCurrentElement","blockedElements","lkey","validAttrs","uriAttrs","voidElements","attrNode","removeAttributeNode","optionalEndTagBlockElements","optionalEndTagInlineElements","optionalEndTagElements","blockElements","inlineElements","htmlAttrs","svgAttrs","implementation","createHTMLDocument","docElement","getDocumentElement","bodyElements","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","linkyMinErr","addText","addLink","packageStyles","pendClasses","isPrefix","removeFromArray","stripCommentsFromElement","$$addClass","$$removeClass","applyAnimationClassesFactory","prepareAnimationOptions","$$domOperationFired","applyAnimationStyles","applyAnimationFromStyles","applyAnimationToStyles","mergeAnimationDetails","oldAnimation","newAnimation","newOptions","resolveElementClasses","preparationClasses","concatWithSpace","realDomOperation","splitClassesToLookup","ADD_CLASS","REMOVE_CLASS","allow","getDomNode","applyGeneratedPreparationClasses","EVENT_CLASS_PREFIX","ADD_CLASS_SUFFIX","REMOVE_CLASS_SUFFIX","clearGeneratedClasses","activeClasses","blockTransitions","applyInlineStyle","TRANSITION_DELAY_PROP","blockKeyframeAnimations","applyBlock","ANIMATION_PROP","ANIMATION_PLAYSTATE_KEY","styleTuple","getCssKeyframeDurationStyle","ANIMATION_DURATION_PROP","getCssDelayStyle","isKeyframeAnimation","ANIMATION_DELAY_PROP","computeCssStyles","detectedStyles","formalStyleName","actualStyleName","parseMaxTime","maxValue","truthyTimingValue","getCssTransitionDurationStyle","applyOnlyDuration","TRANSITION_PROP","DURATION_KEY","createLocalCacheLookup","total","registerRestorableStyles","backup","TRANSITIONEND_EVENT","ANIMATIONEND_EVENT","ACTIVE_CLASS_SUFFIX","PREPARE_CLASS_SUFFIX","NG_ANIMATE_CHILDREN_DATA","CSS_PREFIX","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","PROPERTY_KEY","DELAY_KEY","TIMING_KEY","ANIMATION_ITERATION_COUNT_KEY","SAFE_FAST_FORWARD_DURATION_VALUE","TRANSITION_DURATION_PROP","$$rAFSchedulerFactory","scheduler","tasks","cancelFn","waitUntilQuiet","$$AnimateChildrenDirective","ngAnimateChildren","ANIMATE_TIMER_KEY","ONE_SECOND","ELAPSED_TIME_MAX_DECIMAL_PLACES","CLOSING_TIME_BUFFER","DETECT_CSS_PROPERTIES","transitionDuration","transitionDelay","transitionProperty","animationDuration","animationDelay","DETECT_STAGGER_CSS_PROPERTIES","$AnimateCssProvider","$animateProvider","gcsLookup","gcsStaggerLookup","$$rAFScheduler","gcsHashFn","extraClasses","KEY","parentID","parentCounter","computeCachedCssStyles","timings","computeCachedCssStaggerStyles","stagger","staggerClassName","rafWaitQueue","pageWidth","computeTimings","aD","tD","maxDelay","maxDuration","applyAnimationClasses","endFn","animationClosed","animationCompleted","animationPaused","$$skipPreparationClasses","temporaryStyles","restoreStyles","setProperty","removeProperty","onDone","onAnimationProgress","animationTimerData","applyBlocking","blockTransition","blockKeyframeAnimation","closeAndReturnNoopAnimator","$$willAnimate","$manualTimeStamp","elapsedTime","toFixed","maxDelayTime","triggerAnimationStart","recalculateTimingStyles","fullClassName","relativeDelay","hasTransitions","hasAnimations","applyAnimationDelay","delayStyle","maxDurationTime","easeProp","easeVal","timerTime","endTime","animationsData","setupFallbackTimer","currentTimerData","expectedEndTime","onAnimationExpired","playPause","playAnimation","maxStagger","itemIndex","runnerHost","isStructural","structural","structuralClassName","addRemoveClassName","applyClassesEarly","hasToStyles","containsKeyframeAnimation","keyframeStyle","staggerVal","transitionStyle","durationStyle","staggerIndex","isFirst","skipBlocking","hasTransitionAll","applyTransitionDuration","applyAnimationDuration","applyTransitionDelay","$$AnimateCssDriverProvider","$$animationProvider","isDocumentFragment","drivers","NG_ANIMATE_SHIM_CLASS_NAME","NG_ANIMATE_ANCHOR_CLASS_NAME","NG_OUT_ANCHOR_CLASS_NAME","NG_IN_ANCHOR_CLASS_NAME","filterCssClasses","getUniqueValues","prepareAnchoredAnimation","outAnchor","inAnchor","calculateAnchorStyles","coords","bodyNode","prepareOutAnimation","animator","getClassVal","prepareInAnimation","endingClasses","startingClasses","rootBodyElement","animatorIn","animatorOut","startingAnimator","currentAnimation","prepareFromToAnchorAnimation","anchors","fromAnimation","prepareRegularAnimation","toAnimation","anchorAnimations","outElement","inElement","animationRunners","animationDetails","rootNode","$$AnimateJsProvider","lookupAnimations","flagMap","animationFactory","applyOptions","executeAnimationFn","classesToAdd","classesToRemove","groupEventedAnimations","fnName","operations","ani","endProgressCb","onAnimationComplete","cancelled","packageAnimations","animateFn","afterFn","beforeFn","onComplete","endAnimations","closeActiveAnimations","$$AnimateJsDriverProvider","prepareAnimation","endFnFactory","NG_ANIMATE_ATTR_NAME","NG_ANIMATE_PIN_DATA","$$AnimateQueueProvider","makeTruthyCssClassMap","ONE_SPACE","hasMatchingClasses","newClassString","currentClassString","currentClassMap","isAllowed","ruleType","previousAnimation","hasAnimationClasses","and","PRE_DIGEST_STATE","RUNNING_STATE","nA","nR","cA","cR","$$animation","postDigestTaskFactory","postDigestCalled","normalizeAnimationDetails","findCallbacks","targetNode","targetParentNode","callbackRegistry","filterFromRegistry","matchContainer","matchCallback","containerNode","cleanupEventListeners","queueAnimation","notifyProgress","runInNextPostDigestOrNow","isAnimatableClassName","documentHidden","skipAnimations","animationsEnabled","disabledElementsLookup","existingAnimation","activeAnimationsLookup","hasExistingAnimation","areAnimationsAllowed","closeChildAnimations","skipAnimationFlag","cancelAnimationFlag","joinAnimationFlag","isValidAnimation","clearElementAnimationState","markElementAnimationState","animationCancelled","realRunner","isMatchingElement","nodeOrElmA","nodeOrElmB","animateChildren","bodyElement","bodyElementDetected","rootElementDetected","parentAnimationDetected","elementDisabled","parentHost","parentElementDisabled","allowAnimation","deregisterWatch","eventType","argCount","hasElement","recordExists","$$AnimationProvider","setRunner","RUNNER_STORAGE_KEY","removeRunner","getRunner","NG_ANIMATE_REF_ATTR","sortAnimations","processNode","processed","elementNode","lookup","parentEntry","tree","remainingLevelEntries","nextLevelEntries","row","childEntry","animationQueue","getAnchorNodes","SELECTOR","groupAnimations","preparedAnimations","refLookup","enterOrMove","anchorNodes","direction","animationID","usedIndicesLookup","anchorGroups","indexKey","lookupKey","beforeStart","cssClassesIntersection","aa","invokeFirstDriver","driverName","driver","prepareClassName","updateAnimationRunners","newRunner","handleDestroyedElement","groupedAnimations","toBeSortedAnimations","animationEntry","startAnimationFn","closeFn","targetElement","operation","animationRunner","ngAnimateSwapDirective","previousScope","ngAnimateSwap","$AriaProvider","ariaAttr","nodeBlackList","ariaCamelName","isNodeOneOf","boolVal","ariaHidden","ariaChecked","ariaReadonly","ariaDisabled","ariaRequired","ariaInvalid","ariaValue","bindKeypress","bindRoleForClick","newConfig","$$watchExpr","ngAriaModule","nodeTypeArray","$aria","shouldAttachAttr","normalizedAttr","allowBlacklistEls","shouldAttachRole","role","getShape","shape","ngAriaWatchModelValue","getRadioReaction","getCheckboxReaction","needsTabIndex","needsAriaValuemin","needsAriaValuemax","needsAriaValuenow","ngMessages","ngClick","ngKeypress","runTranslate","$translate","storageKey","storage","fallbackFromIncorrectStorageValue","preferred","preferredLanguage","use","displayName","$translateSanitizationProvider","strategies","currentStrategy","hasConfiguredStrategy","hasShownNoStrategyConfiguredWarning","sanitize","htmlSanitizeValue","htmlEscapeValue","sanitizeParameters","mapInterpolationParameters","escapeParameters","addStrategy","strategyName","strategyFunction","removeStrategy","useStrategy","strategy","cachedStrategyMap","applyStrategies","selectedStrategies","selectedStrategy","showNoStrategyConfiguredWarning","propertyValue","propertyKey","$STORAGE_KEY","$windowProvider","pascalprechtTranslateOverrider","$preferredLanguage","$languageKeyAliases","$fallbackLanguage","$fallbackWasString","$uses","$nextLang","$storageFactory","$storagePrefix","$missingTranslationHandlerFactory","$interpolationFactory","$loaderFactory","$loaderOptions","$notFoundIndicatorLeft","$notFoundIndicatorRight","loaderCache","$translationTable","$availableLanguageKeys","$storageKey","$interpolatorFactories","$cloakClassName","$postCompilingEnabled","$forceAsyncReloadEnabled","$nestedObjectDelimeter","$isReady","directivePriority","statefulFilter","uniformLanguageTagResolver","languageTagResolver","java","bcp47","getFirstBrowserLanguage","getLocale","language","nav","browserLanguagePropertyKeys","languages","searchElement","negotiateLocale","avail","alias","langKeyAlias","hasWildcardKey","hasExactKey","translations","langKey","translationTable","flatObject","cloakClassName","nestedObjectDelimeter","delimiter","prevKey","keyWithPath","keyWithShortPath","addInterpolation","useMessageFormatInterpolation","useInterpolation","useSanitizeValueStrategy","setupPreferredLanguage","translationNotFoundIndicator","indicator","translationNotFoundIndicatorLeft","translationNotFoundIndicatorRight","fallbackLanguage","fallbackStack","useUrlLoader","useLoader","useStaticFilesLoader","loaderFactory","useLocalStorage","useStorage","useCookieStorage","storageFactory","storagePrefix","useMissingTranslationHandlerLog","useMissingTranslationHandler","usePostCompiling","forceAsyncReload","uniformLanguageTag","standard","determinePreferredLanguage","registerAvailableLanguageKeys","languageKeys","aliases","useLoaderCache","Storage","fallbackIndex","startFallbackIteration","defaultInterpolator","pendingLoader","interpolatorHashMap","langPromises","translationId","interpolateParams","interpolationId","defaultTranslationText","forceLanguage","uses","translateAll","translationIds","translate","regardless","promiseToWaitFor","determineTranslation","applyNotFoundIndicators","useLanguage","setLocale","eachInterpolator","interpolator","loadAsync","loaderOptions","onLoaderSuccess","table","onLoaderError","eachInterpolationFactory","interpolatorFactory","getInterpolationIdentifier","getTranslationTable","onResolve","getFallbackTranslation","Interpolator","translation","getFallbackTranslationInstant","translateByHandler","resultString","resolveForFallbackLanguage","fallbackLanguageIndex","resolveForFallbackLanguageInstant","fallbackTranslation","fallbackTranslationInstant","missingTranslationHandlerTranslation","_translationId","determineTranslationInstant","clearNextLangAndPromise","useFallbackLanguage","langKeyPosition","proposedLanguage","isPostCompilingEnabled","isForceAsyncReloadEnabled","oneTranslationsLoaded","tables","loadingKeys","allTranslationsLoaded","tableData","instant","possibleLangKeys","possibleLangKey","versionInfo","$onReadyDeferred","onReady","globalOnReadyListener","globalOnChangeListener","processAsyncResult","fallbackLanguageId","$translateDefaultInterpolation","$translateSanitization","$translateInterpolator","$identifier","interpolationParams","interpolatedText","translateDirective","tAttr","translateValuesExist","translateValues","translateInterpolation","translateValueExist","outerHTML","interpolateRegExp","watcherRegExp","iElement","iAttr","preText","postText","translateNamespace","getTranslateNamespace","initInterpolationParams","observeElementTranslation","_unwatchOld","iElementText","interpolateMatches","watcherMatches","updateTranslations","observeAttributeTranslation","translateAttr","firstAttributeChangedEvent","defaultText","observeValueAttribute","updateTranslation","translateLanguage","applyTranslation","successful","globallyEnabled","locallyDefined","translateCompile","locallyEnabled","translateDefault","translateCloakDirective","applyCloak","removeCloak","translateCloak","translateNamespaceDirective","iAttrs","translateLanguageDirective","newTranslateLanguage","translateFilterFactory","translateFilter","interpolation","$translationCache","$translatePartialLoader","Part","isActive","hasPart","isStringValid","isPartAvailable","deepExtend","getPrioritizedParts","prioritizedParts","parseUrl","urlTemplate","targetLang","getTable","$httpOptions","errorHandler","addPart","setPart","deletePart","loadFailureHandler","loaders","wasActive","isPartLoaded","getRegisteredParts","registeredParts","$translateStaticFilesLoader","files","mergedData","a0","$translateMessageFormatInterpolation","TRANSLATE_MF_INTERPOLATION_CACHE","$cache","$mf","moment","hookCallback","setHookCallback","hasOwnProp","createUTC","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","_isValid","parsedParts","isNowValid","_d","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","copyConfig","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","updateInProgress","updateOffset","isMoment","absFloor","argumentForCoercion","coercedNumber","compareArrays","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","firstTime","deprecationHandler","deprecateSimple","deprecations","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","_calendar","longDateFormat","_longDateFormat","formatUpper","invalidDate","_invalidDate","_ordinal","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","addUnitAlias","shorthand","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priorities","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","zerosToFill","addFormatToken","padded","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","addRegexToken","strictRegex","regexes","getParseRegexForToken","unescapeFormat","regexEscape","p1","p2","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","isLeapYear","getIsLeapYear","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","modMonth","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","getUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","globalLocale","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","updateLocale","tmpLocale","listLocales","checkOverflow","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","weekdayOverflow","W","E","createLocal","curWeek","gg","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","defaultLocaleMonthsShort","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","defaultLocaleWeekdaysShort","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","obsOffsets","hm","configFromRFC2822","parsedArray","configFromString","aspNetJsonRegex","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","moments","isDurationValid","ordering","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","absRound","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","matchShortOffset","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isUtcOffset","isUtc","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","isAdding","getCalendarFormat","myMoment","calendar$1","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","keepOffset","toDate","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","field","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","valueOf$1","makeAs","clone$1","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","withSuffix","toISOString$1","abs$1","Y","D","asSeconds","totalSign","ymSign","daysSign","hmsSign","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","defaultInvalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","defaultRelativeTime","future","past","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","parseTwoDigitYear","getSetYear","defaultLocaleMonths","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysMin","kInput","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","dayOfMonthOrdinalParse","meridiemParse","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","prototypeMin","prototypeMax","invalid","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","Checksley","ComposedField","Field","FieldMultiple","Form","checksley","formatMessage","validators","_checksley","__hasProp","__extends","__super__","excluded","validationMinlength","validateIfUnchanged","interceptSubmit","showErrors","errorClass","successClass","validatedClass","onlyOneErrorElement","containerClass","containerGlobalSearch","containerPreferenceSelector","containerErrorsSelector","classHandler","isRadioOrCheckbox","errorsWrapper","errorElem","onFieldValidate","onFormSubmit","onFieldError","constraints","onFieldSuccess","notnull","notblank","_len","regExp","regexpFlag","rangelength","arrayRange","equalto","mincheck","maxcheck","rangecheck","urlstrict","dateIso","alphanum","phone","_options","validate","Zepto","detectLang","updateDefaults","updateValidators","_validators","updateMessages","overwrite","injectPlugin","setLang","validatedOnce","resetConstraints","bindEvents","bindData","unbindData","eventValidate","unbindEvents","errorClassTarget","resetHtml5Constraints","typeRx","valid","constraint","_ref","_results","hasConstraints","applyValidators","removeErrors","manageError","handleClasses","classHandlerElement","addError","makeErrorElement","setErrors","constraintName","errorElement","getErrorContainer","errorContainerId","errorContainerClass","definedContainer","errorContainerEl","preferenceSelector","setForm","_super","isRadio","isCheckbox","getSiblings","getComponents","components","fields","initialize","initializeFields","composedField","fieldElm","_j","_len1","_ref1","fieldsByName","invalidFields","req","Pikaday","hasMoment","hasEventListeners","sto","addEvent","capture","detachEvent","cn","isWeekend","setToStartOfDay","compareDates","fireEvent","initEvent","createEventObject","adjustCalendar","bound","reposition","defaultDate","setDefaultDate","firstDay","formatStrict","minDate","maxDate","yearRange","showWeekNumber","pickWholeWeek","minYear","maxYear","minMonth","maxMonth","startRange","endRange","isRTL","yearSuffix","showMonthAfterYear","showDaysInNextAndPreviousMonths","enableSelectionDaysInNextAndPreviousMonths","numberOfMonths","mainCalendar","blurFieldOnSelect","i18n","previousMonth","nextMonth","theme","onSelect","onOpen","onClose","onDraw","keyboardInput","renderDayName","renderDay","ariaSelected","isDisabled","isToday","isSelected","isInRange","isStartRange","isEndRange","renderWeek","onejan","weekNum","renderRow","isRowSelected","renderBody","rows","renderHead","renderTitle","refYear","randId","monthHtml","yearHtml","_o","isMinYear","isMaxYear","renderTable","_onMouseDown","_v","srcElement","prevMonth","setDate","_c","_onChange","gotoMonth","gotoYear","_onKeyChange","isVisible","adjustDate","_onInputChange","firedBy","_onInputFocus","_onInputClick","_onInputBlur","pEl","_b","_onClick","onchange","defDate","gotoDate","disableWeekends","disableDayFn","nom","setMinDate","setMaxDate","toDateString","getMoment","setMoment","preventOnSelect","draw","newCalendar","calendars","firstVisibleDate","lastVisibleDate","visibleDate","adjustCalendars","newDay","gotoToday","setStartRange","setEndRange","force","_y","_m","render","adjustPosition","viewportWidth","viewportHeight","clientRect","innerWidth","clientWidth","innerHeight","clientHeight","offsetLeft","offsetTop","yearOfPreviousMonth","yearOfNextMonth","daysInPreviousMonth","cells","isWeekSelected","dayNumber","monthNumber","yearNumber","dayConfig","make","normalize","extract","lookupColors","aqua","azure","beige","brown","darkblue","darkcyan","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkviolet","fuchsia","gold","indigo","khaki","lightblue","lightcyan","lightgreen","lightgrey","lightpink","lightyellow","lime","maroon","navy","olive","orange","pink","purple","violet","silver","Canvas","cls","getContext","G_vmlCanvasManager","initElement","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","resize","textContainer","_textCache","Plot","data_","options_","plugins","executeHooks","hook","plot","initPlugins","xaxis","grid","yaxis","tickColor","borderColor","axisOptions","axisCount","fontSize","fontSizeDefault","fontDefaults","variant","weight","family","xaxes","font","yaxes","noTicks","ticks","x2axis","y2axis","coloredAreas","markings","coloredAreasColor","markingsColor","series","points","bars","shadowSize","highlightColor","getOrCreateAxis","processOptions","parseData","fillInSeriesOptions","axisNumber","coord","allAxes","canvasToAxisCoords","axis","used","c2p","x1","y1","axisToCanvasCoords","p2c","axes","neededColors","maxIndex","sc","colorPool","colorPoolSize","variation","colori","zero","updateAxis","datamin","fakeInfinity","datamax","topSentry","POSITIVE_INFINITY","bottomSentry","NEGATIVE_INFINITY","datapoints","processRawData","autoscale","horizontal","pointsize","insertSteps","steps","nullify","processDatapoints","xmin","ymin","xmax","ymax","delta","align","barWidth","setupCanvases","surface","overlay","octx","eventHolder","shutdown","hoverable","mousemove","onMouseMove","onMouseLeave","clickable","onClick","redrawTimeout","setTransformationHelpers","inverseTransform","plotWidth","plotHeight","measureTickLabels","labelWidth","labelHeight","legacyStyles","layer","getTextInfo","allocateAxisBoxFirstPhase","lw","lh","isXAxis","tickLength","axisMargin","labelMargin","innermost","reserveSpace","plotOffset","allocateAxisBoxSecondPhase","adjustLayoutForThingsStickingOut","minMargin","minBorderMargin","radius","lineWidth","margins","setupGrid","showGrid","processOffset","borderWidth","axisOpts","setRange","allocatedAxes","setupTickGeneration","setTicks","snapRangeToTicks","drawAxisLabels","insertLegend","widen","autoscaleMargin","sqrt","dec","LN10","maxDec","tickDecimals","magn","norm","minTickSize","tickSize","tickGenerator","floorInBase","tickFormatter","factor","formatted","decimal","alignTicksWithAxis","otherAxis","niceTicks","extraDec","oticks","drawBackground","backgroundColor","aboveData","drawGrid","drawSeries","triggerRedrawOverlay","extractRange","ranges","save","fillStyle","getColorOrGradient","fillRect","restore","bw","bc","getAxes","xrange","yrange","xequal","yequal","markingsLineWidth","subPixel","beginPath","strokeStyle","moveTo","lineTo","stroke","xoff","yoff","strokeRect","halign","valign","removeText","drawSeriesLines","drawSeriesBars","drawSeriesPoints","plotLine","xoffset","yoffset","axisx","axisy","prevx","prevy","x2","y2","plotLineArea","areaOpen","ypos","segmentStart","segmentEnd","x1old","x2old","lineJoin","angle","sin","getFillStyle","plotPoints","shadow","arc","closePath","drawBar","barLeft","barRight","fillStyleCallback","drawLeft","drawRight","drawTop","drawBottom","plotBars","filloptions","seriesColor","fillColor","legend","fragments","rowStarted","lf","labelFormatter","sorted","ascending","noColumns","labelBoxBorderColor","backgroundOpacity","findNearbyItem","mouseX","mouseY","seriesFilter","maxDistance","mouseActiveRadius","smallestDistance","mx","maxx","maxy","dx","dy","dist","datapoint","dataIndex","seriesIndex","triggerClickHoverEvent","eventname","canvasX","canvasY","autoHighlight","highlights","auto","point","unhighlight","highlight","interaction","redrawOverlayInterval","drawOverlay","drawBarHighlight","drawPointHighlight","indexOfHighlight","pointRadius","spec","defaultColor","gradient","createLinearGradient","co","brightness","addColorStop","getPlaceholder","getCanvas","getPlotOffset","getXAxes","getYAxes","pointOffset","clearRect","layerKey","getTextLayer","layerCache","styleKey","styleCache","positions","rendered","font-size","textStyle","max-width","outerWidth","outerHeight","text-align","canvas","combine","combined","numCombined","pie","newdata","newCtx","canvasWidth","canvasHeight","drawShadow","shadowLeft","shadowTop","edge","alpha","maxRadius","tilt","globalAlpha","centerLeft","centerTop","drawPie","drawSlice","currentAngle","drawLabels","drawLabel","startAngle","plf","formatter","halfAngle","labelTop","labelLeft","background","slices","drawDonutHole","legendWidth","attempts","REDRAW_SHRINK","REDRAW_ATTEMPTS","setSeries","innerRadius","globalCompositeOperation","isPointInPoly","poly","findNearbySlice","isPointInPath","p1X","p1Y","p2X","p2Y","p3X","p3Y","p4X","p4Y","p5X","p5Y","arrPoly","arrPoint","drawHighlight","formatDate","monthNames","dayNames","strftime","leftPad","isAM","hours12","makeUtcWrapper","addProxyMethod","sourceObj","sourceMethod","targetObj","targetMethod","dateGenerator","timezoneJS","setTimezone","axisName","minSize","specQuarters","specMonths","timeUnitSize","setSeconds","setMilliseconds","timeformat","useQuarters","span","hourCode","twelveHourClock","baseSpec","secondPass","axisLabel","axisLabelUseCanvas","axisLabelFontSizePixels","axisLabelFontFamily","measureText","rotate","fillText","defaultOptions","tooltip","xDateFormat","yDateFormat","shifts","defaultTheme","snap","clickTips","onHover","flotItem","$tooltipEl","$compat","tooltipOpts","FlotTooltip","tipPosition","mouseMove","setTooltipPosition","plotclick","clickmode","plothover","hideTooltip","getDomElement","lineDistance","p1x","p1y","p2x","p2y","dotLineLength","x0","y0","tg","l1","l2","showTooltip","tooltipOptions","plotOptions","closestTrace","distance","ttPos","xBeforeIndex","xAfterIndex","pointPrev","pointNext","distToLine","closestIndex","pointOnLine","plotPluginsLength","plotPlugins","wfunc","hfunc","removeTooltip","$tip","totalTipWidth","totalTipHeight","xPrev","yPrev","targetPosition","tipText","stringFormat","z-index","border-radius","white-space","customText","percentPattern","seriesPattern","colorPattern","xLabelPattern","yLabelPattern","xPattern","yPattern","xPatternWithoutPrecision","yPatternWithoutPrecision","customTextPattern","nPiePattern","curvedLines","originSeries","percents","adjustValPrecision","hasAxisLabel","isTimeMode","isXDateFormat","timestampToDate","isYDateFormat","hasRotatedXAxisTicks","tickIndex","xIndex","valueX","isCategoriesMode","yIndex","valueY","tmst","theDate","matchResult","$1","rotatedTicks","Raven","RavenConfigError","utils","wrapMethod","originalConsoleLevel","originalConsole","sentryLevel","safeJoin","logger","keepOriginalCallback","_hasJSON","_hasDocument","_document","_hasNavigator","_navigator","_lastCapturedException","_lastData","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","release","_window","SENTRY_RELEASE","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","collectWindowErrors","captureUnhandledRejections","maxMessageLength","maxUrlLength","autoBreadcrumbs","instrument","sampleRate","sanitizeKeys","_fetchDefaults","keepalive","referrerPolicy","supportsReferrerPolicy","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_keypressTimeout","_location","_lastHref","_resetBackoff","TraceKit","md5","isErrorEvent","objectMerge","objectFrozen","hasKey","joinRegExp","urlencode","uuid4","htmlTreeAsString","isSameException","isSameStacktrace","supportsFetch","serializeKeysForMessage","serializeException","wrapConsoleMethod","dsnKeys","dsnPattern","dsn","_logDebug","globalOptions","setDSN","maxBreadcrumbs","autoBreadcrumbDefaults","dom","sentry","instrumentDefaults","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_attachPromiseRejectionHandler","_patchFunctionToString","_instrumentTryCatch","_instrumentBreadcrumbs","_drainPlugins","_parseDSN","lastSlash","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","_before","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","__orig__","uninstall","_detachPromiseRejectionHandler","_unpatchFunctionToString","_restoreBuiltIns","_restoreConsole","_promiseRejectionHandler","unhandledPromiseRejection","ex","trimHeadFrames","captureMessage","stacktrace","_getCaptureExceptionOptionsFromPlainObject","computeStackTrace","_handleStackInfo","ex1","currentOptions","exKeys","fingerprint","__serialized__","initialCall","fileurl","frames","_prepareFrames","_send","captureBreadcrumb","crumb","breadcrumbCallback","addPlugin","plugin","pluginArgs","setUserContext","setExtraContext","_mergeContext","setTagsContext","tags","clearContext","setEnvironment","environment","setRelease","setDataCallback","dataCallback","setBreadcrumbCallback","setShouldSendCallback","shouldSendCallback","setTransport","lastException","lastEventId","ravenNotConfiguredError","afterLoad","RavenConfig","showReportDialog","eventId","encode","qs","globalServer","_triggerEvent","_breadcrumbEventHandler","evtName","category","_keypressEventHandler","debounceDuration","tagName","isContentEditable","_captureUrlChange","parsedLoc","parsedTo","parsedFrom","_originalFunctionToString","wrapTimeFn","originalCallback","wrapEventTarget","secure","handleEvent","clickHandler","keypressHandler","wrappedBuiltIns","eventTargets","wrapProp","xhrproto","origOpen","__raven_xhr","status_code","origSend","onreadystatechangeHandler","origFetch","fetchInput","Request","fetchData","hasPushAndReplaceState","replaceState","oldOnPopState","onpopstate","currentHref","historyReplacementFunction","origHistFunction","consoleMethodCallback","builtin","installer","allowSecretKey","stackInfo","_processException","lineno","frame","_normalizeFrame","in_app","stackInfoUrl","filename","colno","function","prefixedMessage","culprit","_trimPacket","Referer","breadcrumbs","_trimBreadcrumbs","urlProp","urlProps","_getHttpData","httpData","User-Agent","referrer","_backoffDuration","_backoffStart","_shouldBackoff","_isRepeatData","_setBackoffState","retry","baseData","project","platform","serverName","server_name","_sanitizeData","_sendProcessedPayload","_getUuid","allowDuplicates","event_id","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","evaluatedHeaders","evaluatedFetchParameters","_evaluateHash","fetchParameters","defaultFetchOptions","fetchOptions","fetch","hasCORS","XDomainRequest","evaluated","setUser","setReleaseContext","RavenConstructor","_Raven","Client","supportsErrorEvent","ErrorEvent","Headers","Response","supportsPromiseRejectionEvent","PromiseRejectionEvent","wrappedCallback","normalizedData","obj1","obj2","patterns","query","crypto","msCrypto","getRandomValues","Uint16Array","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","sepLength","htmlElementAsString","attrWhitelist","isOnlyOneTruthy","isBothUndefined","ex2","stack1","stack2","frames1","frames2","track","utf8Length","encodeURI","jsonSize","acc","maxSize","MAX_SERIALIZE_EXCEPTION_DEPTH","MAX_SERIALIZE_EXCEPTION_SIZE","serialized","MAX_SERIALIZE_KEYS_LENGTH","usedKeys","sanitizeWorker","workerInput","sanitizeRegExp","sanitizeMask","safeInput","o_O","getLocationHref","_slice","UNKNOWN_FUNCTION","ERROR_TYPES_RE","installGlobalHandler","unsubscribe","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","inner","traceKitWindowOnError","lineNo","colNo","lastExceptionStack","augmentStackTraceWithInitialElement","processLastException","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","rethrow","incomplete","computeStackTraceFromStackProp","submatch","winjs","gecko","geckoEval","chromeEval","isEval","columnNumber","computeStackTraceByWalkingCallerChain","functionName","recursion","curr","lineNumber","haystack","needle","replacer","spaces","cycleReplacer","serializer","stringifyError","thisPos","getSerialize","safeAdd","bitRotateLeft","md5cmn","q","md5ff","md5gg","md5hh","md5ii","binlMD5","binl2rstr","length32","rstr2binl","length8","rstrMD5","rstrHMACMD5","rstr2hex","hexTab","str2rstrUTF8","rawMD5","hexMD5","rawHMACMD5","hexHMACMD5","isA","scriptTag","ljs","checkLoaded","urlParse","appendElmt","loadcss","loadjs","loaded","loader","ocb","rel","argc","addAliases","links","THROTTLE_MILLISECONDS","infiniteScroll","infiniteScrollContainer","infiniteScrollDistance","infiniteScrollDisabled","infiniteScrollUseDocumentBottom","infiniteScrollListenForEvent","changeContainer","checkInterval","checkWhenEnabled","handleInfiniteScrollContainer","handleInfiniteScrollDisabled","handleInfiniteScrollDistance","handleInfiniteScrollUseDocumentBottom","immediateCheck","scrollDistance","scrollEnabled","unregisterEventListener","useDocumentBottom","windowElement","containerBottom","containerTopOffset","elementBottom","shouldScroll","newContainer","infiniteScrollParent","infiniteScrollImmediateCheck","Immutable","createClass","superClass","Iterable","isIterable","Seq","KeyedIterable","isKeyed","KeyedSeq","IndexedIterable","isIndexed","IndexedSeq","SetIterable","isAssociative","SetSeq","maybeIterable","IS_ITERABLE_SENTINEL","maybeKeyed","IS_KEYED_SENTINEL","maybeIndexed","IS_INDEXED_SENTINEL","maybeAssociative","isOrdered","maybeOrdered","IS_ORDERED_SENTINEL","MakeRef","ref","SetRef","OwnerID","arrCopy","newArr","ensureSize","iter","__iterate","wrapIndex","uint32Index","wholeSlice","resolveBegin","resolveIndex","resolveEnd","defaultIndex","Iterator","iteratorValue","iteratorResult","iteratorDone","hasIterator","getIteratorFn","isIterator","maybeIterator","getIterator","REAL_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","emptySequence","toSeq","seqFromValue","toKeyedSeq","fromEntrySeq","keyedSeqFromValue","entrySeq","toIndexedSeq","indexedSeqFromValue","toSetSeq","ArraySeq","_array","ObjectSeq","_object","_keys","IterableSeq","_iterable","IteratorSeq","_iterator","_iteratorCache","isSeq","maybeSeq","IS_SEQ_SENTINEL","EMPTY_SEQ","seq","maybeIndexedSeqFromValue","seqIterate","useKeys","_cache","__iterateUncached","seqIterator","__iteratorUncached","fromJS","converter","fromJSWith","fromJSDefault","parentJSON","isPlainObj","toList","valueA","valueB","__hash","notAssociative","flipped","cacheResult","allEqual","bSize","NOT_SET","Repeat","EMPTY_REPEAT","invariant","Range","_start","_end","_step","EMPTY_RANGE","Collection","KeyedCollection","IndexedCollection","SetCollection","i32","STRING_HASH_CACHE_MIN_STRLEN","cachedHashString","hashString","hashCode","hashJSObj","stringHashCache","STRING_HASH_CACHE_SIZE","STRING_HASH_CACHE_MAX_SIZE","usingWeakMap","weakMap","UID_HASH_KEY","canDefineProperty","getIENodeHash","objHashUID","isExtensible","assertNotInfinite","emptyMap","withMutations","maybeMap","IS_MAP_SENTINEL","ArrayMapNode","ownerID","BitmapIndexedNode","bitmap","HashArrayMapNode","HashCollisionNode","keyHash","ValueNode","MapIterator","_type","_reverse","_root","mapIteratorFrame","mapIteratorValue","__prev","MapPrototype","__ownerID","__altered","EMPTY_MAP","updateMap","newRoot","newSize","didChangeSize","CHANGE_LENGTH","didAlter","DID_ALTER","updateNode","isLeafNode","mergeIntoNode","idx1","MASK","idx2","SHIFT","createNodes","packNodes","excluding","packedII","packedNodes","bit","expandNodes","including","expandedNodes","SIZE","mergeIntoMapWith","merger","iterables","iters","mergeIntoCollectionWith","deepMerger","mergeDeep","deepMergerWith","mergeDeepWith","mergeIntoMap","updateInDeepMap","keyPathIter","notSetValue","isNotSet","existingValue","nextExisting","nextUpdated","popCount","setIn","canEdit","newArray","spliceIn","newLen","spliceOut","List","emptyList","isList","makeList","VNode","setSize","maybeList","IS_LIST_SENTINEL","iterateList","iterateNodeOrLeaf","iterateLeaf","iterateNode","tailPos","DONE","_origin","getTailOffset","_tail","_level","ListPrototype","EMPTY_LIST","updateList","setListBounds","newTail","updateVNode","nodeHas","lowerNode","newLowerNode","editableVNode","listNodeFor","rawIndex","oldOrigin","newOrigin","newCapacity","newLevel","offsetShift","oldTailOffset","newTailOffset","oldTail","removeAfter","removeBefore","beginIndex","mergeIntoListWith","OrderedMap","emptyOrderedMap","isOrderedMap","maybeOrderedMap","makeOrderedMap","omap","_map","_list","EMPTY_ORDERED_MAP","updateOrderedMap","newMap","newList","ToKeyedSequence","indexed","_iter","_useKeys","ToIndexedSequence","ToSetSequence","FromEntriesSequence","flipFactory","flipSequence","makeSequence","reversedSequence","cacheResultThrough","this$0","ITERATE_ENTRIES","__iterator","ITERATE_VALUES","ITERATE_KEYS","mapFactory","mapper","mappedSequence","reverseFactory","filterFactory","filterSequence","iterations","countByFactory","grouper","asMutable","asImmutable","groupByFactory","isKeyedIter","coerce","iterableClass","reify","sliceFactory","originalSize","resolvedBegin","resolvedEnd","sliceSize","resolvedSize","sliceSeq","isSkipping","takeWhileFactory","takeSequence","iterating","skipWhileFactory","skipSequence","skipping","concatFactory","isKeyedIterable","singleton","concatSeq","flattenFactory","flatSequence","flatDeep","currentDepth","flatMapFactory","interposeFactory","interposedSequence","sortFactory","defaultComparator","maxFactory","maxCompare","comp","zipWithFactory","keyIter","zipper","zipSequence","iterators","isDone","validateEntry","resolveSize","forceIterator","keyPath","Record","defaultValues","hasInitialized","RecordType","setProps","RecordTypePrototype","_name","_defaultValues","RecordPrototype","makeRecord","likeRecord","record","recordName","setProp","emptySet","maybeSet","IS_SET_SENTINEL","updateSet","__empty","__make","makeSet","SetPrototype","EMPTY_SET","OrderedSet","emptyOrderedSet","isOrderedSet","maybeOrderedSet","makeOrderedSet","OrderedSetPrototype","EMPTY_ORDERED_SET","emptyStack","isStack","unshiftAll","maybeStack","IS_STACK_SENTINEL","makeStack","StackPrototype","_head","EMPTY_STACK","keyCopier","keyMapper","entryMapper","quoteString","defaultZipper","defaultNegComparator","hashIterable","ordered","keyed","hashMerge","murmurHashOfSize","imul","SLICE$0","Keyed","Indexed","DELETE","ITERATOR_SYMBOL","KEYS","VALUES","ENTRIES","of","__toString","searchValue","possibleIndex","offsetValue","keyValues","updateIn","deleteIn","updatedValue","mergeIn","mergeDeepIn","mutable","wasAltered","__ensureOwner","iterate","removeIn","removed","exists","MAX_ARRAY_MAP_SIZE","isEditable","newEntries","keyHashFrag","MAX_BITMAP_INDEXED_SIZE","newBitmap","newNodes","newCount","MIN_HASH_ARRAY_MAP_SIZE","keyMatch","subNode","oldSize","originIndex","newChild","removingFirst","oldChild","editable","sizeIndex","valueSeq","indexedIterable","defaultVal","_empty","fromKeys","keySeq","intersect","originalSet","pushAll","toJS","__toJS","toOrderedMap","toOrderedSet","toSet","toStack","__toStringMapper","findEntry","sideEffect","joined","reducer","initialReduction","reduction","useFirst","reversed","butLast","entriesSequence","filterNot","findLastEntry","searchKey","getIn","searchKeyPath","isSubset","isSuperset","keyOf","lastKeyOf","skipLast","skipWhile","skipUntil","takeLast","takeUntil","IterablePrototype","mapEntries","KeyedIterablePrototype","removeNum","numArgs","spliced","interpose","interleave","zipped","interleaved","introJs","IntroJs","_targetElement","_introItems","nextLabel","prevLabel","skipLabel","doneLabel","hidePrev","hideNext","tooltipPosition","tooltipClass","highlightClass","exitOnEsc","exitOnOverlayClick","showStepNumbers","keyboardNavigation","showButtons","showBullets","showProgress","scrollToElement","scrollPadding","overlayOpacity","positionPrecedence","disableInteraction","helperElementPadding","hintPosition","hintButtonLabel","hintAnimation","buttonClass","_introForElement","targetElm","allIntroSteps","introItems","_forEach","currentItem","_cloneObject","floatingElementQuery","elmsLength","intro","nextStep","tempIntroItems","z","_addOverlayLayer","_nextStep","DOMEvent","_onKeyDown","_onResize","_previousStep","_currentStep","_introCompleteCallback","_exitIntro","_goToStep","_goToStepNumber","_currentStepNumber","_direction","continueStep","_introBeforeChangeCallback","_showElement","_refresh","_setHelperLayerPosition","oldHelperNumberLayer","oldArrowLayer","oldtooltipContainer","_placeTooltip","_reAlignHints","continueExit","_introBeforeExitCallback","overlayLayers","overlayLayer","helperLayer","referenceLayer","disableInteractionLayer","floatingElement","_removeShowElement","fixParents","_removeClass","_introExitCallback","tooltipLayer","arrowLayer","helperNumberLayer","hintMode","currentStepObj","tooltipOffset","targetOffset","windowSize","currentTooltipPosition","tooltipCssClass","marginTop","_determineAutoPosition","tooltipLayerStyleLeft","_getOffset","_getWinSize","_addClass","tooltipLayerStyleRight","_checkLeft","tooltipLayerStyleLeftRight","_checkRight","desiredTooltipPosition","possiblePositions","tooltipHeight","tooltipWidth","targetElementRect","calculatedPosition","_removeEntry","desiredAlignment","hyphenIndex","_determineAutoAlignment","halfTooltipWidth","winWidth","screen","possibleAlignments","calculatedAlignment","stringArray","stringToRemove","elementPosition","widthHeightPadding","_isFixed","_disableInteraction","_setAnchorAsButton","_introChangeCallback","nextTooltipButton","prevTooltipButton","skipTooltipButton","scrollParent","oldHelperLayer","oldReferenceLayer","oldtooltipLayer","lastIntroItem","_getScrollParent","_scrollParentToElement","_lastShowElementTimer","_getProgress","_scrollTo","tooltipTextLayer","bulletsLayer","progressLayer","buttonsLayer","ulContainer","anchorClick","goToStep","innerLi","anchorLink","onclick","progressBar","_introSkipCallback","_setShowElement","_introAfterChangeCallback","rect","_elementInViewport","winHeight","elms","parentElm","SVGElement","currentElementPosition","_getPropValue","forEachFnc","completeFnc","classNameRegex","propValue","currentStyle","styleText","_removeHintTooltip","_populateHints","hints","hint","_addHints","_alignHintPosition","_hintQuerySelectorAll","hintsWrapper","_hideHint","stepId","_hintCloseCallback","_hideHints","_showHints","_showHint","_removeHints","_removeHint","getHintClick","cancelBubble","_showHintDialog","hintDot","hintPulse","_hintsAddedCallback","iconWidth","iconHeight","hintElement","_hintClickCallback","removedStep","tooltipWrapper","closeButton","docEl","excludeStaticParent","overflowRegex","currentStep","_mergeOptions","attrname","obj3","_stamp","events_key","_id","useCapture","setOption","setOptions","addStep","addSteps","goToStepNumber","previousStep","onbeforechange","providedCallback","onafterchange","oncomplete","onhintsadded","onhintclick","onhintclose","onexit","onskip","onbeforeexit","addHints","hideHint","hideHints","showHint","showHints","removeHints","removeHint","showHintDialog","dragula","lookupClass","rmClass","initialContainers","isContainer","drake","containers","op","touchy","grab","eventualMovements","startBecauseMouseMoved","movements","crossvent","preventGrabbed","_grabbed","_moveX","_moveY","whichMouseButton","canStart","isInput","ignoreInputTextSelection","getCoord","elementBehindCursor","elementFromPoint","grabbed","getOffset","_item","_offsetX","_offsetY","_copy","renderMirrorImage","drag","dragging","_mirror","getParent","movable","moves","nextEl","canMove","manualStart","isCopy","_source","_initialSibling","_currentSibling","invalidTarget","ungrab","getElementBehindPoint","dropTarget","findDropTarget","copySortSource","removeOnSpill","isInitialPlacement","cleanup","revert","reverts","revertOnSpill","removeMirrorImage","_renderTimer","_lastDropTarget","accepted","droppable","immediate","getImmediateChild","getReference","moved","spillOver","spillOut","getRectWidth","getRectHeight","mirrorContainer","outside","inside","never","emitter","touch","mouseup","mousedown","pointers","microsoft","pointerEnabled","msPointerEnabled","touches","buttons","getScroll","scrollProp","offsetProp","contentEditable","manually","getEventHost","targetTouches","changedTouches","missMap","./classes","contra/emitter","ticky","atoa","thing","_once","emitterSnapshot","listen","./debounce","addEventEasy","capturing","addEventHard","removeEventEasy","removeEventHard","fabricateEvent","makeClassicEvent","makeCustomEvent","customEvent","eventmap","wrapperFactory","hardCache","fabricate","./eventmap","custom-event","ron","useNative","NativeCustomEvent","foo","bubbles","Boolean","Suggestion","configure","attrValue","con","$$","me","isOpened","minChars","maxItems","autoFirst","DATA","FILTER_CONTAINS","SORT_BYLENGTH","ITEM","REPLACE","around","ul","aria-live","aria-relevant","_events","keydown","opened","li","indexOfAwesomplete","goto","lis","suggestions","siblingIndex","suggestion","regExpEscape","FILTER_STARTSWITH","aria-selected","Document","Awesomplete","classListProp","protoProp","elemCtrProto","Element","objCtr","strTrim","arrIndexOf","DOMEx","DOMException","checkTokenAndGetIndex","ClassList","trimmedClasses","_updateClassName","classListProto","classListGetter","updated","classListPropDesc","__defineGetter__","webkitURL","Blob","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","get_class","FakeBlobBuilder","FakeBlob","encoding","FBB_proto","FB_proto","FileReaderSync","FileException","file_ex_codes","file_ex_code","real_URL","real_create_object_URL","createObjectURL","real_revoke_object_URL","revokeObjectURL","btoa","atob","fake","uri_origin","uri_info","createElementNS","blob","data_URI_header","object_URL","bb","buf_len","readAsBinaryString","getBlob","blobParts","builder","webkitSlice","__proto__","isElectron","electron","MediumEditor","extensions","copyInto","nodeContainsWorksWithTextNodes","testParent","testText","exc","Util","isIE","appName","isEdge","isFF","isMac","BACKSPACE","TAB","ENTER","SPACE","K","V","isMetaCtrlKey","getKeyCode","blockContainerElementNames","emptyElementNames","createLink","textNodes","moveTextRangeIntoElement","findOrCreateMatchingTextNodes","treeWalker","createTreeWalker","NodeFilter","SHOW_ALL","matchedNodes","currentTextIndex","startReached","currentNode","splitStartNodeIfNeeded","splitEndNodeIfNeeded","matchStartIndex","splitText","matchEndIndex","textIndexOfEndOfFarthestNode","endSplitPoint","splitByBlockElements","toRet","blockElementQuery","findAdjacentTextNodeWithContent","pastTarget","nodeIterator","createNodeIterator","SHOW_TEXT","findPreviousSibling","isMediumEditorElement","previousSibling","isDescendant","checkEquality","THROTTLE_INTERVAL","traverseUp","testElementFunction","htmlEntities","insertHTMLCommand","lastNode","toReplace","ecArgs","queryCommandSupported","execCommand","getSelection","rangeCount","getRangeAt","commonAncestorContainer","selectNode","startOffset","endOffset","deleteContents","insertNode","cloneRange","setStartAfter","collapse","selectRange","callListeners","execFormatBlock","blockContainer","getTopBlockContainer","getSelectionStart","childNode","isBlockContainer","setTargetBlank","anchorUrl","removeTargetBlank","addClassToAnchors","aChildren","parentAnchor","getClosestTag","isListItem","cleanListDOM","moveCursor","splitOffDOMTree","leafNode","splitLeft","splitOnNode","createdNode","splitRight","appendLast","currParent","newParent","hasChildNodes","startNode","findCommonRoot","rootChildren","afterLast","depthOfNode","inNode","theDepth","inNode1","inNode2","depth1","depth2","node1","node2","isElementAtBeginningOfBlock","textVal","getContainerEditorElement","getClosestBlockContainer","topBlock","getFirstSelectableLeafNode","firstCell","getFirstTextNode","_getFirstTextNode","textNode","ensureUrlHasProtocol","deprecatedMethod","cleanupAttrs","cleanupTags","unwrapTags","_s4","Extension","protoProps","Surrogate","checkState","queryCommandState","isAlreadyApplied","setActive","setInactive","getInteractionElements","getEditorElements","getEditorId","getEditorOption","helper","filterOnlyParentElements","FILTER_ACCEPT","FILTER_SKIP","Selection","findMatchingSelectionParent","contentWindow","getSelectionElement","exportSelection","selectionState","preSelectionRange","selectNodeContents","setEnd","startContainer","doesRangeStartWithImages","startsWithImage","trailingImageCount","getTrailingImageCount","endContainer","emptyBlocksIndex","getIndexRelativeToAdjacentEmptyBlocks","importSelection","favorLaterSelectionAnchor","setStart","nextCharIndex","nodeStack","charIndex","foundStart","foundEnd","allowRangeToStartAtEndOfNode","lastTextNode","importSelectionMoveCursorPastBlocks","importSelectionMoveCursorPastAnchor","nodeInsideAnchorTagFunction","prevNode","currentNodeIndex","startBlock","SHOW_ELEMENT","currIndex","cursorContainer","cursorOffset","closestBlock","emptyBlocksCount","blockIsEmpty","img","trailingImages","selectionContainsContent","isCollapsed","selectionNode","getSelectedParentElement","selectionInContentEditableFalse","sawtrue","sawfalse","getSelectionHtml","cloneContents","getCaretOffsets","preCaretRange","postCaretRange","rangeSelectsSingleNode","getSelectedElements","currNode","containsNode","clearSelection","moveCursorToStart","collapseToStart","collapseToEnd","getSelectionRange","removeAllRanges","addRange","anchorNode","isElementDescendantOfExtension","extension","extensionElements","Events","disabledEvents","customEvents","InputEventOnContenteditableSupported","attachDOMEvent","detachDOMEvent","detachAllDOMEvents","detachAllEventsFromElement","filtered","attachAllEventsToElement","contentCache","eventsCache","enableCustomEvent","disableCustomEvent","attachCustomEvent","setupListener","detachCustomEvent","indexOfCustomListener","detachAllCustomEvents","triggerCustomEvent","detachExecCommand","attachToExecCommand","execCommandListener","execInfo","handleDocumentExecCommand","wrapExecCommand","unwrapExecCommand","command","handleBodyMousedown","handleBodyClick","handleBodyFocus","attachToEachElement","handleInput","keypressUpdateInput","handleDocumentSelectionChange","handleClick","handleBlur","handleKeypress","handleKeyup","handleKeydown","handleMouseover","handleDragging","handleDrop","handlePaste","cleanupElement","focusElement","updateFocus","eventObj","toFocus","hadFocus","getFocusedElement","lastMousedownTarget","externalEvent","updateInput","Button","aria","tagNames","useQueryState","contentDefault","contentFA","isBuiltInButton","createButton","getButton","getAction","getAria","getTagNames","ariaLabel","buttonLabels","execAction","knownState","queryState","styleVals","computedStyle","strikethrough","superscript","subscript","orderedlist","unorderedlist","outdent","justifyCenter","justifyFull","justifyLeft","justifyRight","removeFormat","h5","h6","FormExtension","formSaveLabel","formCloseLabel","activeClass","hasForm","getForm","isDisplayed","showForm","hideForm","showToolbarDefaultActions","toolbar","getExtensionByName","hideToolbarDefaultActions","setToolbarPosition","AnchorForm","customClassOption","customClassOptionText","linkValidation","placeholderText","targetCheckbox","targetCheckboxText","createForm","getTemplate","getInput","getAnchorTargetCheckbox","buttonCheckbox","getAnchorButtonCheckbox","saveSelection","getFormOpts","checkLinkFormat","doFormSave","completeFormSave","restoreSelection","checkSelection","ensureEncodedUri","decodeURI","ensureEncodedUriComponent","ensureEncodedParam","ensureEncodedQuery","queryString","urlSchemeRegex","hasScheme","scheme","telRegex","urlParts","doFormCancel","attachFormEvents","handleFormClick","handleTextboxKeyup","handleCloseClick","handleSaveClick","AnchorPreview","hideDelay","previewValueSelector","showWhenToolbarIsVisible","showOnEmptyLinks","anchorPreview","createPreview","attachToEditables","getPreviewElement","hidePreview","activeAnchor","showPreview","anchorEl","positionPreview","attachPreviewHandlers","halfOffsetWidth","defaultLeft","middleBoundary","elementsContainerBoundary","containerWidth","buttonHeight","boundary","diffLeft","diffTop","elementsContainer","elementsContainerAbsolute","relativeBoundary","toolbarExtension","handleEditableMouseover","handlePositionedToolbar","anchorExtension","handleAnchorMouseout","anchorToPreview","instanceHandleAnchorMouseout","detachPreviewHandlers","handlePreviewMouseover","lastOver","hovering","handlePreviewMouseout","updatePreview","durr","intervalTimer","instanceHandlePreviewMouseover","instanceHandlePreviewMouseout","nodeIsNotInsideAnchorTag","WHITESPACE_CHARS","KNOWN_TLDS_FRAGMENT","LINK_REGEXP_TEXT","KNOWN_TLDS_REGEXP","LINK_REGEXP","AutoLink","disableEventHandling","onKeypress","onBlur","isLastInstance","activeInstances","_mediumEditors","editor","blurEvent","performLinking","keyPressEvent","performLinkingTimeout","contenteditable","documentModified","removeObsoleteAutoLinkSpans","performLinkingWithinElement","spans","trimmedTextContent","charactersTrimmed","subtree","splitTextBeforeEnd","characterCount","lastChildNotExhausted","currentNodeValue","findLinkableText","linkCreated","matchIndex","matchingTextNodes","shouldNotLink","createAutoLink","matchOk","matchEnd","autoLink","clearClassNames","CLASS_DRAG_OVER","FileDragging","allowedTypes","handleDrag","dataTransfer","dropEffect","isAllowedFile","insertImageFile","fileType","FileReader","fileReader","readAsDataURL","addImageElement","fileDragging","KeyboardCommands","commands","meta","alt","isMeta","isShift","isAlt","altKey","keyboardCommands","FontNameForm","fonts","fontName","queryCommandValue","getSelect","clearFontName","handleFontChange","FontSizeForm","clearFontSize","handleSliderChange","createReplacements","getClipboardContent","clipboardData","legacyText","pasteBinDefaultContent","lastRange","keyboardPasteEditable","stopProp","PasteHandler","forcePlainText","cleanPastedHTML","preCleanReplacements","cleanReplacements","cleanAttrs","cleanTags","handleAddElement","removePasteBin","clipboardContent","pastedHTML","pastedPlain","doPaste","paragraphs","cleanPaste","handlePasteBinPaste","getPasteBinHtml","createPasteBin","rects","pasteBinElm","pasteBinId","boundHandlePaste","getPasteBin","pasteBinHtml","elList","workEl","replacements","pasteHTML","filterCommonBlocks","filterLineBreak","fragmentBody","pasteBlock","cleanupSpans","isCommonBlock","removeWithParent","childElementCount","containerEl","newEl","isCEF","paste","Placeholder","hideOnClick","initPlaceholders","attachEventHandlers","updatePlaceholder","handleRemoveElement","showPlaceholder","hidePlaceholder","dontShow","handleFocus","Toolbar","allowMultiParagraphSelection","firstButtonClass","lastButtonClass","standardizeSelectionStart","static","sticky","stickyTopOffset","updateOnEmptySelection","relativeContainer","initThrottledMethods","getToolbarElement","forEachExtension","createToolbar","createToolbarButtons","btn","buttonName","buttonOpts","addBuiltInExtension","getToolbarActionsElement","throttledPositionToolbar","positionToolbarIfShown","handleEditableClick","handleEditableKeyup","handleDocumentMouseup","handleWindowScroll","handleWindowResize","hideTimeout","delayShowTimeout","hideToolbar","showToolbar","isToolbarDefaultActionsDisplayed","hideExtensionForms","multipleBlockElementsSelected","regexEmptyHTMLTags","regexBlockElements","selectionHTML","hasMultiParagraphs","modifySelection","selectionRange","adjacentNode","preventSelectionUpdates","selectionElement","showAndUpdateToolbar","setToolbarButtonStates","checkActiveButtons","manualStateChecks","updateExtensionState","positionStaticToolbar","positionToolbar","targetLeft","windowWidth","toolbarElement","containerRect","containerTop","containerCenter","toolbarHeight","toolbarWidth","ImageDragging","imageDragging","handleDisableExtraSpaces","caretPositions","handleDisabledEnterKeydown","disableReturn","disableDoubleReturn","handleTabKeydown","handleBlockDeleteKeydowns","isHeader","handleEditableInput","addToEditors","removeFromEditors","createElementsArray","filterEditorElements","cleanupTextareaElement","setExtensionDefaults","initExtension","extensionDefaults","isToolbarEnabled","isAnchorPreviewEnabled","isPlaceholderEnabled","isAutoLinkEnabled","isImageDraggingEnabled","isKeyboardCommandsEnabled","shouldUseFileDraggingExtension","createContentEditable","atts","resetContent","editorId","instanceHandleEditableInput","disableEditing","spellcheck","instanceHandleEditableKeydownEnter","elementId","initialContent","attachHandlers","disableExtraSpaces","initExtensions","builtIns","anchor-preview","toolbarOptions","mergeOptions","deprecatedProperties","execActionInternal","cmdValueArgument","appendAction","justifyAction","cleanupJustifyDivFragments","textAlign","childDivs","isDiv","origElements","addElements","elementid","ext","merged","stopSelectionUpdates","startSelectionUpdates","fullAction","selectAllContents","selElement","focused","editableElementIndex","editableElement","targetUrl","currentEditor","currentSelection","exportedSelection","startContainerParentElement","endContainerParentElement","currRange","modifiedExportedSelection","leadingWhitespacesCount","targetBlank","setContent","checkContentChanged","getContent","removeElements","getEditorFromElement","activeButtonClass","parseVersionString","preRelease","revision","toMarkdown","isBlock","blocks","isVoid","voids","htmlToDom","HtmlParser","bfsOrder","inqueue","outqueue","_replacement","canConvert","isFlankedByWhitespace","side","isFlanked","flankingWhitespace","hasLeading","hasTrailing","mdConverters","gfmConverters","gfm","./lib/gfm-converters","./lib/html-parser","./lib/md-converters","collapse-whitespace","cell","highlightRegEx","borderCells","alignMap","center","canParseHtmlNatively","canParse","createHtmlParser","jsdom","features","FetchExternalResources","ProcessExternalResources","shouldUseActiveX","ActiveXObject","designMode","useActiveX","hLevel","hPrefix","hasSiblings","isCodeBlock","titlePart","strings","isBlockElem","collapseWhitespace","prevText","prevVoid","block-elements","void-elements","area","embed","keygen","menuitem","wbr","markdownit","entities/maps/entities.json","attr_name","single_quoted","double_quoted","attr_value","open_tag","close_tag","processing","declaration","cdata","HTML_TAG_RE","HTML_OPEN_CLOSE_TAG_RE","_class","_hasOwnProperty","arrayReplaceAt","newElements","isValidEntityCode","fromCodePoint","surrogate1","surrogate2","replaceEntityPattern","entities","DIGITAL_ENTITY_TEST_RE","unescapeMd","UNESCAPE_MD_RE","unescapeAll","UNESCAPE_ALL_RE","entity","replaceUnsafeChar","HTML_REPLACEMENTS","escapeHtml","HTML_ESCAPE_TEST_RE","HTML_ESCAPE_REPLACE_RE","escapeRE","REGEXP_ESCAPE_RE","isSpace","isWhiteSpace","isPunctChar","UNICODE_PUNCT_RE","isMdAsciiPunct","normalizeReference","ENTITY_RE","lib","mdurl","ucmicro","./entities","uc.micro","uc.micro/categories/P/regex","parseLinkLabel","parseLinkDestination","parseLinkTitle","./parse_link_destination","./parse_link_label","./parse_link_title","../common/utils","disableNested","prevPos","labelEnd","posMax","oldPos","md","inline","skipToken","validateLink","BAD_PROTO_RE","GOOD_DATA_RE","normalizeLink","RECODE_HOSTNAME_FOR","punycode","toASCII","er","normalizeLinkText","toUnicode","decode","MarkdownIt","presetName","ParserInline","ParserBlock","core","ParserCore","renderer","Renderer","linkify","LinkifyIt","helpers","commonmark","presets","ruler","enableOnly","rules2","ruler2","ignoreInvalid","missed","State","parseInline","inlineMode","renderInline","./common/utils","./helpers","./parser_block","./parser_core","./parser_inline","./presets/commonmark","./presets/default","./presets/zero","./renderer","linkify-it","Ruler","_rules","startLine","endLine","getRules","hasEmptyLines","maxNesting","skipEmptyLines","sCount","blkIndent","tight","outTokens","lineMax","./ruler","./rules_block/blockquote","./rules_block/code","./rules_block/fence","./rules_block/heading","./rules_block/hr","./rules_block/html_block","./rules_block/lheading","./rules_block/list","./rules_block/paragraph","./rules_block/reference","./rules_block/state_block","./rules_block/table","Core","./rules_core/block","./rules_core/inline","./rules_core/linkify","./rules_core/normalize","./rules_core/replacements","./rules_core/smartquotes","./rules_core/state_core","_rules2","postProcess","pushPending","./rules_inline/autolink","./rules_inline/backticks","./rules_inline/balance_pairs","./rules_inline/emphasis","./rules_inline/entity","./rules_inline/escape","./rules_inline/html_inline","./rules_inline/image","./rules_inline/link","./rules_inline/newline","./rules_inline/state_inline","./rules_inline/strikethrough","./rules_inline/text","./rules_inline/text_collapse","xhtmlOut","breaks","langPrefix","typographer","quotes","default_rules","code_inline","slf","renderAttrs","code_block","fence","highlighted","tmpAttrs","tmpToken","langName","attrIndex","renderInlineAsText","renderToken","hardbreak","softbreak","html_block","html_inline","nextToken","needLf","nesting","__rules__","__cache__","__find__","__compile__","chains","rule","altName","beforeName","ruleName","afterName","silent","adjustTab","lastLineEmpty","nextLine","oldBMarks","oldBSCount","oldIndent","oldParentType","oldSCount","oldTShift","spaceAfterMarker","terminate","terminatorRules","wasOutdented","oldLineMax","bMarks","tShift","eMarks","bsCount","parentType","markup","getLines","mem","haveEndMarker","skipChars","skipSpaces","skipSpacesBack","skipCharsBack","block_names","HTML_SEQUENCES","lineText","../common/html_blocks","../common/html_re","skipBulletListMarker","skipOrderedListMarker","markTightParagraphs","contentStart","indentAfterMarker","itemLines","listLines","listTokIdx","markerCharCode","markerValue","oldLIndent","oldTight","posAfterMarker","prevEmptyEnd","isTerminatingParagraph","_endLine","destEndPos","destEndLineNo","references","StateBlock","indent_found","ddIndent","Token","keepLastLF","lineIndent","lineStart","../token","getLine","escapedSplit","escapes","lastPos","backTicked","lastBackTick","columns","aligns","tableLines","tbodyLines","isLinkOpen","isLinkClose","currentToken","htmlLinkLevel","fullUrl","urlText","blockTokens","pretest","schema","NEWLINES_RE","NULL_RE","replaceFn","SCOPED_ABBR","replace_scoped","inlineTokens","inside_autolink","SCOPED_ABBR_RE","replace_rare","RARE_RE","SCOPED_ABBR_TEST_RE","tm","blkIdx","replaceAt","process_inlines","thisLevel","lastChar","nextChar","isLastPunctChar","isNextPunctChar","isLastWhiteSpace","isNextWhiteSpace","canOpen","canClose","isSingle","openQuote","closeQuote","OUTER","QUOTE_RE","single","APOSTROPHE","QUOTE_TEST_RE","StateCore","37","EMAIL_RE","AUTOLINK_RE","linkMatch","emailMatch","38","matchStart","39","lastDelim","currDelim","delimiters","jump","odd_match","40","scanned","scanDelims","can_open","can_close","startDelim","endDelim","isStrong","41","DIGITAL_RE","NAMED_RE","../common/entities","42","ESCAPED","43","isLetter","44","labelStart","45","parseReference","46","pmax","47","StateInline","pendingLevel","canSplitWord","left_flanking","right_flanking","48","loneMarkers","49","isTerminatorChar","50","51","attrPush","attrData","attrSet","attrGet","attrJoin","52","Aacute","aacute","Abreve","abreve","ac","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","Amacr","amacr","amalg","amp","AMP","andand","And","andd","andslope","andv","ang","ange","angmsdaa","angmsdab","angmsdac","angmsdad","angmsdae","angmsdaf","angmsdag","angmsdah","angmsd","angrt","angrtvb","angrtvbd","angsph","angst","angzarr","Aogon","aogon","Aopf","aopf","apacir","apE","ape","apid","apos","ApplyFunction","approx","approxeq","Aring","aring","Ascr","ascr","Assign","asymp","asympeq","Atilde","atilde","Auml","auml","awconint","awint","backcong","backepsilon","backprime","backsim","backsimeq","Backslash","Barv","barvee","barwed","Barwed","barwedge","bbrk","bbrktbrk","bcong","Bcy","bcy","bdquo","becaus","because","Because","bemptyv","bepsi","bernou","Bernoullis","Beta","beta","beth","between","Bfr","bfr","bigcap","bigcirc","bigcup","bigodot","bigoplus","bigotimes","bigsqcup","bigstar","bigtriangledown","bigtriangleup","biguplus","bigvee","bigwedge","bkarow","blacklozenge","blacksquare","blacktriangle","blacktriangledown","blacktriangleleft","blacktriangleright","blank","blk12","blk14","blk34","bne","bnequiv","bNot","bnot","Bopf","bopf","bot","bowtie","boxbox","boxdl","boxdL","boxDl","boxDL","boxdr","boxdR","boxDr","boxDR","boxh","boxH","boxhd","boxHd","boxhD","boxHD","boxhu","boxHu","boxhU","boxHU","boxminus","boxplus","boxtimes","boxul","boxuL","boxUl","boxUL","boxur","boxuR","boxUr","boxUR","boxv","boxV","boxvh","boxvH","boxVh","boxVH","boxvl","boxvL","boxVl","boxVL","boxvr","boxvR","boxVr","boxVR","bprime","breve","Breve","brvbar","bscr","Bscr","bsemi","bsim","bsime","bsolb","bsol","bsolhsub","bull","bullet","bump","bumpE","bumpe","Bumpeq","bumpeq","Cacute","cacute","capand","capbrcup","capcap","cap","Cap","capcup","capdot","CapitalDifferentialD","caps","caret","caron","Cayleys","ccaps","Ccaron","ccaron","Ccedil","ccedil","Ccirc","ccirc","Cconint","ccups","ccupssm","Cdot","cdot","cedil","Cedilla","cemptyv","cent","centerdot","CenterDot","cfr","Cfr","CHcy","chcy","checkmark","Chi","chi","circ","circeq","circlearrowleft","circlearrowright","circledast","circledcirc","circleddash","CircleDot","circledR","circledS","CircleMinus","CirclePlus","CircleTimes","cir","cirE","cire","cirfnint","cirmid","cirscir","ClockwiseContourIntegral","CloseCurlyDoubleQuote","CloseCurlyQuote","clubs","clubsuit","colon","Colon","Colone","colone","coloneq","comma","commat","compfn","complement","complexes","cong","congdot","Congruent","conint","Conint","ContourIntegral","copf","Copf","coprod","Coproduct","COPY","copysr","CounterClockwiseContourIntegral","crarr","cross","Cross","Cscr","cscr","csub","csube","csup","csupe","ctdot","cudarrl","cudarrr","cuepr","cuesc","cularr","cularrp","cupbrcap","cupcap","CupCap","cup","Cup","cupcup","cupdot","cupor","cups","curarr","curarrm","curlyeqprec","curlyeqsucc","curlyvee","curlywedge","curren","curvearrowleft","curvearrowright","cuvee","cuwed","cwconint","cwint","cylcty","dagger","Dagger","daleth","darr","Darr","dArr","dash","Dashv","dashv","dbkarow","dblac","Dcaron","dcaron","Dcy","dcy","ddagger","ddarr","DD","DDotrahd","ddotseq","deg","Del","Delta","demptyv","dfisht","Dfr","dfr","dHar","dharl","dharr","DiacriticalAcute","DiacriticalDot","DiacriticalDoubleAcute","DiacriticalGrave","DiacriticalTilde","diam","diamond","Diamond","diamondsuit","diams","die","DifferentialD","digamma","disin","divideontimes","divonx","DJcy","djcy","dlcorn","dlcrop","dollar","Dopf","dopf","Dot","DotDot","doteq","doteqdot","DotEqual","dotminus","dotplus","dotsquare","doublebarwedge","DoubleContourIntegral","DoubleDot","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DownArrowBar","downarrow","DownArrow","Downarrow","DownArrowUpArrow","DownBreve","downdownarrows","downharpoonleft","downharpoonright","DownLeftRightVector","DownLeftTeeVector","DownLeftVectorBar","DownLeftVector","DownRightTeeVector","DownRightVectorBar","DownRightVector","DownTeeArrow","DownTee","drbkarow","drcorn","drcrop","Dscr","dscr","DScy","dscy","dsol","Dstrok","dstrok","dtdot","dtri","dtrif","duarr","duhar","dwangle","DZcy","dzcy","dzigrarr","Eacute","eacute","easter","Ecaron","ecaron","Ecirc","ecirc","ecir","ecolon","Ecy","ecy","eDDot","Edot","edot","eDot","efDot","Efr","efr","eg","Egrave","egrave","egs","egsdot","elinters","ell","elsdot","Emacr","emacr","emptyset","EmptySmallSquare","emptyv","EmptyVerySmallSquare","emsp13","emsp14","emsp","ENG","eng","ensp","Eogon","eogon","Eopf","eopf","epar","eparsl","eplus","epsi","Epsilon","epsilon","epsiv","eqcirc","eqcolon","eqsim","eqslantgtr","eqslantless","Equal","EqualTilde","equest","Equilibrium","equiv","equivDD","eqvparsl","erarr","erDot","escr","Escr","esdot","Esim","esim","Eta","eta","ETH","eth","Euml","euml","euro","excl","exist","Exists","exponentiale","ExponentialE","fallingdotseq","Fcy","fcy","female","ffilig","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","fltns","fnof","Fopf","fopf","forall","ForAll","fork","forkv","Fouriertrf","fpartint","frac12","frac13","frac14","frac15","frac16","frac18","frac23","frac25","frac34","frac35","frac38","frac45","frac56","frac58","frac78","frasl","frown","fscr","Fscr","gacute","Gamma","gamma","Gammad","gammad","gap","Gbreve","gbreve","Gcedil","Gcirc","gcirc","Gcy","gcy","Gdot","gdot","ge","gE","gEl","gel","geq","geqq","geqslant","gescc","ges","gesdot","gesdoto","gesdotol","gesl","gesles","Gfr","gfr","Gg","ggg","gimel","GJcy","gjcy","gla","glE","glj","gnap","gnapprox","gne","gnE","gneq","gneqq","gnsim","Gopf","gopf","grave","GreaterEqual","GreaterEqualLess","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterTilde","Gscr","gscr","gsim","gsime","gsiml","gtcc","gtcir","GT","Gt","gtdot","gtlPar","gtquest","gtrapprox","gtrarr","gtrdot","gtreqless","gtreqqless","gtrless","gtrsim","gvertneqq","gvnE","Hacek","hairsp","half","hamilt","HARDcy","hardcy","harrcir","harr","hArr","harrw","Hat","hbar","Hcirc","hcirc","hearts","heartsuit","hellip","hercon","hfr","Hfr","HilbertSpace","hksearow","hkswarow","hoarr","homtht","hookleftarrow","hookrightarrow","hopf","Hopf","horbar","HorizontalLine","hscr","Hscr","hslash","Hstrok","hstrok","HumpDownHump","HumpEqual","hybull","hyphen","Iacute","iacute","ic","Icirc","icirc","Icy","icy","Idot","IEcy","iecy","iexcl","iff","ifr","Ifr","Igrave","igrave","iiiint","iiint","iinfin","iiota","IJlig","ijlig","Imacr","imacr","ImaginaryI","imagline","imagpart","imath","Im","imof","imped","Implies","incare","infin","infintie","inodot","intcal","int","Int","integers","Integral","intercal","Intersection","intlarhk","intprod","InvisibleComma","InvisibleTimes","IOcy","iocy","Iogon","iogon","Iopf","iopf","Iota","iota","iprod","iquest","iscr","Iscr","isin","isindot","isinE","isins","isinsv","isinv","Itilde","itilde","Iukcy","iukcy","Iuml","iuml","Jcirc","jcirc","Jcy","jcy","Jfr","jfr","jmath","Jopf","jopf","Jscr","jscr","Jsercy","jsercy","Jukcy","jukcy","Kappa","kappa","kappav","Kcedil","kcedil","Kcy","kcy","Kfr","kfr","kgreen","KHcy","khcy","KJcy","kjcy","Kopf","kopf","Kscr","kscr","lAarr","Lacute","lacute","laemptyv","lagran","Lambda","lambda","Lang","langd","langle","lap","Laplacetrf","laquo","larrb","larrbfs","larr","Larr","lArr","larrfs","larrhk","larrlp","larrpl","larrsim","larrtl","latail","lAtail","lat","late","lates","lbarr","lBarr","lbbrk","lbrace","lbrack","lbrke","lbrksld","lbrkslu","Lcaron","lcaron","Lcedil","lcedil","lceil","lcub","Lcy","lcy","ldca","ldquo","ldquor","ldrdhar","ldrushar","ldsh","le","lE","LeftAngleBracket","LeftArrowBar","leftarrow","LeftArrow","Leftarrow","LeftArrowRightArrow","leftarrowtail","LeftCeiling","LeftDoubleBracket","LeftDownTeeVector","LeftDownVectorBar","LeftDownVector","LeftFloor","leftharpoondown","leftharpoonup","leftleftarrows","leftrightarrow","LeftRightArrow","Leftrightarrow","leftrightarrows","leftrightharpoons","leftrightsquigarrow","LeftRightVector","LeftTeeArrow","LeftTee","LeftTeeVector","leftthreetimes","LeftTriangleBar","LeftTriangle","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVectorBar","LeftUpVector","LeftVectorBar","LeftVector","lEg","leg","leq","leqq","leqslant","lescc","les","lesdot","lesdoto","lesdotor","lesg","lesges","lessapprox","lessdot","lesseqgtr","lesseqqgtr","LessEqualGreater","LessFullEqual","LessGreater","lessgtr","LessLess","lesssim","LessSlantEqual","LessTilde","lfisht","lfloor","Lfr","lfr","lgE","lHar","lhard","lharu","lharul","lhblk","LJcy","ljcy","llarr","ll","Ll","llcorner","Lleftarrow","llhard","lltri","Lmidot","lmidot","lmoustache","lmoust","lnap","lnapprox","lne","lnE","lneq","lneqq","lnsim","loang","loarr","lobrk","longleftarrow","LongLeftArrow","Longleftarrow","longleftrightarrow","LongLeftRightArrow","Longleftrightarrow","longmapsto","longrightarrow","LongRightArrow","Longrightarrow","looparrowleft","looparrowright","lopar","Lopf","lopf","loplus","lotimes","lowast","lowbar","LowerLeftArrow","LowerRightArrow","loz","lozenge","lozf","lpar","lparlt","lrarr","lrcorner","lrhar","lrhard","lrm","lrtri","lsaquo","lscr","Lscr","lsh","Lsh","lsim","lsime","lsimg","lsqb","lsquo","lsquor","Lstrok","lstrok","ltcc","ltcir","Lt","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","mapsto","mapstodown","mapstoleft","mapstoup","mcomma","Mcy","mcy","mdash","mDDot","measuredangle","MediumSpace","Mellintrf","Mfr","mfr","mho","micro","midast","midcir","middot","minusb","minus","minusd","minusdu","MinusPlus","mlcp","mldr","mnplus","models","Mopf","mopf","mp","mscr","Mscr","mstpos","Mu","mu","multimap","mumap","nabla","Nacute","nacute","nang","nap","napE","napid","napos","napprox","natural","naturals","natur","nbsp","nbump","nbumpe","ncap","Ncaron","ncaron","Ncedil","ncedil","ncong","ncongdot","ncup","Ncy","ncy","ndash","nearhk","nearr","neArr","nearrow","nedot","NegativeMediumSpace","NegativeThickSpace","NegativeThinSpace","NegativeVeryThinSpace","nequiv","nesear","nesim","NestedGreaterGreater","NestedLessLess","NewLine","nexist","nexists","Nfr","nfr","ngE","nge","ngeq","ngeqq","ngeqslant","nges","nGg","ngsim","nGt","ngt","ngtr","nGtv","nharr","nhArr","nhpar","ni","nis","nisd","niv","NJcy","njcy","nlarr","nlArr","nldr","nlE","nle","nleftarrow","nLeftarrow","nleftrightarrow","nLeftrightarrow","nleq","nleqq","nleqslant","nles","nless","nLl","nlsim","nLt","nlt","nltri","nltrie","nLtv","nmid","NoBreak","NonBreakingSpace","nopf","Nopf","Not","NotCongruent","NotCupCap","NotDoubleVerticalBar","NotElement","NotEqual","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","NotHumpDownHump","NotHumpEqual","notin","notindot","notinE","notinva","notinvb","notinvc","NotLeftTriangleBar","NotLeftTriangle","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","notni","notniva","notnivb","notnivc","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotReverseElement","NotRightTriangleBar","NotRightTriangle","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","nparallel","npar","nparsl","npart","npolint","npr","nprcue","nprec","npreceq","npre","nrarrc","nrarr","nrArr","nrarrw","nrightarrow","nRightarrow","nrtri","nrtrie","nsc","nsccue","nsce","Nscr","nscr","nshortmid","nshortparallel","nsim","nsime","nsimeq","nsmid","nspar","nsqsube","nsqsupe","nsub","nsubE","nsube","nsubset","nsubseteq","nsubseteqq","nsucc","nsucceq","nsup","nsupE","nsupe","nsupset","nsupseteq","nsupseteqq","ntgl","Ntilde","ntilde","ntlg","ntriangleleft","ntrianglelefteq","ntriangleright","ntrianglerighteq","Nu","nu","numero","numsp","nvap","nvdash","nvDash","nVdash","nVDash","nvge","nvgt","nvHarr","nvinfin","nvlArr","nvle","nvlt","nvltrie","nvrArr","nvrtrie","nvsim","nwarhk","nwarr","nwArr","nwarrow","nwnear","Oacute","oacute","oast","Ocirc","ocirc","ocir","Ocy","ocy","odash","Odblac","odblac","odiv","odot","odsold","OElig","oelig","ofcir","Ofr","ofr","ogon","Ograve","ograve","ogt","ohbar","ohm","oint","olarr","olcir","olcross","oline","olt","Omacr","omacr","Omega","omega","Omicron","omicron","omid","ominus","Oopf","oopf","opar","OpenCurlyDoubleQuote","OpenCurlyQuote","operp","oplus","orarr","Or","orderof","ordf","ordm","origof","oror","orslope","orv","oS","Oscr","oscr","Oslash","oslash","osol","Otilde","otilde","otimesas","Otimes","otimes","Ouml","ouml","ovbar","OverBar","OverBrace","OverBracket","OverParenthesis","para","parallel","par","parsim","parsl","PartialD","Pcy","pcy","percnt","permil","perp","pertenk","Pfr","pfr","Phi","phi","phiv","phmmat","Pi","pi","pitchfork","piv","planck","planckh","plankv","plusacir","plusb","pluscir","plusdo","plusdu","pluse","PlusMinus","plusmn","plussim","plustwo","pm","Poincareplane","pointint","popf","Popf","pound","prap","Pr","pr","prcue","precapprox","prec","preccurlyeq","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","preceq","precnapprox","precneqq","precnsim","prE","precsim","prime","Prime","primes","prnap","prnE","prnsim","prod","Product","profalar","profline","profsurf","Proportional","Proportion","propto","prsim","prurel","Pscr","pscr","Psi","psi","puncsp","Qfr","qfr","qint","qopf","Qopf","qprime","Qscr","qscr","quaternions","quatint","quest","questeq","quot","QUOT","rAarr","Racute","racute","radic","raemptyv","rang","Rang","rangd","rangle","raquo","rarrap","rarrb","rarrbfs","rarrc","rarr","Rarr","rArr","rarrfs","rarrhk","rarrlp","rarrpl","rarrsim","Rarrtl","rarrtl","rarrw","ratail","rAtail","ratio","rationals","rbarr","rBarr","RBarr","rbbrk","rbrack","rbrke","rbrksld","rbrkslu","Rcaron","rcaron","Rcedil","rcedil","rceil","rcub","Rcy","rcy","rdca","rdldhar","rdquo","rdquor","rdsh","real","realine","realpart","reals","Re","reg","REG","ReverseElement","ReverseEquilibrium","ReverseUpEquilibrium","rfisht","rfloor","rfr","Rfr","rHar","rhard","rharu","rharul","Rho","rho","rhov","RightAngleBracket","RightArrowBar","rightarrow","RightArrow","Rightarrow","RightArrowLeftArrow","rightarrowtail","RightCeiling","RightDoubleBracket","RightDownTeeVector","RightDownVectorBar","RightDownVector","RightFloor","rightharpoondown","rightharpoonup","rightleftarrows","rightleftharpoons","rightrightarrows","rightsquigarrow","RightTeeArrow","RightTee","RightTeeVector","rightthreetimes","RightTriangleBar","RightTriangle","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVectorBar","RightUpVector","RightVectorBar","RightVector","ring","risingdotseq","rlarr","rlhar","rlm","rmoustache","rmoust","rnmid","roang","roarr","robrk","ropar","ropf","Ropf","roplus","rotimes","RoundImplies","rpar","rpargt","rppolint","rrarr","Rrightarrow","rsaquo","rscr","Rscr","rsh","Rsh","rsqb","rsquo","rsquor","rthree","rtimes","rtri","rtrie","rtrif","rtriltri","RuleDelayed","ruluhar","rx","Sacute","sacute","sbquo","scap","Scaron","scaron","Sc","sccue","scE","Scedil","scedil","Scirc","scirc","scnap","scnE","scnsim","scpolint","scsim","Scy","scy","sdotb","sdot","sdote","searhk","searr","seArr","searrow","sect","semi","seswar","setminus","setmn","sext","Sfr","sfr","sfrown","sharp","SHCHcy","shchcy","SHcy","shcy","ShortDownArrow","ShortLeftArrow","shortmid","shortparallel","ShortRightArrow","ShortUpArrow","shy","Sigma","sigma","sigmaf","sigmav","sim","simdot","sime","simeq","simg","simgE","siml","simlE","simne","simplus","simrarr","slarr","SmallCircle","smallsetminus","smashp","smeparsl","smid","smile","smt","smte","smtes","SOFTcy","softcy","solbar","solb","sol","Sopf","sopf","spades","spadesuit","spar","sqcap","sqcaps","sqcup","sqcups","Sqrt","sqsub","sqsube","sqsubset","sqsubseteq","sqsup","sqsupe","sqsupset","sqsupseteq","square","Square","SquareIntersection","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","squarf","squ","squf","srarr","Sscr","sscr","ssetmn","ssmile","sstarf","Star","starf","straightepsilon","straightphi","strns","sub","Sub","subdot","subE","sube","subedot","submult","subnE","subne","subplus","subrarr","subset","Subset","subseteq","subseteqq","SubsetEqual","subsetneq","subsetneqq","subsim","subsub","subsup","succapprox","succ","succcurlyeq","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","succeq","succnapprox","succneqq","succnsim","succsim","SuchThat","Sum","sung","sup1","sup2","sup3","sup","Sup","supdot","supdsub","supE","supe","supedot","Superset","SupersetEqual","suphsol","suphsub","suplarr","supmult","supnE","supne","supplus","supset","Supset","supseteq","supseteqq","supsetneq","supsetneqq","supsim","supsub","supsup","swarhk","swarr","swArr","swarrow","swnwar","szlig","Tab","Tau","tau","tbrk","Tcaron","tcaron","Tcedil","tcedil","Tcy","tcy","tdot","telrec","Tfr","tfr","there4","therefore","Therefore","Theta","theta","thetasym","thetav","thickapprox","thicksim","ThickSpace","ThinSpace","thinsp","thkap","thksim","THORN","thorn","tilde","Tilde","TildeEqual","TildeFullEqual","TildeTilde","timesbar","timesb","timesd","tint","toea","topbot","topcir","Topf","topf","topfork","tosa","tprime","trade","TRADE","triangle","triangledown","triangleleft","trianglelefteq","triangleq","triangleright","trianglerighteq","tridot","trie","triminus","TripleDot","triplus","trisb","tritime","trpezium","Tscr","tscr","TScy","tscy","TSHcy","tshcy","Tstrok","tstrok","twixt","twoheadleftarrow","twoheadrightarrow","Uacute","uacute","uarr","Uarr","uArr","Uarrocir","Ubrcy","ubrcy","Ubreve","ubreve","Ucirc","ucirc","Ucy","ucy","udarr","Udblac","udblac","udhar","ufisht","Ufr","ufr","Ugrave","ugrave","uHar","uharl","uharr","uhblk","ulcorn","ulcorner","ulcrop","ultri","Umacr","umacr","uml","UnderBar","UnderBrace","UnderBracket","UnderParenthesis","Union","UnionPlus","Uogon","uogon","Uopf","uopf","UpArrowBar","uparrow","UpArrow","Uparrow","UpArrowDownArrow","updownarrow","UpDownArrow","Updownarrow","UpEquilibrium","upharpoonleft","upharpoonright","uplus","UpperLeftArrow","UpperRightArrow","upsi","Upsi","upsih","Upsilon","upsilon","UpTeeArrow","UpTee","upuparrows","urcorn","urcorner","urcrop","Uring","uring","urtri","Uscr","uscr","utdot","Utilde","utilde","utri","utrif","uuarr","Uuml","uuml","uwangle","vangrt","varepsilon","varkappa","varnothing","varphi","varpi","varpropto","varr","vArr","varrho","varsigma","varsubsetneq","varsubsetneqq","varsupsetneq","varsupsetneqq","vartheta","vartriangleleft","vartriangleright","vBar","Vbar","vBarv","Vcy","vcy","vdash","vDash","Vdash","VDash","Vdashl","veebar","vee","Vee","veeeq","vellip","verbar","Verbar","vert","Vert","VerticalBar","VerticalLine","VerticalSeparator","VerticalTilde","VeryThinSpace","Vfr","vfr","vltri","vnsub","vnsup","Vopf","vopf","vprop","vrtri","Vscr","vscr","vsubnE","vsubne","vsupnE","vsupne","Vvdash","vzigzag","Wcirc","wcirc","wedbar","wedge","Wedge","wedgeq","weierp","Wfr","wfr","Wopf","wopf","wp","wr","wreath","Wscr","wscr","xcap","xcirc","xcup","xdtri","Xfr","xfr","xharr","xhArr","Xi","xi","xlarr","xlArr","xmap","xnis","xodot","Xopf","xopf","xoplus","xotime","xrarr","xrArr","Xscr","xscr","xsqcup","xuplus","xutri","xvee","xwedge","Yacute","yacute","YAcy","yacy","Ycirc","ycirc","Ycy","ycy","yen","Yfr","yfr","YIcy","yicy","Yopf","yopf","Yscr","yscr","YUcy","yucy","yuml","Yuml","Zacute","zacute","Zcaron","zcaron","Zcy","zcy","Zdot","zdot","zeetrf","ZeroWidthSpace","Zeta","zeta","zfr","Zfr","ZHcy","zhcy","zigrarr","zopf","Zopf","Zscr","zscr","zwj","zwnj","53","isOptionsObj","resetScanCache","__text_cache__","createValidator","createNormalizer","untpl","src_tlds","schemaError","__opts__","tlds","__tlds__","onCompile","__tlds_replaced__","tlds_2ch_src_re","src_xn","email_fuzzy","tpl_email_fuzzy","link_fuzzy","tpl_link_fuzzy","link_no_ip_fuzzy","tpl_link_no_ip_fuzzy","host_fuzzy_test","tpl_host_fuzzy_test","__compiled__","__schemas__","slist","schema_test","src_ZPCc","schema_search","Match","__last_index__","__schema__","createMatch","schemas","defaultSchemas","tlds_default","fuzzyLink","fuzzyEmail","fuzzyIP","http:","src_auth","src_host_port_strict","src_path","https:","ftp:","//","no_http","src_domain","src_domain_root","src_port","src_host_terminator","mailto:","mailto","src_email_name","src_host_strict","tld_pos","at_pos","testSchemaAt","keepOld","./lib/re","54","src_Any","src_Cc","src_Z","src_P","src_ZCc","text_separators","src_pseudo_letter","src_ip4","src_host","tpl_host_fuzzy","tpl_host_no_ip_fuzzy","tpl_host_fuzzy_strict","tpl_host_port_fuzzy_strict","tpl_host_port_no_ip_fuzzy_strict","uc.micro/categories/Cc/regex","uc.micro/categories/Z/regex","uc.micro/properties/Any/regex","55","getDecodeCache","exclude","decodeCache","defaultChars","b1","b2","b3","b4","componentChars","56","getEncodeCache","encodeCache","keepEscaped","nextCode","57","slashes","58","./decode","./encode","./format","./parse","59","Url","slashesDenoteHost","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","hostlessProtocol","javascript","javascript:","slashedProtocol","gopher","gopher:","file:","lowerProto","hec","simplePath","hostEnd","atSign","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","qm","60","mapDomain","regexSeparators","labels","encoded","ucs2decode","ucs2encode","stringFromCharCode","basicToDigit","codePoint","digitToBasic","adapt","numPoints","damp","baseMinusTMin","tMax","skew","basic","oldi","baseMinusT","inputLength","initialN","bias","initialBias","maxInt","tMin","handledCPCount","basicLength","handledCPCountPlusOne","qMinusT","regexPunycode","regexNonASCII","not-basic","invalid-input","ucs2","61","62","63","64","65","Any","Cc","Cf","./categories/Cc/regex","./categories/Cf/regex","./categories/P/regex","./categories/Z/regex","./properties/Any/regex","66","67","./lib/","_self","WorkerGlobalScope","Prism","manual","disableWorkerMessageHandler","objId","visited","redef","grammar","newToken","DFS","highlightAll","highlightAllUnder","highlightElement","Worker","worker","onmessage","highlightedCode","postMessage","immediateClose","matchGrammar","strarr","oneshot","lookbehind","greedy","lookbehindLength","delNum","matchedStr","currentScript","prolog","doctype","punctuation","attr-value","attr-name","mathml","svg","atrule","important","style-attr","clike","class-name","function-variable","template-string","interpolation-punctuation","js","fileHighlight","Extensions","py","rb","ps1","psm1","bat","tex","registerButton","classMap","customClass","cm","prefixString","AutoList","list_start","Autolinker","cfg","urls","normalizeUrlsCfg","hashtag","mention","newWindow","stripPrefix","normalizeStripPrefixCfg","stripTrailingSlash","decodePercentEncoding","normalizeTruncateCfg","tagBuilder","textOrHtml","autolinker","schemeMatches","wwwMatches","tldMatches","www","getHtmlParser","htmlNodes","anchorTagStackCount","getType","getTagName","isClosing","textNodeMatches","parseText","compactMatches","removeUnwantedMatches","matchedTextLength","getMatchedText","endIdx","removeIdx","getUrlMatchType","getMatchers","numMatchers","textMatches","parseMatches","numTextMatches","newHtml","createMatchReturnVal","replaceFnResult","HtmlTag","toAnchorString","anchorTag","buildTag","matchersNs","getTagBuilder","Hashtag","Email","Phone","Mention","AnchorTagBuilder","abstractMethod","trimRegex","superclass","superclassProto","F","subclass","subclassProto","ellipsis","truncateLen","ellipsisChars","ellipsisLength","splitAndCapture","splitRegex","lastIdx","whitespaceRegex","innerHtml","setTagName","setAttr","tagAttrs","getAttrs","getAttr","setAttrs","newClass","classAttr","setInnerHtml","getInnerHtml","attrsStr","buildAttrsStr","attrsArr","RegexLib","alphaCharsStr","decimalNumbersStr","alphaNumericCharsStr","ipStr","domainLabelStr","getDomainLabelStr","getDomainNameStr","build","createAttrs","processAnchorText","getAnchorText","getAnchorHref","createCssClass","returnClasses","cssClassSuffixes","getCssClassSuffixes","anchorText","doTruncate","truncateLength","truncateLocation","TruncateSmart","TruncateMiddle","TruncateEnd","htmlRegex","commentTagRegex","tagNameRegex","attrNameRegex","attrValueRegex","optionalAttrValueRegex","getNameEqualsValueRegex","htmlCharacterEntitiesRegex","currentResult","textAndEntityNodes","tagText","commentText","isClosingTag","inBetweenTagsText","parseTextAndEntityNodes","createCommentNode","createElementNode","textAndEntityTokens","textToken","entityToken","createEntityNode","CommentNode","ElementNode","closing","EntityNode","TextNode","HtmlNode","getComment","matchedText","getEmail","getServiceName","getHashtag","plusSign","getNumber","getMention","urlMatchType","protocolUrlMatch","protocolRelativeMatch","schemePrefixRegex","wwwPrefixRegex","protocolRelativeRegex","protocolPrepended","getUrl","stripProtocolRelativePrefix","stripSchemePrefix","stripWwwPrefix","removeTrailingSlash","removePercentEncoding","tldRegex","Matcher","matcherRegex","alphaNumericChars","specialCharacters","restrictedSpecialCharacters","validCharacters","validRestrictedCharacters","emailRegex","nonWordCharRegex","prevChar","cleanNumber","testMatch","matcherRegexes","twitter","instagram","schemeRegex","wwwRegex","urlSuffixRegex","wordCharRegExp","openParensRe","closeParensRe","matchStr","schemeUrlMatch","wwwUrlMatch","wwwProtocolRelativeMatch","tldProtocolRelativeMatch","UrlMatchValidator","matchHasUnbalancedClosingParen","matchHasInvalidCharAfterTld","openParensMatch","closeParensMatch","numOpenParens","numCloseParens","urlMatch","alphaNumeric","hasFullProtocolRegex","uriSchemeRegex","hasWordCharAfterProtocolRegex","ipRegex","isValidUriScheme","urlMatchDoesNotHaveProtocolOrDot","urlMatchDoesNotHaveAtLeastOneWordChar","isValidIpAddress","containsMultipleDots","uriSchemeMatch","newRegex","uriScheme","stringBeforeSlash","ellipsisLengthBeforeParsing","availableLength","parse_url","urlObj","urlSub","buildSegment","remainingAvailableLength","remainingAvailableLengthHalf","matchQuery","pathAndQuery","remainingAvailableLength2","MoreEvents","__context","LocalDimensions","Point","onDown","downTime","toPoint","down","up","startX","startY","onMove","onUp","scrolling","newTarget","leaving","lastmousex","lastmousey","getRect","removeSpecial","addSpecial","timeOut","Emitter","dt","AutoScroller","autoScroll","hasWindow","autoScrollV","autoScrollH","scrollWhenOutside","pixels","pointCB","createPointCB","defineProperties","AutoScrollerFactory","onceListener","canRun","originalTarget","multipleSortableClass","mainClass","inProgress","removeEventFn","dragMultiple","currentLeft","currentTop","draggingItems","elmIndex","refreshOriginal","draggedItemsOriginal","isMultiple","setIndex","mainFound","prepare","itemsCloned","tgRepeat","immutable_collection","immutable_value","MentionExtension","isEditMode","hidePanel","mentionPanel","isBackspace","keyDownMentionPanel","moveKeys","focusNode","cancelMentionSpace","endChar","getLastWord","showPanel","wordNode","parentLink","surroundContents","refreshPositionPanel","selectMention","subject","getItems","renderPanel","markdownitLazyHeaders","heading"],"mappings":"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,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,KAAAC,IAAA,KACAC,IAAA,KAAAC,IAAA,KACAC,IAAA,KAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,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ACAysB,MACA97G,KAAA,OACA03E,OAAA,OACAizN,KAAA,OACAC,UAAA,IAAA,UACAn8Q,OACAzf,KAAA,cACApW,MAAA,YAEAiyS,eAAA,EACAC,eAAA,WACAC,UAAA,8BAEAhvL,QACA/7G,KAAA,SACA03E,OAAA,SACAizN,KAAA,SACAC,UAAA,IAAA,MACAn8Q,OACAzf,KAAA,aACApW,MAAA,UAEAiyS,eAAA,EACAC,eAAA,kBACAC,UAAA,gCAEA/uL,WACAh8G,KAAA,YACA03E,OAAA,YACAizN,KAAA,YACAC,UAAA,KACAn8Q,OACAzf,KAAA,kBACApW,MAAA,aAEAiyS,eAAA,EACAC,eAAA,kBACAC,UAAA,mCAEAc,eACA7rS,KAAA,gBACA03E,OAAA,gBACAizN,KAAA,iBACAC,UAAA,UACAn8Q,OACAzf,KAAA,kBACApW,MAAA,gBAEAiyS,eAAA,EACAC,eAAA,WACAC,UAAA,uCAEAe,aACA9rS,KAAA,cACA03E,OAAA,cACAizN,KAAA,cACAC,UAAA,OAIAE,eAAA,uBACAC,UAAA,qCAEAgB,WACA/rS,KAAA,YACA03E,OAAA,YACAizN,KAAA,YACAC,UAAA,OAIAE,eAAA,uBACAC,UAAA,mCAEAj+P,OACA9sC,KAAA,QACA03E,OAAA,QACAizN,KAAA,QACAC,UAAA,OACAE,eAAA,eACAC,UAAA,mCAEAx3Q,MACAvzB,KAAA,OACA03E,OAAA,OACAizN,KAAA,gBACAC,UAAA,SAAA,UACAE,eAAA,cACAC,UAAA,8BAEAiB,aACAhsS,KAAA,cACA03E,OAAA,oBACAizN,KAAA,eACAC,UAAA,MACAC,eAAA,EACAC,eAAA,YACAC,UAAA,iCAEAkB,eACAjsS,KAAA,gBACA03E,OAAA,sBACAizN,KAAA,iBACAC,UAAA,MACAC,eAAA,EACAC,eAAA,gBACAC,UAAA,iCAEA38R,QACApO,KAAA,SACA03E,OAAA,SACAizN,KAAA,SACAC,YACAE,eAAA,gBACAC,UAAA,gCAEAmB,SACAlsS,KAAA,UACA03E,OAAA,UACAizN,KAAA,UACAC,YACAE,eAAA,gBACAC,UAAA,iCAEAoB,eACAnsS,KAAA,gBACA03E,OAAA,gBACAizN,KAAA,iBACAC,YACAn8Q,OACAzf,KAAA,aACApW,MAAA,UAEAkyS,eAAA,WACAC,UAAA,sCAEAqB,aACApsS,KAAA,cACA03E,OAAA,cACAizN,KAAA,eACAC,YACAn8Q,OACAzf,KAAA,aACApW,MAAA,WAEAkyS,eAAA,WACAC,UAAA,uCAEAsB,aACArsS,KAAA,cACA03E,OAAA,cACAizN,KAAA,eACAC,YACAn8Q,OACAzf,KAAA,aACApW,MAAA,QAEAkyS,eAAA,WACAC,UAAA,oCAEAuB,cACAtsS,KAAA,eACA03E,OAAA,eACAizN,KAAA,gBACAC,YACAn8Q,OACAzf,KAAA,aACApW,MAAA,SAEAkyS,eAAA,WACAC,UAAA,qCAIAwB,cACAvsS,KAAA,eACA2qS,KAAA,oBACAjzN,OAAA,eACAozN,eAAA,WACAC,UAAA,gCAKAz5M,OACAtxF,KAAA,QACA03E,OAAA,oBACAizN,KAAA,aACAC,UAAA,cACAE,eAAA,iBACAC,UAAA,qCAEA5kK,KACAnmI,KAAA,MACA03E,OAAA,aACAizN,KAAA,oBACAC,UAAA,OACAE,eAAA,cACAC,UAAA,oCAEA15S,IACA2O,KAAA,KACA03E,OAAA,YACAizN,KAAA,kBACAC,UAAA,MACAE,eAAA,YACAC,UAAA,wCAEAv1L,IACAx1G,KAAA,KACA03E,OAAA,YACAizN,KAAA,kBACAC,UAAA,MACAE,eAAA,YACAC,UAAA,wCAEAt1L,IACAz1G,KAAA,KACA03E,OAAA,YACAizN,KAAA,oBACAC,UAAA,MACAE,eAAA,YACAC,UAAA,wCAEAr1L,IACA11G,KAAA,KACA03E,OAAA,YACAizN,KAAA,mBACAC,UAAA,MACAE,eAAA,YACAC,UAAA,wCAEAyB,IACAxsS,KAAA,KACA03E,OAAA,YACAizN,KAAA,mBACAC,UAAA,MACAE,eAAA,YACAC,UAAA,wCAEA0B,IACAzsS,KAAA,KACA03E,OAAA,YACAizN,KAAA,kBACAC,UAAA,MACAE,eAAA,YACAC,UAAA,4CAMA,WAMA,GAAA2B,GAAAjT,EAAAC,WAAArtP,OAAA5Z,QA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","file":"../libs.js","sourcesContent":["/*\r\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\r\n * in FIPS PUB 180-1\r\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\r\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r\n * Distributed under the BSD License\r\n * See http://pajhome.org.uk/crypt/md5 for details.\r\n */\r\n\r\n/*\r\n * Configurable variables. You may need to tweak these to be compatible with\r\n * the server-side, but the defaults work in most cases.\r\n */\r\nvar hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */\r\nvar b64pad = \"\"; /* base-64 pad character. \"=\" for strict RFC compliance */\r\nvar chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */\r\n\r\n/*\r\n * These are the functions you'll usually want to call\r\n * They take string arguments and return either hex or base-64 encoded strings\r\n */\r\nfunction hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * chrsz));}\r\nfunction b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * chrsz));}\r\nfunction str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * chrsz));}\r\nfunction hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, data));}\r\nfunction b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, data));}\r\nfunction str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, data));}\r\n\r\n/*\r\n * Perform a simple self-test to see if the VM is working\r\n */\r\nfunction sha1_vm_test()\r\n{\r\n return hex_sha1(\"abc\") == \"a9993e364706816aba3e25717850c26c9cd0d89d\";\r\n}\r\n\r\n/*\r\n * Calculate the SHA-1 of an array of big-endian words, and a bit length\r\n */\r\nfunction core_sha1(x, len)\r\n{\r\n /* append padding */\r\n x[len >> 5] |= 0x80 << (24 - len % 32);\r\n x[((len + 64 >> 9) << 4) + 15] = len;\r\n\r\n var w = Array(80);\r\n var a = 1732584193;\r\n var b = -271733879;\r\n var c = -1732584194;\r\n var d = 271733878;\r\n var e = -1009589776;\r\n\r\n for(var i = 0; i < x.length; i += 16)\r\n {\r\n var olda = a;\r\n var oldb = b;\r\n var oldc = c;\r\n var oldd = d;\r\n var olde = e;\r\n\r\n for(var j = 0; j < 80; j++)\r\n {\r\n if(j < 16) w[j] = x[i + j];\r\n else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);\r\n var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),\r\n safe_add(safe_add(e, w[j]), sha1_kt(j)));\r\n e = d;\r\n d = c;\r\n c = rol(b, 30);\r\n b = a;\r\n a = t;\r\n }\r\n\r\n a = safe_add(a, olda);\r\n b = safe_add(b, oldb);\r\n c = safe_add(c, oldc);\r\n d = safe_add(d, oldd);\r\n e = safe_add(e, olde);\r\n }\r\n return Array(a, b, c, d, e);\r\n\r\n}\r\n\r\n/*\r\n * Perform the appropriate triplet combination function for the current\r\n * iteration\r\n */\r\nfunction sha1_ft(t, b, c, d)\r\n{\r\n if(t < 20) return (b & c) | ((~b) & d);\r\n if(t < 40) return b ^ c ^ d;\r\n if(t < 60) return (b & c) | (b & d) | (c & d);\r\n return b ^ c ^ d;\r\n}\r\n\r\n/*\r\n * Determine the appropriate additive constant for the current iteration\r\n */\r\nfunction sha1_kt(t)\r\n{\r\n return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :\r\n (t < 60) ? -1894007588 : -899497514;\r\n}\r\n\r\n/*\r\n * Calculate the HMAC-SHA1 of a key and some data\r\n */\r\nfunction core_hmac_sha1(key, data)\r\n{\r\n var bkey = str2binb(key);\r\n if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz);\r\n\r\n var ipad = Array(16), opad = Array(16);\r\n for(var i = 0; i < 16; i++)\r\n {\r\n ipad[i] = bkey[i] ^ 0x36363636;\r\n opad[i] = bkey[i] ^ 0x5C5C5C5C;\r\n }\r\n\r\n var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz);\r\n return core_sha1(opad.concat(hash), 512 + 160);\r\n}\r\n\r\n/*\r\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\r\n * to work around bugs in some JS interpreters.\r\n */\r\nfunction safe_add(x, y)\r\n{\r\n var lsw = (x & 0xFFFF) + (y & 0xFFFF);\r\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\r\n return (msw << 16) | (lsw & 0xFFFF);\r\n}\r\n\r\n/*\r\n * Bitwise rotate a 32-bit number to the left.\r\n */\r\nfunction rol(num, cnt)\r\n{\r\n return (num << cnt) | (num >>> (32 - cnt));\r\n}\r\n\r\n/*\r\n * Convert an 8-bit or 16-bit string to an array of big-endian words\r\n * In 8-bit function, characters >255 have their hi-byte silently ignored.\r\n */\r\nfunction str2binb(str)\r\n{\r\n var bin = Array();\r\n var mask = (1 << chrsz) - 1;\r\n for(var i = 0; i < str.length * chrsz; i += chrsz)\r\n bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (32 - chrsz - i%32);\r\n return bin;\r\n}\r\n\r\n/*\r\n * Convert an array of big-endian words to a string\r\n */\r\nfunction binb2str(bin)\r\n{\r\n var str = \"\";\r\n var mask = (1 << chrsz) - 1;\r\n for(var i = 0; i < bin.length * 32; i += chrsz)\r\n str += String.fromCharCode((bin[i>>5] >>> (32 - chrsz - i%32)) & mask);\r\n return str;\r\n}\r\n\r\n/*\r\n * Convert an array of big-endian words to a hex string.\r\n */\r\nfunction binb2hex(binarray)\r\n{\r\n var hex_tab = hexcase ? \"0123456789ABCDEF\" : \"0123456789abcdef\";\r\n var str = \"\";\r\n for(var i = 0; i < binarray.length * 4; i++)\r\n {\r\n str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +\r\n hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF);\r\n }\r\n return str;\r\n}\r\n\r\n/*\r\n * Convert an array of big-endian words to a base-64 string\r\n */\r\nfunction binb2b64(binarray)\r\n{\r\n var tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n var str = \"\";\r\n for(var i = 0; i < binarray.length * 4; i += 3)\r\n {\r\n var triplet = (((binarray[i >> 2] >> 8 * (3 - i %4)) & 0xFF) << 16)\r\n | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 )\r\n | ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);\r\n for(var j = 0; j < 4; j++)\r\n {\r\n if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;\r\n else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);\r\n }\r\n }\r\n return str;\r\n}\r\n","/**\n * JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n *\n * Copyright (c) 2011 Gary Court\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} key ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n */\n\nfunction murmurhash3_32_gc(key, seed) {\n\tvar remainder, bytes, h1, h1b, c1, c1b, c2, c2b, k1, i;\n\n\tremainder = key.length & 3; // key.length % 4\n\tbytes = key.length - remainder;\n\th1 = seed;\n\tc1 = 0xcc9e2d51;\n\tc2 = 0x1b873593;\n\ti = 0;\n\n\twhile (i < bytes) {\n\t\tk1 =\n\t\t ((key.charCodeAt(i) & 0xff)) |\n\t\t ((key.charCodeAt(++i) & 0xff) << 8) |\n\t\t ((key.charCodeAt(++i) & 0xff) << 16) |\n\t\t ((key.charCodeAt(++i) & 0xff) << 24);\n\t\t++i;\n\n\t\tk1 = ((((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16))) & 0xffffffff;\n\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\tk1 = ((((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16))) & 0xffffffff;\n\n\t\th1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n\t\th1b = ((((h1 & 0xffff) * 5) + ((((h1 >>> 16) * 5) & 0xffff) << 16))) & 0xffffffff;\n\t\th1 = (((h1b & 0xffff) + 0x6b64) + ((((h1b >>> 16) + 0xe654) & 0xffff) << 16));\n\t}\n\n\tk1 = 0;\n\n\tswitch (remainder) {\n\t\tcase 3: k1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;\n\t\tcase 2: k1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;\n\t\tcase 1: k1 ^= (key.charCodeAt(i) & 0xff);\n\n\t\tk1 = (((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16)) & 0xffffffff;\n\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\tk1 = (((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16)) & 0xffffffff;\n\t\th1 ^= k1;\n\t}\n\n\th1 ^= key.length;\n\n\th1 ^= h1 >>> 16;\n\th1 = (((h1 & 0xffff) * 0x85ebca6b) + ((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) & 0xffffffff;\n\th1 ^= h1 >>> 13;\n\th1 = ((((h1 & 0xffff) * 0xc2b2ae35) + ((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16))) & 0xffffffff;\n\th1 ^= h1 >>> 16;\n\n\treturn h1 >>> 0;\n}\n\n\n","/* @preserve\n * The MIT License (MIT)\n * \n * Copyright (c) 2013-2017 Petka Antonov\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n * \n */\n/**\n * bluebird build version 3.5.1\n * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each\n*/\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var f;\"undefined\"!=typeof window?f=window:\"undefined\"!=typeof global?f=global:\"undefined\"!=typeof self&&(f=self),f.Promise=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_==\"function\"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_==\"function\"&&_dereq_;for(var o=0;o 0) {\n var fn = queue.shift();\n if (typeof fn !== \"function\") {\n fn._settlePromises();\n continue;\n }\n var receiver = queue.shift();\n var arg = queue.shift();\n fn.call(receiver, arg);\n }\n};\n\nAsync.prototype._drainQueues = function () {\n this._drainQueue(this._normalQueue);\n this._reset();\n this._haveDrainedQueues = true;\n this._drainQueue(this._lateQueue);\n};\n\nAsync.prototype._queueTick = function () {\n if (!this._isTickUsed) {\n this._isTickUsed = true;\n this._schedule(this.drainQueues);\n }\n};\n\nAsync.prototype._reset = function () {\n this._isTickUsed = false;\n};\n\nmodule.exports = Async;\nmodule.exports.firstLineError = firstLineError;\n\n},{\"./queue\":26,\"./schedule\":29,\"./util\":36}],3:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) {\nvar calledBind = false;\nvar rejectThis = function(_, e) {\n this._reject(e);\n};\n\nvar targetRejected = function(e, context) {\n context.promiseRejectionQueued = true;\n context.bindingPromise._then(rejectThis, rejectThis, null, this, e);\n};\n\nvar bindingResolved = function(thisArg, context) {\n if (((this._bitField & 50397184) === 0)) {\n this._resolveCallback(context.target);\n }\n};\n\nvar bindingRejected = function(e, context) {\n if (!context.promiseRejectionQueued) this._reject(e);\n};\n\nPromise.prototype.bind = function (thisArg) {\n if (!calledBind) {\n calledBind = true;\n Promise.prototype._propagateFrom = debug.propagateFromFunction();\n Promise.prototype._boundValue = debug.boundValueFunction();\n }\n var maybePromise = tryConvertToPromise(thisArg);\n var ret = new Promise(INTERNAL);\n ret._propagateFrom(this, 1);\n var target = this._target();\n ret._setBoundTo(maybePromise);\n if (maybePromise instanceof Promise) {\n var context = {\n promiseRejectionQueued: false,\n promise: ret,\n target: target,\n bindingPromise: maybePromise\n };\n target._then(INTERNAL, targetRejected, undefined, ret, context);\n maybePromise._then(\n bindingResolved, bindingRejected, undefined, ret, context);\n ret._setOnCancel(maybePromise);\n } else {\n ret._resolveCallback(target);\n }\n return ret;\n};\n\nPromise.prototype._setBoundTo = function (obj) {\n if (obj !== undefined) {\n this._bitField = this._bitField | 2097152;\n this._boundTo = obj;\n } else {\n this._bitField = this._bitField & (~2097152);\n }\n};\n\nPromise.prototype._isBound = function () {\n return (this._bitField & 2097152) === 2097152;\n};\n\nPromise.bind = function (thisArg, value) {\n return Promise.resolve(value).bind(thisArg);\n};\n};\n\n},{}],4:[function(_dereq_,module,exports){\n\"use strict\";\nvar old;\nif (typeof Promise !== \"undefined\") old = Promise;\nfunction noConflict() {\n try { if (Promise === bluebird) Promise = old; }\n catch (e) {}\n return bluebird;\n}\nvar bluebird = _dereq_(\"./promise\")();\nbluebird.noConflict = noConflict;\nmodule.exports = bluebird;\n\n},{\"./promise\":22}],5:[function(_dereq_,module,exports){\n\"use strict\";\nvar cr = Object.create;\nif (cr) {\n var callerCache = cr(null);\n var getterCache = cr(null);\n callerCache[\" size\"] = getterCache[\" size\"] = 0;\n}\n\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar isIdentifier = util.isIdentifier;\n\nvar getMethodCaller;\nvar getGetter;\nif (!true) {\nvar makeMethodCaller = function (methodName) {\n return new Function(\"ensureMethod\", \" \\n\\\n return function(obj) { \\n\\\n 'use strict' \\n\\\n var len = this.length; \\n\\\n ensureMethod(obj, 'methodName'); \\n\\\n switch(len) { \\n\\\n case 1: return obj.methodName(this[0]); \\n\\\n case 2: return obj.methodName(this[0], this[1]); \\n\\\n case 3: return obj.methodName(this[0], this[1], this[2]); \\n\\\n case 0: return obj.methodName(); \\n\\\n default: \\n\\\n return obj.methodName.apply(obj, this); \\n\\\n } \\n\\\n }; \\n\\\n \".replace(/methodName/g, methodName))(ensureMethod);\n};\n\nvar makeGetter = function (propertyName) {\n return new Function(\"obj\", \" \\n\\\n 'use strict'; \\n\\\n return obj.propertyName; \\n\\\n \".replace(\"propertyName\", propertyName));\n};\n\nvar getCompiled = function(name, compiler, cache) {\n var ret = cache[name];\n if (typeof ret !== \"function\") {\n if (!isIdentifier(name)) {\n return null;\n }\n ret = compiler(name);\n cache[name] = ret;\n cache[\" size\"]++;\n if (cache[\" size\"] > 512) {\n var keys = Object.keys(cache);\n for (var i = 0; i < 256; ++i) delete cache[keys[i]];\n cache[\" size\"] = keys.length - 256;\n }\n }\n return ret;\n};\n\ngetMethodCaller = function(name) {\n return getCompiled(name, makeMethodCaller, callerCache);\n};\n\ngetGetter = function(name) {\n return getCompiled(name, makeGetter, getterCache);\n};\n}\n\nfunction ensureMethod(obj, methodName) {\n var fn;\n if (obj != null) fn = obj[methodName];\n if (typeof fn !== \"function\") {\n var message = \"Object \" + util.classString(obj) + \" has no method '\" +\n util.toString(methodName) + \"'\";\n throw new Promise.TypeError(message);\n }\n return fn;\n}\n\nfunction caller(obj) {\n var methodName = this.pop();\n var fn = ensureMethod(obj, methodName);\n return fn.apply(obj, this);\n}\nPromise.prototype.call = function (methodName) {\n var args = [].slice.call(arguments, 1);;\n if (!true) {\n if (canEvaluate) {\n var maybeCaller = getMethodCaller(methodName);\n if (maybeCaller !== null) {\n return this._then(\n maybeCaller, undefined, undefined, args, undefined);\n }\n }\n }\n args.push(methodName);\n return this._then(caller, undefined, undefined, args, undefined);\n};\n\nfunction namedGetter(obj) {\n return obj[this];\n}\nfunction indexedGetter(obj) {\n var index = +this;\n if (index < 0) index = Math.max(0, index + obj.length);\n return obj[index];\n}\nPromise.prototype.get = function (propertyName) {\n var isIndex = (typeof propertyName === \"number\");\n var getter;\n if (!isIndex) {\n if (canEvaluate) {\n var maybeGetter = getGetter(propertyName);\n getter = maybeGetter !== null ? maybeGetter : namedGetter;\n } else {\n getter = namedGetter;\n }\n } else {\n getter = indexedGetter;\n }\n return this._then(getter, undefined, undefined, propertyName, undefined);\n};\n};\n\n},{\"./util\":36}],6:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, PromiseArray, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nPromise.prototype[\"break\"] = Promise.prototype.cancel = function() {\n if (!debug.cancellation()) return this._warn(\"cancellation is disabled\");\n\n var promise = this;\n var child = promise;\n while (promise._isCancellable()) {\n if (!promise._cancelBy(child)) {\n if (child._isFollowing()) {\n child._followee().cancel();\n } else {\n child._cancelBranched();\n }\n break;\n }\n\n var parent = promise._cancellationParent;\n if (parent == null || !parent._isCancellable()) {\n if (promise._isFollowing()) {\n promise._followee().cancel();\n } else {\n promise._cancelBranched();\n }\n break;\n } else {\n if (promise._isFollowing()) promise._followee().cancel();\n promise._setWillBeCancelled();\n child = promise;\n promise = parent;\n }\n }\n};\n\nPromise.prototype._branchHasCancelled = function() {\n this._branchesRemainingToCancel--;\n};\n\nPromise.prototype._enoughBranchesHaveCancelled = function() {\n return this._branchesRemainingToCancel === undefined ||\n this._branchesRemainingToCancel <= 0;\n};\n\nPromise.prototype._cancelBy = function(canceller) {\n if (canceller === this) {\n this._branchesRemainingToCancel = 0;\n this._invokeOnCancel();\n return true;\n } else {\n this._branchHasCancelled();\n if (this._enoughBranchesHaveCancelled()) {\n this._invokeOnCancel();\n return true;\n }\n }\n return false;\n};\n\nPromise.prototype._cancelBranched = function() {\n if (this._enoughBranchesHaveCancelled()) {\n this._cancel();\n }\n};\n\nPromise.prototype._cancel = function() {\n if (!this._isCancellable()) return;\n this._setCancelled();\n async.invoke(this._cancelPromises, this, undefined);\n};\n\nPromise.prototype._cancelPromises = function() {\n if (this._length() > 0) this._settlePromises();\n};\n\nPromise.prototype._unsetOnCancel = function() {\n this._onCancelField = undefined;\n};\n\nPromise.prototype._isCancellable = function() {\n return this.isPending() && !this._isCancelled();\n};\n\nPromise.prototype.isCancellable = function() {\n return this.isPending() && !this.isCancelled();\n};\n\nPromise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) {\n if (util.isArray(onCancelCallback)) {\n for (var i = 0; i < onCancelCallback.length; ++i) {\n this._doInvokeOnCancel(onCancelCallback[i], internalOnly);\n }\n } else if (onCancelCallback !== undefined) {\n if (typeof onCancelCallback === \"function\") {\n if (!internalOnly) {\n var e = tryCatch(onCancelCallback).call(this._boundValue());\n if (e === errorObj) {\n this._attachExtraTrace(e.e);\n async.throwLater(e.e);\n }\n }\n } else {\n onCancelCallback._resultCancelled(this);\n }\n }\n};\n\nPromise.prototype._invokeOnCancel = function() {\n var onCancelCallback = this._onCancel();\n this._unsetOnCancel();\n async.invoke(this._doInvokeOnCancel, this, onCancelCallback);\n};\n\nPromise.prototype._invokeInternalOnCancel = function() {\n if (this._isCancellable()) {\n this._doInvokeOnCancel(this._onCancel(), true);\n this._unsetOnCancel();\n }\n};\n\nPromise.prototype._resultCancelled = function() {\n this.cancel();\n};\n\n};\n\n},{\"./util\":36}],7:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar getKeys = _dereq_(\"./es5\").keys;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction catchFilter(instances, cb, promise) {\n return function(e) {\n var boundTo = promise._boundValue();\n predicateLoop: for (var i = 0; i < instances.length; ++i) {\n var item = instances[i];\n\n if (item === Error ||\n (item != null && item.prototype instanceof Error)) {\n if (e instanceof item) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (typeof item === \"function\") {\n var matchesPredicate = tryCatch(item).call(boundTo, e);\n if (matchesPredicate === errorObj) {\n return matchesPredicate;\n } else if (matchesPredicate) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (util.isObject(e)) {\n var keys = getKeys(item);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n if (item[key] != e[key]) {\n continue predicateLoop;\n }\n }\n return tryCatch(cb).call(boundTo, e);\n }\n }\n return NEXT_FILTER;\n };\n}\n\nreturn catchFilter;\n};\n\n},{\"./es5\":13,\"./util\":36}],8:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar longStackTraces = false;\nvar contextStack = [];\n\nPromise.prototype._promiseCreated = function() {};\nPromise.prototype._pushContext = function() {};\nPromise.prototype._popContext = function() {return null;};\nPromise._peekContext = Promise.prototype._peekContext = function() {};\n\nfunction Context() {\n this._trace = new Context.CapturedTrace(peekContext());\n}\nContext.prototype._pushContext = function () {\n if (this._trace !== undefined) {\n this._trace._promiseCreated = null;\n contextStack.push(this._trace);\n }\n};\n\nContext.prototype._popContext = function () {\n if (this._trace !== undefined) {\n var trace = contextStack.pop();\n var ret = trace._promiseCreated;\n trace._promiseCreated = null;\n return ret;\n }\n return null;\n};\n\nfunction createContext() {\n if (longStackTraces) return new Context();\n}\n\nfunction peekContext() {\n var lastIndex = contextStack.length - 1;\n if (lastIndex >= 0) {\n return contextStack[lastIndex];\n }\n return undefined;\n}\nContext.CapturedTrace = null;\nContext.create = createContext;\nContext.deactivateLongStackTraces = function() {};\nContext.activateLongStackTraces = function() {\n var Promise_pushContext = Promise.prototype._pushContext;\n var Promise_popContext = Promise.prototype._popContext;\n var Promise_PeekContext = Promise._peekContext;\n var Promise_peekContext = Promise.prototype._peekContext;\n var Promise_promiseCreated = Promise.prototype._promiseCreated;\n Context.deactivateLongStackTraces = function() {\n Promise.prototype._pushContext = Promise_pushContext;\n Promise.prototype._popContext = Promise_popContext;\n Promise._peekContext = Promise_PeekContext;\n Promise.prototype._peekContext = Promise_peekContext;\n Promise.prototype._promiseCreated = Promise_promiseCreated;\n longStackTraces = false;\n };\n longStackTraces = true;\n Promise.prototype._pushContext = Context.prototype._pushContext;\n Promise.prototype._popContext = Context.prototype._popContext;\n Promise._peekContext = Promise.prototype._peekContext = peekContext;\n Promise.prototype._promiseCreated = function() {\n var ctx = this._peekContext();\n if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this;\n };\n};\nreturn Context;\n};\n\n},{}],9:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, Context) {\nvar getDomain = Promise._getDomain;\nvar async = Promise._async;\nvar Warning = _dereq_(\"./errors\").Warning;\nvar util = _dereq_(\"./util\");\nvar canAttachTrace = util.canAttachTrace;\nvar unhandledRejectionHandled;\nvar possiblyUnhandledRejection;\nvar bluebirdFramePattern =\n /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\nvar nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\nvar parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\nvar stackFramePattern = null;\nvar formatStack = null;\nvar indentStackFrames = false;\nvar printWarning;\nvar debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 &&\n (true ||\n util.env(\"BLUEBIRD_DEBUG\") ||\n util.env(\"NODE_ENV\") === \"development\"));\n\nvar warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n\nvar longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n\nvar wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 &&\n (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n\nPromise.prototype.suppressUnhandledRejections = function() {\n var target = this._target();\n target._bitField = ((target._bitField & (~1048576)) |\n 524288);\n};\n\nPromise.prototype._ensurePossibleRejectionHandled = function () {\n if ((this._bitField & 524288) !== 0) return;\n this._setRejectionIsUnhandled();\n var self = this;\n setTimeout(function() {\n self._notifyUnhandledRejection();\n }, 1);\n};\n\nPromise.prototype._notifyUnhandledRejectionIsHandled = function () {\n fireRejectionEvent(\"rejectionHandled\",\n unhandledRejectionHandled, undefined, this);\n};\n\nPromise.prototype._setReturnedNonUndefined = function() {\n this._bitField = this._bitField | 268435456;\n};\n\nPromise.prototype._returnedNonUndefined = function() {\n return (this._bitField & 268435456) !== 0;\n};\n\nPromise.prototype._notifyUnhandledRejection = function () {\n if (this._isRejectionUnhandled()) {\n var reason = this._settledValue();\n this._setUnhandledRejectionIsNotified();\n fireRejectionEvent(\"unhandledRejection\",\n possiblyUnhandledRejection, reason, this);\n }\n};\n\nPromise.prototype._setUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField | 262144;\n};\n\nPromise.prototype._unsetUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField & (~262144);\n};\n\nPromise.prototype._isUnhandledRejectionNotified = function () {\n return (this._bitField & 262144) > 0;\n};\n\nPromise.prototype._setRejectionIsUnhandled = function () {\n this._bitField = this._bitField | 1048576;\n};\n\nPromise.prototype._unsetRejectionIsUnhandled = function () {\n this._bitField = this._bitField & (~1048576);\n if (this._isUnhandledRejectionNotified()) {\n this._unsetUnhandledRejectionIsNotified();\n this._notifyUnhandledRejectionIsHandled();\n }\n};\n\nPromise.prototype._isRejectionUnhandled = function () {\n return (this._bitField & 1048576) > 0;\n};\n\nPromise.prototype._warn = function(message, shouldUseOwnTrace, promise) {\n return warn(message, shouldUseOwnTrace, promise || this);\n};\n\nPromise.onPossiblyUnhandledRejection = function (fn) {\n var domain = getDomain();\n possiblyUnhandledRejection =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nPromise.onUnhandledRejectionHandled = function (fn) {\n var domain = getDomain();\n unhandledRejectionHandled =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nvar disableLongStackTraces = function() {};\nPromise.longStackTraces = function () {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (!config.longStackTraces && longStackTracesIsSupported()) {\n var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n config.longStackTraces = true;\n disableLongStackTraces = function() {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n Context.deactivateLongStackTraces();\n async.enableTrampoline();\n config.longStackTraces = false;\n };\n Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n Context.activateLongStackTraces();\n async.disableTrampolineIfNecessary();\n }\n};\n\nPromise.hasLongStackTraces = function () {\n return config.longStackTraces && longStackTracesIsSupported();\n};\n\nvar fireDomEvent = (function() {\n try {\n if (typeof CustomEvent === \"function\") {\n var event = new CustomEvent(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new CustomEvent(name.toLowerCase(), {\n detail: event,\n cancelable: true\n });\n return !util.global.dispatchEvent(domEvent);\n };\n } else if (typeof Event === \"function\") {\n var event = new Event(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new Event(name.toLowerCase(), {\n cancelable: true\n });\n domEvent.detail = event;\n return !util.global.dispatchEvent(domEvent);\n };\n } else {\n var event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(\"testingtheevent\", false, true, {});\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = document.createEvent(\"CustomEvent\");\n domEvent.initCustomEvent(name.toLowerCase(), false, true,\n event);\n return !util.global.dispatchEvent(domEvent);\n };\n }\n } catch (e) {}\n return function() {\n return false;\n };\n})();\n\nvar fireGlobalEvent = (function() {\n if (util.isNode) {\n return function() {\n return process.emit.apply(process, arguments);\n };\n } else {\n if (!util.global) {\n return function() {\n return false;\n };\n }\n return function(name) {\n var methodName = \"on\" + name.toLowerCase();\n var method = util.global[methodName];\n if (!method) return false;\n method.apply(util.global, [].slice.call(arguments, 1));\n return true;\n };\n }\n})();\n\nfunction generatePromiseLifecycleEventObject(name, promise) {\n return {promise: promise};\n}\n\nvar eventToObjectGenerator = {\n promiseCreated: generatePromiseLifecycleEventObject,\n promiseFulfilled: generatePromiseLifecycleEventObject,\n promiseRejected: generatePromiseLifecycleEventObject,\n promiseResolved: generatePromiseLifecycleEventObject,\n promiseCancelled: generatePromiseLifecycleEventObject,\n promiseChained: function(name, promise, child) {\n return {promise: promise, child: child};\n },\n warning: function(name, warning) {\n return {warning: warning};\n },\n unhandledRejection: function (name, reason, promise) {\n return {reason: reason, promise: promise};\n },\n rejectionHandled: generatePromiseLifecycleEventObject\n};\n\nvar activeFireEvent = function (name) {\n var globalEventFired = false;\n try {\n globalEventFired = fireGlobalEvent.apply(null, arguments);\n } catch (e) {\n async.throwLater(e);\n globalEventFired = true;\n }\n\n var domEventFired = false;\n try {\n domEventFired = fireDomEvent(name,\n eventToObjectGenerator[name].apply(null, arguments));\n } catch (e) {\n async.throwLater(e);\n domEventFired = true;\n }\n\n return domEventFired || globalEventFired;\n};\n\nPromise.config = function(opts) {\n opts = Object(opts);\n if (\"longStackTraces\" in opts) {\n if (opts.longStackTraces) {\n Promise.longStackTraces();\n } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n disableLongStackTraces();\n }\n }\n if (\"warnings\" in opts) {\n var warningsOption = opts.warnings;\n config.warnings = !!warningsOption;\n wForgottenReturn = config.warnings;\n\n if (util.isObject(warningsOption)) {\n if (\"wForgottenReturn\" in warningsOption) {\n wForgottenReturn = !!warningsOption.wForgottenReturn;\n }\n }\n }\n if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n if (async.haveItemsQueued()) {\n throw new Error(\n \"cannot enable cancellation after promises are in use\");\n }\n Promise.prototype._clearCancellationData =\n cancellationClearCancellationData;\n Promise.prototype._propagateFrom = cancellationPropagateFrom;\n Promise.prototype._onCancel = cancellationOnCancel;\n Promise.prototype._setOnCancel = cancellationSetOnCancel;\n Promise.prototype._attachCancellationCallback =\n cancellationAttachCancellationCallback;\n Promise.prototype._execute = cancellationExecute;\n propagateFromFunction = cancellationPropagateFrom;\n config.cancellation = true;\n }\n if (\"monitoring\" in opts) {\n if (opts.monitoring && !config.monitoring) {\n config.monitoring = true;\n Promise.prototype._fireEvent = activeFireEvent;\n } else if (!opts.monitoring && config.monitoring) {\n config.monitoring = false;\n Promise.prototype._fireEvent = defaultFireEvent;\n }\n }\n return Promise;\n};\n\nfunction defaultFireEvent() { return false; }\n\nPromise.prototype._fireEvent = defaultFireEvent;\nPromise.prototype._execute = function(executor, resolve, reject) {\n try {\n executor(resolve, reject);\n } catch (e) {\n return e;\n }\n};\nPromise.prototype._onCancel = function () {};\nPromise.prototype._setOnCancel = function (handler) { ; };\nPromise.prototype._attachCancellationCallback = function(onCancel) {\n ;\n};\nPromise.prototype._captureStackTrace = function () {};\nPromise.prototype._attachExtraTrace = function () {};\nPromise.prototype._clearCancellationData = function() {};\nPromise.prototype._propagateFrom = function (parent, flags) {\n ;\n ;\n};\n\nfunction cancellationExecute(executor, resolve, reject) {\n var promise = this;\n try {\n executor(resolve, reject, function(onCancel) {\n if (typeof onCancel !== \"function\") {\n throw new TypeError(\"onCancel must be a function, got: \" +\n util.toString(onCancel));\n }\n promise._attachCancellationCallback(onCancel);\n });\n } catch (e) {\n return e;\n }\n}\n\nfunction cancellationAttachCancellationCallback(onCancel) {\n if (!this._isCancellable()) return this;\n\n var previousOnCancel = this._onCancel();\n if (previousOnCancel !== undefined) {\n if (util.isArray(previousOnCancel)) {\n previousOnCancel.push(onCancel);\n } else {\n this._setOnCancel([previousOnCancel, onCancel]);\n }\n } else {\n this._setOnCancel(onCancel);\n }\n}\n\nfunction cancellationOnCancel() {\n return this._onCancelField;\n}\n\nfunction cancellationSetOnCancel(onCancel) {\n this._onCancelField = onCancel;\n}\n\nfunction cancellationClearCancellationData() {\n this._cancellationParent = undefined;\n this._onCancelField = undefined;\n}\n\nfunction cancellationPropagateFrom(parent, flags) {\n if ((flags & 1) !== 0) {\n this._cancellationParent = parent;\n var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n if (branchesRemainingToCancel === undefined) {\n branchesRemainingToCancel = 0;\n }\n parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n }\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\n\nfunction bindingPropagateFrom(parent, flags) {\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\nvar propagateFromFunction = bindingPropagateFrom;\n\nfunction boundValueFunction() {\n var ret = this._boundTo;\n if (ret !== undefined) {\n if (ret instanceof Promise) {\n if (ret.isFulfilled()) {\n return ret.value();\n } else {\n return undefined;\n }\n }\n }\n return ret;\n}\n\nfunction longStackTracesCaptureStackTrace() {\n this._trace = new CapturedTrace(this._peekContext());\n}\n\nfunction longStackTracesAttachExtraTrace(error, ignoreSelf) {\n if (canAttachTrace(error)) {\n var trace = this._trace;\n if (trace !== undefined) {\n if (ignoreSelf) trace = trace._parent;\n }\n if (trace !== undefined) {\n trace.attachExtraTrace(error);\n } else if (!error.__stackCleaned__) {\n var parsed = parseStackAndMessage(error);\n util.notEnumerableProp(error, \"stack\",\n parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n }\n }\n}\n\nfunction checkForgottenReturns(returnValue, promiseCreated, name, promise,\n parent) {\n if (returnValue === undefined && promiseCreated !== null &&\n wForgottenReturn) {\n if (parent !== undefined && parent._returnedNonUndefined()) return;\n if ((promise._bitField & 65535) === 0) return;\n\n if (name) name = name + \" \";\n var handlerLine = \"\";\n var creatorLine = \"\";\n if (promiseCreated._trace) {\n var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n var stack = cleanStack(traceLines);\n for (var i = stack.length - 1; i >= 0; --i) {\n var line = stack[i];\n if (!nodeFramePattern.test(line)) {\n var lineMatches = line.match(parseLinePattern);\n if (lineMatches) {\n handlerLine = \"at \" + lineMatches[1] +\n \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n }\n break;\n }\n }\n\n if (stack.length > 0) {\n var firstUserLine = stack[0];\n for (var i = 0; i < traceLines.length; ++i) {\n\n if (traceLines[i] === firstUserLine) {\n if (i > 0) {\n creatorLine = \"\\n\" + traceLines[i - 1];\n }\n break;\n }\n }\n\n }\n }\n var msg = \"a promise was created in a \" + name +\n \"handler \" + handlerLine + \"but was not returned from it, \" +\n \"see http://goo.gl/rRqMUw\" +\n creatorLine;\n promise._warn(msg, true, promiseCreated);\n }\n}\n\nfunction deprecated(name, replacement) {\n var message = name +\n \" is deprecated and will be removed in a future version.\";\n if (replacement) message += \" Use \" + replacement + \" instead.\";\n return warn(message);\n}\n\nfunction warn(message, shouldUseOwnTrace, promise) {\n if (!config.warnings) return;\n var warning = new Warning(message);\n var ctx;\n if (shouldUseOwnTrace) {\n promise._attachExtraTrace(warning);\n } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n ctx.attachExtraTrace(warning);\n } else {\n var parsed = parseStackAndMessage(warning);\n warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n }\n\n if (!activeFireEvent(\"warning\", warning)) {\n formatAndLogError(warning, \"\", true);\n }\n}\n\nfunction reconstructStack(message, stacks) {\n for (var i = 0; i < stacks.length - 1; ++i) {\n stacks[i].push(\"From previous event:\");\n stacks[i] = stacks[i].join(\"\\n\");\n }\n if (i < stacks.length) {\n stacks[i] = stacks[i].join(\"\\n\");\n }\n return message + \"\\n\" + stacks.join(\"\\n\");\n}\n\nfunction removeDuplicateOrEmptyJumps(stacks) {\n for (var i = 0; i < stacks.length; ++i) {\n if (stacks[i].length === 0 ||\n ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) {\n stacks.splice(i, 1);\n i--;\n }\n }\n}\n\nfunction removeCommonRoots(stacks) {\n var current = stacks[0];\n for (var i = 1; i < stacks.length; ++i) {\n var prev = stacks[i];\n var currentLastIndex = current.length - 1;\n var currentLastLine = current[currentLastIndex];\n var commonRootMeetPoint = -1;\n\n for (var j = prev.length - 1; j >= 0; --j) {\n if (prev[j] === currentLastLine) {\n commonRootMeetPoint = j;\n break;\n }\n }\n\n for (var j = commonRootMeetPoint; j >= 0; --j) {\n var line = prev[j];\n if (current[currentLastIndex] === line) {\n current.pop();\n currentLastIndex--;\n } else {\n break;\n }\n }\n current = prev;\n }\n}\n\nfunction cleanStack(stack) {\n var ret = [];\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n var isTraceLine = \" (No stack trace)\" === line ||\n stackFramePattern.test(line);\n var isInternalFrame = isTraceLine && shouldIgnore(line);\n if (isTraceLine && !isInternalFrame) {\n if (indentStackFrames && line.charAt(0) !== \" \") {\n line = \" \" + line;\n }\n ret.push(line);\n }\n }\n return ret;\n}\n\nfunction stackFramesAsArray(error) {\n var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n break;\n }\n }\n if (i > 0 && error.name != \"SyntaxError\") {\n stack = stack.slice(i);\n }\n return stack;\n}\n\nfunction parseStackAndMessage(error) {\n var stack = error.stack;\n var message = error.toString();\n stack = typeof stack === \"string\" && stack.length > 0\n ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n return {\n message: message,\n stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n };\n}\n\nfunction formatAndLogError(error, title, isSoft) {\n if (typeof console !== \"undefined\") {\n var message;\n if (util.isObject(error)) {\n var stack = error.stack;\n message = title + formatStack(stack, error);\n } else {\n message = title + String(error);\n }\n if (typeof printWarning === \"function\") {\n printWarning(message, isSoft);\n } else if (typeof console.log === \"function\" ||\n typeof console.log === \"object\") {\n console.log(message);\n }\n }\n}\n\nfunction fireRejectionEvent(name, localHandler, reason, promise) {\n var localEventFired = false;\n try {\n if (typeof localHandler === \"function\") {\n localEventFired = true;\n if (name === \"rejectionHandled\") {\n localHandler(promise);\n } else {\n localHandler(reason, promise);\n }\n }\n } catch (e) {\n async.throwLater(e);\n }\n\n if (name === \"unhandledRejection\") {\n if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n formatAndLogError(reason, \"Unhandled rejection \");\n }\n } else {\n activeFireEvent(name, promise);\n }\n}\n\nfunction formatNonError(obj) {\n var str;\n if (typeof obj === \"function\") {\n str = \"[function \" +\n (obj.name || \"anonymous\") +\n \"]\";\n } else {\n str = obj && typeof obj.toString === \"function\"\n ? obj.toString() : util.toString(obj);\n var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n if (ruselessToString.test(str)) {\n try {\n var newStr = JSON.stringify(obj);\n str = newStr;\n }\n catch(e) {\n\n }\n }\n if (str.length === 0) {\n str = \"(empty array)\";\n }\n }\n return (\"(<\" + snip(str) + \">, no stack trace)\");\n}\n\nfunction snip(str) {\n var maxChars = 41;\n if (str.length < maxChars) {\n return str;\n }\n return str.substr(0, maxChars - 3) + \"...\";\n}\n\nfunction longStackTracesIsSupported() {\n return typeof captureStackTrace === \"function\";\n}\n\nvar shouldIgnore = function() { return false; };\nvar parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\nfunction parseLineInfo(line) {\n var matches = line.match(parseLineInfoRegex);\n if (matches) {\n return {\n fileName: matches[1],\n line: parseInt(matches[2], 10)\n };\n }\n}\n\nfunction setBounds(firstLineError, lastLineError) {\n if (!longStackTracesIsSupported()) return;\n var firstStackLines = firstLineError.stack.split(\"\\n\");\n var lastStackLines = lastLineError.stack.split(\"\\n\");\n var firstIndex = -1;\n var lastIndex = -1;\n var firstFileName;\n var lastFileName;\n for (var i = 0; i < firstStackLines.length; ++i) {\n var result = parseLineInfo(firstStackLines[i]);\n if (result) {\n firstFileName = result.fileName;\n firstIndex = result.line;\n break;\n }\n }\n for (var i = 0; i < lastStackLines.length; ++i) {\n var result = parseLineInfo(lastStackLines[i]);\n if (result) {\n lastFileName = result.fileName;\n lastIndex = result.line;\n break;\n }\n }\n if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName ||\n firstFileName !== lastFileName || firstIndex >= lastIndex) {\n return;\n }\n\n shouldIgnore = function(line) {\n if (bluebirdFramePattern.test(line)) return true;\n var info = parseLineInfo(line);\n if (info) {\n if (info.fileName === firstFileName &&\n (firstIndex <= info.line && info.line <= lastIndex)) {\n return true;\n }\n }\n return false;\n };\n}\n\nfunction CapturedTrace(parent) {\n this._parent = parent;\n this._promisesCreated = 0;\n var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n captureStackTrace(this, CapturedTrace);\n if (length > 32) this.uncycle();\n}\nutil.inherits(CapturedTrace, Error);\nContext.CapturedTrace = CapturedTrace;\n\nCapturedTrace.prototype.uncycle = function() {\n var length = this._length;\n if (length < 2) return;\n var nodes = [];\n var stackToIndex = {};\n\n for (var i = 0, node = this; node !== undefined; ++i) {\n nodes.push(node);\n node = node._parent;\n }\n length = this._length = i;\n for (var i = length - 1; i >= 0; --i) {\n var stack = nodes[i].stack;\n if (stackToIndex[stack] === undefined) {\n stackToIndex[stack] = i;\n }\n }\n for (var i = 0; i < length; ++i) {\n var currentStack = nodes[i].stack;\n var index = stackToIndex[currentStack];\n if (index !== undefined && index !== i) {\n if (index > 0) {\n nodes[index - 1]._parent = undefined;\n nodes[index - 1]._length = 1;\n }\n nodes[i]._parent = undefined;\n nodes[i]._length = 1;\n var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\n if (index < length - 1) {\n cycleEdgeNode._parent = nodes[index + 1];\n cycleEdgeNode._parent.uncycle();\n cycleEdgeNode._length =\n cycleEdgeNode._parent._length + 1;\n } else {\n cycleEdgeNode._parent = undefined;\n cycleEdgeNode._length = 1;\n }\n var currentChildLength = cycleEdgeNode._length + 1;\n for (var j = i - 2; j >= 0; --j) {\n nodes[j]._length = currentChildLength;\n currentChildLength++;\n }\n return;\n }\n }\n};\n\nCapturedTrace.prototype.attachExtraTrace = function(error) {\n if (error.__stackCleaned__) return;\n this.uncycle();\n var parsed = parseStackAndMessage(error);\n var message = parsed.message;\n var stacks = [parsed.stack];\n\n var trace = this;\n while (trace !== undefined) {\n stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n trace = trace._parent;\n }\n removeCommonRoots(stacks);\n removeDuplicateOrEmptyJumps(stacks);\n util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n};\n\nvar captureStackTrace = (function stackDetection() {\n var v8stackFramePattern = /^\\s*at\\s*/;\n var v8stackFormatter = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if (error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n if (typeof Error.stackTraceLimit === \"number\" &&\n typeof Error.captureStackTrace === \"function\") {\n Error.stackTraceLimit += 6;\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n var captureStackTrace = Error.captureStackTrace;\n\n shouldIgnore = function(line) {\n return bluebirdFramePattern.test(line);\n };\n return function(receiver, ignoreUntil) {\n Error.stackTraceLimit += 6;\n captureStackTrace(receiver, ignoreUntil);\n Error.stackTraceLimit -= 6;\n };\n }\n var err = new Error();\n\n if (typeof err.stack === \"string\" &&\n err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n stackFramePattern = /@/;\n formatStack = v8stackFormatter;\n indentStackFrames = true;\n return function captureStackTrace(o) {\n o.stack = new Error().stack;\n };\n }\n\n var hasStackAfterThrow;\n try { throw new Error(); }\n catch(e) {\n hasStackAfterThrow = (\"stack\" in e);\n }\n if (!(\"stack\" in err) && hasStackAfterThrow &&\n typeof Error.stackTraceLimit === \"number\") {\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n return function captureStackTrace(o) {\n Error.stackTraceLimit += 6;\n try { throw new Error(); }\n catch(e) { o.stack = e.stack; }\n Error.stackTraceLimit -= 6;\n };\n }\n\n formatStack = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if ((typeof error === \"object\" ||\n typeof error === \"function\") &&\n error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n return null;\n\n})([]);\n\nif (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n printWarning = function (message) {\n console.warn(message);\n };\n if (util.isNode && process.stderr.isTTY) {\n printWarning = function(message, isSoft) {\n var color = isSoft ? \"\\u001b[33m\" : \"\\u001b[31m\";\n console.warn(color + message + \"\\u001b[0m\\n\");\n };\n } else if (!util.isNode && typeof (new Error().stack) === \"string\") {\n printWarning = function(message, isSoft) {\n console.warn(\"%c\" + message,\n isSoft ? \"color: darkorange\" : \"color: red\");\n };\n }\n}\n\nvar config = {\n warnings: warnings,\n longStackTraces: false,\n cancellation: false,\n monitoring: false\n};\n\nif (longStackTraces) Promise.longStackTraces();\n\nreturn {\n longStackTraces: function() {\n return config.longStackTraces;\n },\n warnings: function() {\n return config.warnings;\n },\n cancellation: function() {\n return config.cancellation;\n },\n monitoring: function() {\n return config.monitoring;\n },\n propagateFromFunction: function() {\n return propagateFromFunction;\n },\n boundValueFunction: function() {\n return boundValueFunction;\n },\n checkForgottenReturns: checkForgottenReturns,\n setBounds: setBounds,\n warn: warn,\n deprecated: deprecated,\n CapturedTrace: CapturedTrace,\n fireDomEvent: fireDomEvent,\n fireGlobalEvent: fireGlobalEvent\n};\n};\n\n},{\"./errors\":12,\"./util\":36}],10:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction returner() {\n return this.value;\n}\nfunction thrower() {\n throw this.reason;\n}\n\nPromise.prototype[\"return\"] =\nPromise.prototype.thenReturn = function (value) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n returner, undefined, undefined, {value: value}, undefined);\n};\n\nPromise.prototype[\"throw\"] =\nPromise.prototype.thenThrow = function (reason) {\n return this._then(\n thrower, undefined, undefined, {reason: reason}, undefined);\n};\n\nPromise.prototype.catchThrow = function (reason) {\n if (arguments.length <= 1) {\n return this._then(\n undefined, thrower, undefined, {reason: reason}, undefined);\n } else {\n var _reason = arguments[1];\n var handler = function() {throw _reason;};\n return this.caught(reason, handler);\n }\n};\n\nPromise.prototype.catchReturn = function (value) {\n if (arguments.length <= 1) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n undefined, returner, undefined, {value: value}, undefined);\n } else {\n var _value = arguments[1];\n if (_value instanceof Promise) _value.suppressUnhandledRejections();\n var handler = function() {return _value;};\n return this.caught(value, handler);\n }\n};\n};\n\n},{}],11:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseReduce = Promise.reduce;\nvar PromiseAll = Promise.all;\n\nfunction promiseAllThis() {\n return PromiseAll(this);\n}\n\nfunction PromiseMapSeries(promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n}\n\nPromise.prototype.each = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, this, undefined);\n};\n\nPromise.prototype.mapSeries = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n};\n\nPromise.each = function (promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, promises, undefined);\n};\n\nPromise.mapSeries = PromiseMapSeries;\n};\n\n\n},{}],12:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar Objectfreeze = es5.freeze;\nvar util = _dereq_(\"./util\");\nvar inherits = util.inherits;\nvar notEnumerableProp = util.notEnumerableProp;\n\nfunction subError(nameProperty, defaultMessage) {\n function SubError(message) {\n if (!(this instanceof SubError)) return new SubError(message);\n notEnumerableProp(this, \"message\",\n typeof message === \"string\" ? message : defaultMessage);\n notEnumerableProp(this, \"name\", nameProperty);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n Error.call(this);\n }\n }\n inherits(SubError, Error);\n return SubError;\n}\n\nvar _TypeError, _RangeError;\nvar Warning = subError(\"Warning\", \"warning\");\nvar CancellationError = subError(\"CancellationError\", \"cancellation error\");\nvar TimeoutError = subError(\"TimeoutError\", \"timeout error\");\nvar AggregateError = subError(\"AggregateError\", \"aggregate error\");\ntry {\n _TypeError = TypeError;\n _RangeError = RangeError;\n} catch(e) {\n _TypeError = subError(\"TypeError\", \"type error\");\n _RangeError = subError(\"RangeError\", \"range error\");\n}\n\nvar methods = (\"join pop push shift unshift slice filter forEach some \" +\n \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\nfor (var i = 0; i < methods.length; ++i) {\n if (typeof Array.prototype[methods[i]] === \"function\") {\n AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n }\n}\n\nes5.defineProperty(AggregateError.prototype, \"length\", {\n value: 0,\n configurable: false,\n writable: true,\n enumerable: true\n});\nAggregateError.prototype[\"isOperational\"] = true;\nvar level = 0;\nAggregateError.prototype.toString = function() {\n var indent = Array(level * 4 + 1).join(\" \");\n var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n level++;\n indent = Array(level * 4 + 1).join(\" \");\n for (var i = 0; i < this.length; ++i) {\n var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n var lines = str.split(\"\\n\");\n for (var j = 0; j < lines.length; ++j) {\n lines[j] = indent + lines[j];\n }\n str = lines.join(\"\\n\");\n ret += str + \"\\n\";\n }\n level--;\n return ret;\n};\n\nfunction OperationalError(message) {\n if (!(this instanceof OperationalError))\n return new OperationalError(message);\n notEnumerableProp(this, \"name\", \"OperationalError\");\n notEnumerableProp(this, \"message\", message);\n this.cause = message;\n this[\"isOperational\"] = true;\n\n if (message instanceof Error) {\n notEnumerableProp(this, \"message\", message.message);\n notEnumerableProp(this, \"stack\", message.stack);\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n}\ninherits(OperationalError, Error);\n\nvar errorTypes = Error[\"__BluebirdErrorTypes__\"];\nif (!errorTypes) {\n errorTypes = Objectfreeze({\n CancellationError: CancellationError,\n TimeoutError: TimeoutError,\n OperationalError: OperationalError,\n RejectionError: OperationalError,\n AggregateError: AggregateError\n });\n es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n value: errorTypes,\n writable: false,\n enumerable: false,\n configurable: false\n });\n}\n\nmodule.exports = {\n Error: Error,\n TypeError: _TypeError,\n RangeError: _RangeError,\n CancellationError: errorTypes.CancellationError,\n OperationalError: errorTypes.OperationalError,\n TimeoutError: errorTypes.TimeoutError,\n AggregateError: errorTypes.AggregateError,\n Warning: Warning\n};\n\n},{\"./es5\":13,\"./util\":36}],13:[function(_dereq_,module,exports){\nvar isES5 = (function(){\n \"use strict\";\n return this === undefined;\n})();\n\nif (isES5) {\n module.exports = {\n freeze: Object.freeze,\n defineProperty: Object.defineProperty,\n getDescriptor: Object.getOwnPropertyDescriptor,\n keys: Object.keys,\n names: Object.getOwnPropertyNames,\n getPrototypeOf: Object.getPrototypeOf,\n isArray: Array.isArray,\n isES5: isES5,\n propertyIsWritable: function(obj, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n return !!(!descriptor || descriptor.writable || descriptor.set);\n }\n };\n} else {\n var has = {}.hasOwnProperty;\n var str = {}.toString;\n var proto = {}.constructor.prototype;\n\n var ObjectKeys = function (o) {\n var ret = [];\n for (var key in o) {\n if (has.call(o, key)) {\n ret.push(key);\n }\n }\n return ret;\n };\n\n var ObjectGetDescriptor = function(o, key) {\n return {value: o[key]};\n };\n\n var ObjectDefineProperty = function (o, key, desc) {\n o[key] = desc.value;\n return o;\n };\n\n var ObjectFreeze = function (obj) {\n return obj;\n };\n\n var ObjectGetPrototypeOf = function (obj) {\n try {\n return Object(obj).constructor.prototype;\n }\n catch (e) {\n return proto;\n }\n };\n\n var ArrayIsArray = function (obj) {\n try {\n return str.call(obj) === \"[object Array]\";\n }\n catch(e) {\n return false;\n }\n };\n\n module.exports = {\n isArray: ArrayIsArray,\n keys: ObjectKeys,\n names: ObjectKeys,\n defineProperty: ObjectDefineProperty,\n getDescriptor: ObjectGetDescriptor,\n freeze: ObjectFreeze,\n getPrototypeOf: ObjectGetPrototypeOf,\n isES5: isES5,\n propertyIsWritable: function() {\n return true;\n }\n };\n}\n\n},{}],14:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseMap = Promise.map;\n\nPromise.prototype.filter = function (fn, options) {\n return PromiseMap(this, fn, options, INTERNAL);\n};\n\nPromise.filter = function (promises, fn, options) {\n return PromiseMap(promises, fn, options, INTERNAL);\n};\n};\n\n},{}],15:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar CancellationError = Promise.CancellationError;\nvar errorObj = util.errorObj;\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\n\nfunction PassThroughHandlerContext(promise, type, handler) {\n this.promise = promise;\n this.type = type;\n this.handler = handler;\n this.called = false;\n this.cancelPromise = null;\n}\n\nPassThroughHandlerContext.prototype.isFinallyHandler = function() {\n return this.type === 0;\n};\n\nfunction FinallyHandlerCancelReaction(finallyHandler) {\n this.finallyHandler = finallyHandler;\n}\n\nFinallyHandlerCancelReaction.prototype._resultCancelled = function() {\n checkCancel(this.finallyHandler);\n};\n\nfunction checkCancel(ctx, reason) {\n if (ctx.cancelPromise != null) {\n if (arguments.length > 1) {\n ctx.cancelPromise._reject(reason);\n } else {\n ctx.cancelPromise._cancel();\n }\n ctx.cancelPromise = null;\n return true;\n }\n return false;\n}\n\nfunction succeed() {\n return finallyHandler.call(this, this.promise._target()._settledValue());\n}\nfunction fail(reason) {\n if (checkCancel(this, reason)) return;\n errorObj.e = reason;\n return errorObj;\n}\nfunction finallyHandler(reasonOrValue) {\n var promise = this.promise;\n var handler = this.handler;\n\n if (!this.called) {\n this.called = true;\n var ret = this.isFinallyHandler()\n ? handler.call(promise._boundValue())\n : handler.call(promise._boundValue(), reasonOrValue);\n if (ret === NEXT_FILTER) {\n return ret;\n } else if (ret !== undefined) {\n promise._setReturnedNonUndefined();\n var maybePromise = tryConvertToPromise(ret, promise);\n if (maybePromise instanceof Promise) {\n if (this.cancelPromise != null) {\n if (maybePromise._isCancelled()) {\n var reason =\n new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n errorObj.e = reason;\n return errorObj;\n } else if (maybePromise.isPending()) {\n maybePromise._attachCancellationCallback(\n new FinallyHandlerCancelReaction(this));\n }\n }\n return maybePromise._then(\n succeed, fail, undefined, this, undefined);\n }\n }\n }\n\n if (promise.isRejected()) {\n checkCancel(this);\n errorObj.e = reasonOrValue;\n return errorObj;\n } else {\n checkCancel(this);\n return reasonOrValue;\n }\n}\n\nPromise.prototype._passThrough = function(handler, type, success, fail) {\n if (typeof handler !== \"function\") return this.then();\n return this._then(success,\n fail,\n undefined,\n new PassThroughHandlerContext(this, type, handler),\n undefined);\n};\n\nPromise.prototype.lastly =\nPromise.prototype[\"finally\"] = function (handler) {\n return this._passThrough(handler,\n 0,\n finallyHandler,\n finallyHandler);\n};\n\n\nPromise.prototype.tap = function (handler) {\n return this._passThrough(handler, 1, finallyHandler);\n};\n\nPromise.prototype.tapCatch = function (handlerOrPredicate) {\n var len = arguments.length;\n if(len === 1) {\n return this._passThrough(handlerOrPredicate,\n 1,\n undefined,\n finallyHandler);\n } else {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return Promise.reject(new TypeError(\n \"tapCatch statement predicate: \"\n + \"expecting an object but got \" + util.classString(item)\n ));\n }\n }\n catchInstances.length = j;\n var handler = arguments[i];\n return this._passThrough(catchFilter(catchInstances, handler, this),\n 1,\n undefined,\n finallyHandler);\n }\n\n};\n\nreturn PassThroughHandlerContext;\n};\n\n},{\"./catch_filter\":7,\"./util\":36}],16:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n apiRejection,\n INTERNAL,\n tryConvertToPromise,\n Proxyable,\n debug) {\nvar errors = _dereq_(\"./errors\");\nvar TypeError = errors.TypeError;\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nvar yieldHandlers = [];\n\nfunction promiseFromYieldHandler(value, yieldHandlers, traceParent) {\n for (var i = 0; i < yieldHandlers.length; ++i) {\n traceParent._pushContext();\n var result = tryCatch(yieldHandlers[i])(value);\n traceParent._popContext();\n if (result === errorObj) {\n traceParent._pushContext();\n var ret = Promise.reject(errorObj.e);\n traceParent._popContext();\n return ret;\n }\n var maybePromise = tryConvertToPromise(result, traceParent);\n if (maybePromise instanceof Promise) return maybePromise;\n }\n return null;\n}\n\nfunction PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {\n if (debug.cancellation()) {\n var internal = new Promise(INTERNAL);\n var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);\n this._promise = internal.lastly(function() {\n return _finallyPromise;\n });\n internal._captureStackTrace();\n internal._setOnCancel(this);\n } else {\n var promise = this._promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n }\n this._stack = stack;\n this._generatorFunction = generatorFunction;\n this._receiver = receiver;\n this._generator = undefined;\n this._yieldHandlers = typeof yieldHandler === \"function\"\n ? [yieldHandler].concat(yieldHandlers)\n : yieldHandlers;\n this._yieldedPromise = null;\n this._cancellationPhase = false;\n}\nutil.inherits(PromiseSpawn, Proxyable);\n\nPromiseSpawn.prototype._isResolved = function() {\n return this._promise === null;\n};\n\nPromiseSpawn.prototype._cleanup = function() {\n this._promise = this._generator = null;\n if (debug.cancellation() && this._finallyPromise !== null) {\n this._finallyPromise._fulfill();\n this._finallyPromise = null;\n }\n};\n\nPromiseSpawn.prototype._promiseCancelled = function() {\n if (this._isResolved()) return;\n var implementsReturn = typeof this._generator[\"return\"] !== \"undefined\";\n\n var result;\n if (!implementsReturn) {\n var reason = new Promise.CancellationError(\n \"generator .return() sentinel\");\n Promise.coroutine.returnSentinel = reason;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n result = tryCatch(this._generator[\"throw\"]).call(this._generator,\n reason);\n this._promise._popContext();\n } else {\n this._promise._pushContext();\n result = tryCatch(this._generator[\"return\"]).call(this._generator,\n undefined);\n this._promise._popContext();\n }\n this._cancellationPhase = true;\n this._yieldedPromise = null;\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseFulfilled = function(value) {\n this._yieldedPromise = null;\n this._promise._pushContext();\n var result = tryCatch(this._generator.next).call(this._generator, value);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseRejected = function(reason) {\n this._yieldedPromise = null;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n var result = tryCatch(this._generator[\"throw\"])\n .call(this._generator, reason);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._resultCancelled = function() {\n if (this._yieldedPromise instanceof Promise) {\n var promise = this._yieldedPromise;\n this._yieldedPromise = null;\n promise.cancel();\n }\n};\n\nPromiseSpawn.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseSpawn.prototype._run = function () {\n this._generator = this._generatorFunction.call(this._receiver);\n this._receiver =\n this._generatorFunction = undefined;\n this._promiseFulfilled(undefined);\n};\n\nPromiseSpawn.prototype._continue = function (result) {\n var promise = this._promise;\n if (result === errorObj) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._rejectCallback(result.e, false);\n }\n }\n\n var value = result.value;\n if (result.done === true) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._resolveCallback(value);\n }\n } else {\n var maybePromise = tryConvertToPromise(value, this._promise);\n if (!(maybePromise instanceof Promise)) {\n maybePromise =\n promiseFromYieldHandler(maybePromise,\n this._yieldHandlers,\n this._promise);\n if (maybePromise === null) {\n this._promiseRejected(\n new TypeError(\n \"A value %s was yielded that could not be treated as a promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\\u000a\".replace(\"%s\", String(value)) +\n \"From coroutine:\\u000a\" +\n this._stack.split(\"\\n\").slice(1, -7).join(\"\\n\")\n )\n );\n return;\n }\n }\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n this._yieldedPromise = maybePromise;\n maybePromise._proxy(this, null);\n } else if (((bitField & 33554432) !== 0)) {\n Promise._async.invoke(\n this._promiseFulfilled, this, maybePromise._value()\n );\n } else if (((bitField & 16777216) !== 0)) {\n Promise._async.invoke(\n this._promiseRejected, this, maybePromise._reason()\n );\n } else {\n this._promiseCancelled();\n }\n }\n};\n\nPromise.coroutine = function (generatorFunction, options) {\n if (typeof generatorFunction !== \"function\") {\n throw new TypeError(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var yieldHandler = Object(options).yieldHandler;\n var PromiseSpawn$ = PromiseSpawn;\n var stack = new Error().stack;\n return function () {\n var generator = generatorFunction.apply(this, arguments);\n var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler,\n stack);\n var ret = spawn.promise();\n spawn._generator = generator;\n spawn._promiseFulfilled(undefined);\n return ret;\n };\n};\n\nPromise.coroutine.addYieldHandler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n yieldHandlers.push(fn);\n};\n\nPromise.spawn = function (generatorFunction) {\n debug.deprecated(\"Promise.spawn()\", \"Promise.coroutine()\");\n if (typeof generatorFunction !== \"function\") {\n return apiRejection(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var spawn = new PromiseSpawn(generatorFunction, this);\n var ret = spawn.promise();\n spawn._run(Promise.spawn);\n return ret;\n};\n};\n\n},{\"./errors\":12,\"./util\":36}],17:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async,\n getDomain) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar reject;\n\nif (!true) {\nif (canEvaluate) {\n var thenCallback = function(i) {\n return new Function(\"value\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = value; \\n\\\n holder.checkFulfillment(this); \\n\\\n \".replace(/Index/g, i));\n };\n\n var promiseSetter = function(i) {\n return new Function(\"promise\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = promise; \\n\\\n \".replace(/Index/g, i));\n };\n\n var generateHolderClass = function(total) {\n var props = new Array(total);\n for (var i = 0; i < props.length; ++i) {\n props[i] = \"this.p\" + (i+1);\n }\n var assignment = props.join(\" = \") + \" = null;\";\n var cancellationCode= \"var promise;\\n\" + props.map(function(prop) {\n return \" \\n\\\n promise = \" + prop + \"; \\n\\\n if (promise instanceof Promise) { \\n\\\n promise.cancel(); \\n\\\n } \\n\\\n \";\n }).join(\"\\n\");\n var passedArguments = props.join(\", \");\n var name = \"Holder$\" + total;\n\n\n var code = \"return function(tryCatch, errorObj, Promise, async) { \\n\\\n 'use strict'; \\n\\\n function [TheName](fn) { \\n\\\n [TheProperties] \\n\\\n this.fn = fn; \\n\\\n this.asyncNeeded = true; \\n\\\n this.now = 0; \\n\\\n } \\n\\\n \\n\\\n [TheName].prototype._callFunction = function(promise) { \\n\\\n promise._pushContext(); \\n\\\n var ret = tryCatch(this.fn)([ThePassedArguments]); \\n\\\n promise._popContext(); \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(ret.e, false); \\n\\\n } else { \\n\\\n promise._resolveCallback(ret); \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype.checkFulfillment = function(promise) { \\n\\\n var now = ++this.now; \\n\\\n if (now === [TheTotal]) { \\n\\\n if (this.asyncNeeded) { \\n\\\n async.invoke(this._callFunction, this, promise); \\n\\\n } else { \\n\\\n this._callFunction(promise); \\n\\\n } \\n\\\n \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype._resultCancelled = function() { \\n\\\n [CancellationCode] \\n\\\n }; \\n\\\n \\n\\\n return [TheName]; \\n\\\n }(tryCatch, errorObj, Promise, async); \\n\\\n \";\n\n code = code.replace(/\\[TheName\\]/g, name)\n .replace(/\\[TheTotal\\]/g, total)\n .replace(/\\[ThePassedArguments\\]/g, passedArguments)\n .replace(/\\[TheProperties\\]/g, assignment)\n .replace(/\\[CancellationCode\\]/g, cancellationCode);\n\n return new Function(\"tryCatch\", \"errorObj\", \"Promise\", \"async\", code)\n (tryCatch, errorObj, Promise, async);\n };\n\n var holderClasses = [];\n var thenCallbacks = [];\n var promiseSetters = [];\n\n for (var i = 0; i < 8; ++i) {\n holderClasses.push(generateHolderClass(i + 1));\n thenCallbacks.push(thenCallback(i + 1));\n promiseSetters.push(promiseSetter(i + 1));\n }\n\n reject = function (reason) {\n this._reject(reason);\n };\n}}\n\nPromise.join = function () {\n var last = arguments.length - 1;\n var fn;\n if (last > 0 && typeof arguments[last] === \"function\") {\n fn = arguments[last];\n if (!true) {\n if (last <= 8 && canEvaluate) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var HolderClass = holderClasses[last - 1];\n var holder = new HolderClass(fn);\n var callbacks = thenCallbacks;\n\n for (var i = 0; i < last; ++i) {\n var maybePromise = tryConvertToPromise(arguments[i], ret);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n maybePromise._then(callbacks[i], reject,\n undefined, ret, holder);\n promiseSetters[i](maybePromise, holder);\n holder.asyncNeeded = false;\n } else if (((bitField & 33554432) !== 0)) {\n callbacks[i].call(ret,\n maybePromise._value(), holder);\n } else if (((bitField & 16777216) !== 0)) {\n ret._reject(maybePromise._reason());\n } else {\n ret._cancel();\n }\n } else {\n callbacks[i].call(ret, maybePromise, holder);\n }\n }\n\n if (!ret._isFateSealed()) {\n if (holder.asyncNeeded) {\n var domain = getDomain();\n if (domain !== null) {\n holder.fn = util.domainBind(domain, holder.fn);\n }\n }\n ret._setAsyncGuaranteed();\n ret._setOnCancel(holder);\n }\n return ret;\n }\n }\n }\n var args = [].slice.call(arguments);;\n if (fn) args.pop();\n var ret = new PromiseArray(args).promise();\n return fn !== undefined ? ret.spread(fn) : ret;\n};\n\n};\n\n},{\"./util\":36}],18:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nfunction MappingPromiseArray(promises, fn, limit, _filter) {\n this.constructor$(promises);\n this._promise._captureStackTrace();\n var domain = getDomain();\n this._callback = domain === null ? fn : util.domainBind(domain, fn);\n this._preservedValues = _filter === INTERNAL\n ? new Array(this.length())\n : null;\n this._limit = limit;\n this._inFlight = 0;\n this._queue = [];\n async.invoke(this._asyncInit, this, undefined);\n}\nutil.inherits(MappingPromiseArray, PromiseArray);\n\nMappingPromiseArray.prototype._asyncInit = function() {\n this._init$(undefined, -2);\n};\n\nMappingPromiseArray.prototype._init = function () {};\n\nMappingPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var values = this._values;\n var length = this.length();\n var preservedValues = this._preservedValues;\n var limit = this._limit;\n\n if (index < 0) {\n index = (index * -1) - 1;\n values[index] = value;\n if (limit >= 1) {\n this._inFlight--;\n this._drainQueue();\n if (this._isResolved()) return true;\n }\n } else {\n if (limit >= 1 && this._inFlight >= limit) {\n values[index] = value;\n this._queue.push(index);\n return false;\n }\n if (preservedValues !== null) preservedValues[index] = value;\n\n var promise = this._promise;\n var callback = this._callback;\n var receiver = promise._boundValue();\n promise._pushContext();\n var ret = tryCatch(callback).call(receiver, value, index, length);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n preservedValues !== null ? \"Promise.filter\" : \"Promise.map\",\n promise\n );\n if (ret === errorObj) {\n this._reject(ret.e);\n return true;\n }\n\n var maybePromise = tryConvertToPromise(ret, this._promise);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n if (limit >= 1) this._inFlight++;\n values[index] = maybePromise;\n maybePromise._proxy(this, (index + 1) * -1);\n return false;\n } else if (((bitField & 33554432) !== 0)) {\n ret = maybePromise._value();\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(maybePromise._reason());\n return true;\n } else {\n this._cancel();\n return true;\n }\n }\n values[index] = ret;\n }\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= length) {\n if (preservedValues !== null) {\n this._filter(values, preservedValues);\n } else {\n this._resolve(values);\n }\n return true;\n }\n return false;\n};\n\nMappingPromiseArray.prototype._drainQueue = function () {\n var queue = this._queue;\n var limit = this._limit;\n var values = this._values;\n while (queue.length > 0 && this._inFlight < limit) {\n if (this._isResolved()) return;\n var index = queue.pop();\n this._promiseFulfilled(values[index], index);\n }\n};\n\nMappingPromiseArray.prototype._filter = function (booleans, values) {\n var len = values.length;\n var ret = new Array(len);\n var j = 0;\n for (var i = 0; i < len; ++i) {\n if (booleans[i]) ret[j++] = values[i];\n }\n ret.length = j;\n this._resolve(ret);\n};\n\nMappingPromiseArray.prototype.preservedValues = function () {\n return this._preservedValues;\n};\n\nfunction map(promises, fn, options, _filter) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var limit = 0;\n if (options !== undefined) {\n if (typeof options === \"object\" && options !== null) {\n if (typeof options.concurrency !== \"number\") {\n return Promise.reject(\n new TypeError(\"'concurrency' must be a number but it is \" +\n util.classString(options.concurrency)));\n }\n limit = options.concurrency;\n } else {\n return Promise.reject(new TypeError(\n \"options argument must be an object but it is \" +\n util.classString(options)));\n }\n }\n limit = typeof limit === \"number\" &&\n isFinite(limit) && limit >= 1 ? limit : 0;\n return new MappingPromiseArray(promises, fn, limit, _filter).promise();\n}\n\nPromise.prototype.map = function (fn, options) {\n return map(this, fn, options, null);\n};\n\nPromise.map = function (promises, fn, options, _filter) {\n return map(promises, fn, options, _filter);\n};\n\n\n};\n\n},{\"./util\":36}],19:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nPromise.method = function (fn) {\n if (typeof fn !== \"function\") {\n throw new Promise.TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return function () {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value = tryCatch(fn).apply(this, arguments);\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.method\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n };\n};\n\nPromise.attempt = Promise[\"try\"] = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value;\n if (arguments.length > 1) {\n debug.deprecated(\"calling Promise.try with more than 1 argument\");\n var arg = arguments[1];\n var ctx = arguments[2];\n value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg)\n : tryCatch(fn).call(ctx, arg);\n } else {\n value = tryCatch(fn)();\n }\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.try\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n};\n\nPromise.prototype._resolveFromSyncValue = function (value) {\n if (value === util.errorObj) {\n this._rejectCallback(value.e, false);\n } else {\n this._resolveCallback(value, true);\n }\n};\n};\n\n},{\"./util\":36}],20:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar errors = _dereq_(\"./errors\");\nvar OperationalError = errors.OperationalError;\nvar es5 = _dereq_(\"./es5\");\n\nfunction isUntypedError(obj) {\n return obj instanceof Error &&\n es5.getPrototypeOf(obj) === Error.prototype;\n}\n\nvar rErrorKey = /^(?:name|message|stack|cause)$/;\nfunction wrapAsOperationalError(obj) {\n var ret;\n if (isUntypedError(obj)) {\n ret = new OperationalError(obj);\n ret.name = obj.name;\n ret.message = obj.message;\n ret.stack = obj.stack;\n var keys = es5.keys(obj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!rErrorKey.test(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n util.markAsOriginatingFromRejection(obj);\n return obj;\n}\n\nfunction nodebackForPromise(promise, multiArgs) {\n return function(err, value) {\n if (promise === null) return;\n if (err) {\n var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n promise._attachExtraTrace(wrapped);\n promise._reject(wrapped);\n } else if (!multiArgs) {\n promise._fulfill(value);\n } else {\n var args = [].slice.call(arguments, 1);;\n promise._fulfill(args);\n }\n promise = null;\n };\n}\n\nmodule.exports = nodebackForPromise;\n\n},{\"./errors\":12,\"./es5\":13,\"./util\":36}],21:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar async = Promise._async;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction spreadAdapter(val, nodeback) {\n var promise = this;\n if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);\n var ret =\n tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nfunction successAdapter(val, nodeback) {\n var promise = this;\n var receiver = promise._boundValue();\n var ret = val === undefined\n ? tryCatch(nodeback).call(receiver, null)\n : tryCatch(nodeback).call(receiver, null, val);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\nfunction errorAdapter(reason, nodeback) {\n var promise = this;\n if (!reason) {\n var newReason = new Error(reason + \"\");\n newReason.cause = reason;\n reason = newReason;\n }\n var ret = tryCatch(nodeback).call(promise._boundValue(), reason);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nPromise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback,\n options) {\n if (typeof nodeback == \"function\") {\n var adapter = successAdapter;\n if (options !== undefined && Object(options).spread) {\n adapter = spreadAdapter;\n }\n this._then(\n adapter,\n errorAdapter,\n undefined,\n this,\n nodeback\n );\n }\n return this;\n};\n};\n\n},{\"./util\":36}],22:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function() {\nvar makeSelfResolutionError = function () {\n return new TypeError(\"circular promise resolution chain\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar reflectHandler = function() {\n return new Promise.PromiseInspection(this._target());\n};\nvar apiRejection = function(msg) {\n return Promise.reject(new TypeError(msg));\n};\nfunction Proxyable() {}\nvar UNDEFINED_BINDING = {};\nvar util = _dereq_(\"./util\");\n\nvar getDomain;\nif (util.isNode) {\n getDomain = function() {\n var ret = process.domain;\n if (ret === undefined) ret = null;\n return ret;\n };\n} else {\n getDomain = function() {\n return null;\n };\n}\nutil.notEnumerableProp(Promise, \"_getDomain\", getDomain);\n\nvar es5 = _dereq_(\"./es5\");\nvar Async = _dereq_(\"./async\");\nvar async = new Async();\nes5.defineProperty(Promise, \"_async\", {value: async});\nvar errors = _dereq_(\"./errors\");\nvar TypeError = Promise.TypeError = errors.TypeError;\nPromise.RangeError = errors.RangeError;\nvar CancellationError = Promise.CancellationError = errors.CancellationError;\nPromise.TimeoutError = errors.TimeoutError;\nPromise.OperationalError = errors.OperationalError;\nPromise.RejectionError = errors.OperationalError;\nPromise.AggregateError = errors.AggregateError;\nvar INTERNAL = function(){};\nvar APPLY = {};\nvar NEXT_FILTER = {};\nvar tryConvertToPromise = _dereq_(\"./thenables\")(Promise, INTERNAL);\nvar PromiseArray =\n _dereq_(\"./promise_array\")(Promise, INTERNAL,\n tryConvertToPromise, apiRejection, Proxyable);\nvar Context = _dereq_(\"./context\")(Promise);\n /*jshint unused:false*/\nvar createContext = Context.create;\nvar debug = _dereq_(\"./debuggability\")(Promise, Context);\nvar CapturedTrace = debug.CapturedTrace;\nvar PassThroughHandlerContext =\n _dereq_(\"./finally\")(Promise, tryConvertToPromise, NEXT_FILTER);\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nfunction check(self, executor) {\n if (self == null || self.constructor !== Promise) {\n throw new TypeError(\"the promise constructor cannot be invoked directly\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (typeof executor !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n }\n\n}\n\nfunction Promise(executor) {\n if (executor !== INTERNAL) {\n check(this, executor);\n }\n this._bitField = 0;\n this._fulfillmentHandler0 = undefined;\n this._rejectionHandler0 = undefined;\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._resolveFromExecutor(executor);\n this._promiseCreated();\n this._fireEvent(\"promiseCreated\", this);\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n var len = arguments.length;\n if (len > 1) {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return apiRejection(\"Catch statement predicate: \" +\n \"expecting an object but got \" + util.classString(item));\n }\n }\n catchInstances.length = j;\n fn = arguments[i];\n return this.then(undefined, catchFilter(catchInstances, fn, this));\n }\n return this.then(undefined, fn);\n};\n\nPromise.prototype.reflect = function () {\n return this._then(reflectHandler,\n reflectHandler, undefined, this, undefined);\n};\n\nPromise.prototype.then = function (didFulfill, didReject) {\n if (debug.warnings() && arguments.length > 0 &&\n typeof didFulfill !== \"function\" &&\n typeof didReject !== \"function\") {\n var msg = \".then() only accepts functions but was passed: \" +\n util.classString(didFulfill);\n if (arguments.length > 1) {\n msg += \", \" + util.classString(didReject);\n }\n this._warn(msg);\n }\n return this._then(didFulfill, didReject, undefined, undefined, undefined);\n};\n\nPromise.prototype.done = function (didFulfill, didReject) {\n var promise =\n this._then(didFulfill, didReject, undefined, undefined, undefined);\n promise._setIsFinal();\n};\n\nPromise.prototype.spread = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n};\n\nPromise.prototype.toJSON = function () {\n var ret = {\n isFulfilled: false,\n isRejected: false,\n fulfillmentValue: undefined,\n rejectionReason: undefined\n };\n if (this.isFulfilled()) {\n ret.fulfillmentValue = this.value();\n ret.isFulfilled = true;\n } else if (this.isRejected()) {\n ret.rejectionReason = this.reason();\n ret.isRejected = true;\n }\n return ret;\n};\n\nPromise.prototype.all = function () {\n if (arguments.length > 0) {\n this._warn(\".all() was passed arguments but it does not take any\");\n }\n return new PromiseArray(this).promise();\n};\n\nPromise.prototype.error = function (fn) {\n return this.caught(util.originatesFromRejection, fn);\n};\n\nPromise.getNewLibraryCopy = module.exports;\n\nPromise.is = function (val) {\n return val instanceof Promise;\n};\n\nPromise.fromNode = Promise.fromCallback = function(fn) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs\n : false;\n var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n if (result === errorObj) {\n ret._rejectCallback(result.e, true);\n }\n if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.all = function (promises) {\n return new PromiseArray(promises).promise();\n};\n\nPromise.cast = function (obj) {\n var ret = tryConvertToPromise(obj);\n if (!(ret instanceof Promise)) {\n ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._setFulfilled();\n ret._rejectionHandler0 = obj;\n }\n return ret;\n};\n\nPromise.resolve = Promise.fulfilled = Promise.cast;\n\nPromise.reject = Promise.rejected = function (reason) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._rejectCallback(reason, true);\n return ret;\n};\n\nPromise.setScheduler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return async.setScheduler(fn);\n};\n\nPromise.prototype._then = function (\n didFulfill,\n didReject,\n _, receiver,\n internalData\n) {\n var haveInternalData = internalData !== undefined;\n var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n var target = this._target();\n var bitField = target._bitField;\n\n if (!haveInternalData) {\n promise._propagateFrom(this, 3);\n promise._captureStackTrace();\n if (receiver === undefined &&\n ((this._bitField & 2097152) !== 0)) {\n if (!((bitField & 50397184) === 0)) {\n receiver = this._boundValue();\n } else {\n receiver = target === this ? undefined : this._boundTo;\n }\n }\n this._fireEvent(\"promiseChained\", this, promise);\n }\n\n var domain = getDomain();\n if (!((bitField & 50397184) === 0)) {\n var handler, value, settler = target._settlePromiseCtx;\n if (((bitField & 33554432) !== 0)) {\n value = target._rejectionHandler0;\n handler = didFulfill;\n } else if (((bitField & 16777216) !== 0)) {\n value = target._fulfillmentHandler0;\n handler = didReject;\n target._unsetRejectionIsUnhandled();\n } else {\n settler = target._settlePromiseLateCancellationObserver;\n value = new CancellationError(\"late cancellation observer\");\n target._attachExtraTrace(value);\n handler = didReject;\n }\n\n async.invoke(settler, target, {\n handler: domain === null ? handler\n : (typeof handler === \"function\" &&\n util.domainBind(domain, handler)),\n promise: promise,\n receiver: receiver,\n value: value\n });\n } else {\n target._addCallbacks(didFulfill, didReject, promise, receiver, domain);\n }\n\n return promise;\n};\n\nPromise.prototype._length = function () {\n return this._bitField & 65535;\n};\n\nPromise.prototype._isFateSealed = function () {\n return (this._bitField & 117506048) !== 0;\n};\n\nPromise.prototype._isFollowing = function () {\n return (this._bitField & 67108864) === 67108864;\n};\n\nPromise.prototype._setLength = function (len) {\n this._bitField = (this._bitField & -65536) |\n (len & 65535);\n};\n\nPromise.prototype._setFulfilled = function () {\n this._bitField = this._bitField | 33554432;\n this._fireEvent(\"promiseFulfilled\", this);\n};\n\nPromise.prototype._setRejected = function () {\n this._bitField = this._bitField | 16777216;\n this._fireEvent(\"promiseRejected\", this);\n};\n\nPromise.prototype._setFollowing = function () {\n this._bitField = this._bitField | 67108864;\n this._fireEvent(\"promiseResolved\", this);\n};\n\nPromise.prototype._setIsFinal = function () {\n this._bitField = this._bitField | 4194304;\n};\n\nPromise.prototype._isFinal = function () {\n return (this._bitField & 4194304) > 0;\n};\n\nPromise.prototype._unsetCancelled = function() {\n this._bitField = this._bitField & (~65536);\n};\n\nPromise.prototype._setCancelled = function() {\n this._bitField = this._bitField | 65536;\n this._fireEvent(\"promiseCancelled\", this);\n};\n\nPromise.prototype._setWillBeCancelled = function() {\n this._bitField = this._bitField | 8388608;\n};\n\nPromise.prototype._setAsyncGuaranteed = function() {\n if (async.hasCustomScheduler()) return;\n this._bitField = this._bitField | 134217728;\n};\n\nPromise.prototype._receiverAt = function (index) {\n var ret = index === 0 ? this._receiver0 : this[\n index * 4 - 4 + 3];\n if (ret === UNDEFINED_BINDING) {\n return undefined;\n } else if (ret === undefined && this._isBound()) {\n return this._boundValue();\n }\n return ret;\n};\n\nPromise.prototype._promiseAt = function (index) {\n return this[\n index * 4 - 4 + 2];\n};\n\nPromise.prototype._fulfillmentHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 0];\n};\n\nPromise.prototype._rejectionHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 1];\n};\n\nPromise.prototype._boundValue = function() {};\n\nPromise.prototype._migrateCallback0 = function (follower) {\n var bitField = follower._bitField;\n var fulfill = follower._fulfillmentHandler0;\n var reject = follower._rejectionHandler0;\n var promise = follower._promise0;\n var receiver = follower._receiverAt(0);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._migrateCallbackAt = function (follower, index) {\n var fulfill = follower._fulfillmentHandlerAt(index);\n var reject = follower._rejectionHandlerAt(index);\n var promise = follower._promiseAt(index);\n var receiver = follower._receiverAt(index);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._addCallbacks = function (\n fulfill,\n reject,\n promise,\n receiver,\n domain\n) {\n var index = this._length();\n\n if (index >= 65535 - 4) {\n index = 0;\n this._setLength(0);\n }\n\n if (index === 0) {\n this._promise0 = promise;\n this._receiver0 = receiver;\n if (typeof fulfill === \"function\") {\n this._fulfillmentHandler0 =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this._rejectionHandler0 =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n } else {\n var base = index * 4 - 4;\n this[base + 2] = promise;\n this[base + 3] = receiver;\n if (typeof fulfill === \"function\") {\n this[base + 0] =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this[base + 1] =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n }\n this._setLength(index + 1);\n return index;\n};\n\nPromise.prototype._proxy = function (proxyable, arg) {\n this._addCallbacks(undefined, undefined, arg, proxyable, null);\n};\n\nPromise.prototype._resolveCallback = function(value, shouldBind) {\n if (((this._bitField & 117506048) !== 0)) return;\n if (value === this)\n return this._rejectCallback(makeSelfResolutionError(), false);\n var maybePromise = tryConvertToPromise(value, this);\n if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n\n if (shouldBind) this._propagateFrom(maybePromise, 2);\n\n var promise = maybePromise._target();\n\n if (promise === this) {\n this._reject(makeSelfResolutionError());\n return;\n }\n\n var bitField = promise._bitField;\n if (((bitField & 50397184) === 0)) {\n var len = this._length();\n if (len > 0) promise._migrateCallback0(this);\n for (var i = 1; i < len; ++i) {\n promise._migrateCallbackAt(this, i);\n }\n this._setFollowing();\n this._setLength(0);\n this._setFollowee(promise);\n } else if (((bitField & 33554432) !== 0)) {\n this._fulfill(promise._value());\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(promise._reason());\n } else {\n var reason = new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n this._reject(reason);\n }\n};\n\nPromise.prototype._rejectCallback =\nfunction(reason, synchronous, ignoreNonErrorWarnings) {\n var trace = util.ensureErrorObject(reason);\n var hasStack = trace === reason;\n if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n var message = \"a promise was rejected with a non-error: \" +\n util.classString(reason);\n this._warn(message, true);\n }\n this._attachExtraTrace(trace, synchronous ? hasStack : false);\n this._reject(reason);\n};\n\nPromise.prototype._resolveFromExecutor = function (executor) {\n if (executor === INTERNAL) return;\n var promise = this;\n this._captureStackTrace();\n this._pushContext();\n var synchronous = true;\n var r = this._execute(executor, function(value) {\n promise._resolveCallback(value);\n }, function (reason) {\n promise._rejectCallback(reason, synchronous);\n });\n synchronous = false;\n this._popContext();\n\n if (r !== undefined) {\n promise._rejectCallback(r, true);\n }\n};\n\nPromise.prototype._settlePromiseFromHandler = function (\n handler, receiver, value, promise\n) {\n var bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n promise._pushContext();\n var x;\n if (receiver === APPLY) {\n if (!value || typeof value.length !== \"number\") {\n x = errorObj;\n x.e = new TypeError(\"cannot .spread() a non-array: \" +\n util.classString(value));\n } else {\n x = tryCatch(handler).apply(this._boundValue(), value);\n }\n } else {\n x = tryCatch(handler).call(receiver, value);\n }\n var promiseCreated = promise._popContext();\n bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n\n if (x === NEXT_FILTER) {\n promise._reject(value);\n } else if (x === errorObj) {\n promise._rejectCallback(x.e, false);\n } else {\n debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n promise._resolveCallback(x);\n }\n};\n\nPromise.prototype._target = function() {\n var ret = this;\n while (ret._isFollowing()) ret = ret._followee();\n return ret;\n};\n\nPromise.prototype._followee = function() {\n return this._rejectionHandler0;\n};\n\nPromise.prototype._setFollowee = function(promise) {\n this._rejectionHandler0 = promise;\n};\n\nPromise.prototype._settlePromise = function(promise, handler, receiver, value) {\n var isPromise = promise instanceof Promise;\n var bitField = this._bitField;\n var asyncGuaranteed = ((bitField & 134217728) !== 0);\n if (((bitField & 65536) !== 0)) {\n if (isPromise) promise._invokeInternalOnCancel();\n\n if (receiver instanceof PassThroughHandlerContext &&\n receiver.isFinallyHandler()) {\n receiver.cancelPromise = promise;\n if (tryCatch(handler).call(receiver, value) === errorObj) {\n promise._reject(errorObj.e);\n }\n } else if (handler === reflectHandler) {\n promise._fulfill(reflectHandler.call(receiver));\n } else if (receiver instanceof Proxyable) {\n receiver._promiseCancelled(promise);\n } else if (isPromise || promise instanceof PromiseArray) {\n promise._cancel();\n } else {\n receiver.cancel();\n }\n } else if (typeof handler === \"function\") {\n if (!isPromise) {\n handler.call(receiver, value, promise);\n } else {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (receiver instanceof Proxyable) {\n if (!receiver._isResolved()) {\n if (((bitField & 33554432) !== 0)) {\n receiver._promiseFulfilled(value, promise);\n } else {\n receiver._promiseRejected(value, promise);\n }\n }\n } else if (isPromise) {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n if (((bitField & 33554432) !== 0)) {\n promise._fulfill(value);\n } else {\n promise._reject(value);\n }\n }\n};\n\nPromise.prototype._settlePromiseLateCancellationObserver = function(ctx) {\n var handler = ctx.handler;\n var promise = ctx.promise;\n var receiver = ctx.receiver;\n var value = ctx.value;\n if (typeof handler === \"function\") {\n if (!(promise instanceof Promise)) {\n handler.call(receiver, value, promise);\n } else {\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (promise instanceof Promise) {\n promise._reject(value);\n }\n};\n\nPromise.prototype._settlePromiseCtx = function(ctx) {\n this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n};\n\nPromise.prototype._settlePromise0 = function(handler, value, bitField) {\n var promise = this._promise0;\n var receiver = this._receiverAt(0);\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._settlePromise(promise, handler, receiver, value);\n};\n\nPromise.prototype._clearCallbackDataAtIndex = function(index) {\n var base = index * 4 - 4;\n this[base + 2] =\n this[base + 3] =\n this[base + 0] =\n this[base + 1] = undefined;\n};\n\nPromise.prototype._fulfill = function (value) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n if (value === this) {\n var err = makeSelfResolutionError();\n this._attachExtraTrace(err);\n return this._reject(err);\n }\n this._setFulfilled();\n this._rejectionHandler0 = value;\n\n if ((bitField & 65535) > 0) {\n if (((bitField & 134217728) !== 0)) {\n this._settlePromises();\n } else {\n async.settlePromises(this);\n }\n }\n};\n\nPromise.prototype._reject = function (reason) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n this._setRejected();\n this._fulfillmentHandler0 = reason;\n\n if (this._isFinal()) {\n return async.fatalError(reason, util.isNode);\n }\n\n if ((bitField & 65535) > 0) {\n async.settlePromises(this);\n } else {\n this._ensurePossibleRejectionHandled();\n }\n};\n\nPromise.prototype._fulfillPromises = function (len, value) {\n for (var i = 1; i < len; i++) {\n var handler = this._fulfillmentHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, value);\n }\n};\n\nPromise.prototype._rejectPromises = function (len, reason) {\n for (var i = 1; i < len; i++) {\n var handler = this._rejectionHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, reason);\n }\n};\n\nPromise.prototype._settlePromises = function () {\n var bitField = this._bitField;\n var len = (bitField & 65535);\n\n if (len > 0) {\n if (((bitField & 16842752) !== 0)) {\n var reason = this._fulfillmentHandler0;\n this._settlePromise0(this._rejectionHandler0, reason, bitField);\n this._rejectPromises(len, reason);\n } else {\n var value = this._rejectionHandler0;\n this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n this._fulfillPromises(len, value);\n }\n this._setLength(0);\n }\n this._clearCancellationData();\n};\n\nPromise.prototype._settledValue = function() {\n var bitField = this._bitField;\n if (((bitField & 33554432) !== 0)) {\n return this._rejectionHandler0;\n } else if (((bitField & 16777216) !== 0)) {\n return this._fulfillmentHandler0;\n }\n};\n\nfunction deferResolve(v) {this.promise._resolveCallback(v);}\nfunction deferReject(v) {this.promise._rejectCallback(v, false);}\n\nPromise.defer = Promise.pending = function() {\n debug.deprecated(\"Promise.defer\", \"new Promise\");\n var promise = new Promise(INTERNAL);\n return {\n promise: promise,\n resolve: deferResolve,\n reject: deferReject\n };\n};\n\nutil.notEnumerableProp(Promise,\n \"_makeSelfResolutionError\",\n makeSelfResolutionError);\n\n_dereq_(\"./method\")(Promise, INTERNAL, tryConvertToPromise, apiRejection,\n debug);\n_dereq_(\"./bind\")(Promise, INTERNAL, tryConvertToPromise, debug);\n_dereq_(\"./cancel\")(Promise, PromiseArray, apiRejection, debug);\n_dereq_(\"./direct_resolve\")(Promise);\n_dereq_(\"./synchronous_inspection\")(Promise);\n_dereq_(\"./join\")(\n Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain);\nPromise.Promise = Promise;\nPromise.version = \"3.5.1\";\n_dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./call_get.js')(Promise);\n_dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\n_dereq_('./timers.js')(Promise, INTERNAL, debug);\n_dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\n_dereq_('./nodeify.js')(Promise);\n_dereq_('./promisify.js')(Promise, INTERNAL);\n_dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);\n_dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);\n_dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./settle.js')(Promise, PromiseArray, debug);\n_dereq_('./some.js')(Promise, PromiseArray, apiRejection);\n_dereq_('./filter.js')(Promise, INTERNAL);\n_dereq_('./each.js')(Promise, INTERNAL);\n_dereq_('./any.js')(Promise);\n \n util.toFastProperties(Promise); \n util.toFastProperties(Promise.prototype); \n function fillTypes(value) { \n var p = new Promise(INTERNAL); \n p._fulfillmentHandler0 = value; \n p._rejectionHandler0 = value; \n p._promise0 = value; \n p._receiver0 = value; \n } \n // Complete slack tracking, opt out of field-type tracking and \n // stabilize map \n fillTypes({a: 1}); \n fillTypes({b: 2}); \n fillTypes({c: 3}); \n fillTypes(1); \n fillTypes(function(){}); \n fillTypes(undefined); \n fillTypes(false); \n fillTypes(new Promise(INTERNAL)); \n debug.setBounds(Async.firstLineError, util.lastLineError); \n return Promise; \n\n};\n\n},{\"./any.js\":1,\"./async\":2,\"./bind\":3,\"./call_get.js\":5,\"./cancel\":6,\"./catch_filter\":7,\"./context\":8,\"./debuggability\":9,\"./direct_resolve\":10,\"./each.js\":11,\"./errors\":12,\"./es5\":13,\"./filter.js\":14,\"./finally\":15,\"./generators.js\":16,\"./join\":17,\"./map.js\":18,\"./method\":19,\"./nodeback\":20,\"./nodeify.js\":21,\"./promise_array\":23,\"./promisify.js\":24,\"./props.js\":25,\"./race.js\":27,\"./reduce.js\":28,\"./settle.js\":30,\"./some.js\":31,\"./synchronous_inspection\":32,\"./thenables\":33,\"./timers.js\":34,\"./using.js\":35,\"./util\":36}],23:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise,\n apiRejection, Proxyable) {\nvar util = _dereq_(\"./util\");\nvar isArray = util.isArray;\n\nfunction toResolutionValue(val) {\n switch(val) {\n case -2: return [];\n case -3: return {};\n case -6: return new Map();\n }\n}\n\nfunction PromiseArray(values) {\n var promise = this._promise = new Promise(INTERNAL);\n if (values instanceof Promise) {\n promise._propagateFrom(values, 3);\n }\n promise._setOnCancel(this);\n this._values = values;\n this._length = 0;\n this._totalResolved = 0;\n this._init(undefined, -2);\n}\nutil.inherits(PromiseArray, Proxyable);\n\nPromiseArray.prototype.length = function () {\n return this._length;\n};\n\nPromiseArray.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n var values = tryConvertToPromise(this._values, this._promise);\n if (values instanceof Promise) {\n values = values._target();\n var bitField = values._bitField;\n ;\n this._values = values;\n\n if (((bitField & 50397184) === 0)) {\n this._promise._setAsyncGuaranteed();\n return values._then(\n init,\n this._reject,\n undefined,\n this,\n resolveValueIfEmpty\n );\n } else if (((bitField & 33554432) !== 0)) {\n values = values._value();\n } else if (((bitField & 16777216) !== 0)) {\n return this._reject(values._reason());\n } else {\n return this._cancel();\n }\n }\n values = util.asArray(values);\n if (values === null) {\n var err = apiRejection(\n \"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n this._promise._rejectCallback(err, false);\n return;\n }\n\n if (values.length === 0) {\n if (resolveValueIfEmpty === -5) {\n this._resolveEmptyArray();\n }\n else {\n this._resolve(toResolutionValue(resolveValueIfEmpty));\n }\n return;\n }\n this._iterate(values);\n};\n\nPromiseArray.prototype._iterate = function(values) {\n var len = this.getActualLength(values.length);\n this._length = len;\n this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n var result = this._promise;\n var isResolved = false;\n var bitField = null;\n for (var i = 0; i < len; ++i) {\n var maybePromise = tryConvertToPromise(values[i], result);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n bitField = maybePromise._bitField;\n } else {\n bitField = null;\n }\n\n if (isResolved) {\n if (bitField !== null) {\n maybePromise.suppressUnhandledRejections();\n }\n } else if (bitField !== null) {\n if (((bitField & 50397184) === 0)) {\n maybePromise._proxy(this, i);\n this._values[i] = maybePromise;\n } else if (((bitField & 33554432) !== 0)) {\n isResolved = this._promiseFulfilled(maybePromise._value(), i);\n } else if (((bitField & 16777216) !== 0)) {\n isResolved = this._promiseRejected(maybePromise._reason(), i);\n } else {\n isResolved = this._promiseCancelled(i);\n }\n } else {\n isResolved = this._promiseFulfilled(maybePromise, i);\n }\n }\n if (!isResolved) result._setAsyncGuaranteed();\n};\n\nPromiseArray.prototype._isResolved = function () {\n return this._values === null;\n};\n\nPromiseArray.prototype._resolve = function (value) {\n this._values = null;\n this._promise._fulfill(value);\n};\n\nPromiseArray.prototype._cancel = function() {\n if (this._isResolved() || !this._promise._isCancellable()) return;\n this._values = null;\n this._promise._cancel();\n};\n\nPromiseArray.prototype._reject = function (reason) {\n this._values = null;\n this._promise._rejectCallback(reason, false);\n};\n\nPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nPromiseArray.prototype._promiseCancelled = function() {\n this._cancel();\n return true;\n};\n\nPromiseArray.prototype._promiseRejected = function (reason) {\n this._totalResolved++;\n this._reject(reason);\n return true;\n};\n\nPromiseArray.prototype._resultCancelled = function() {\n if (this._isResolved()) return;\n var values = this._values;\n this._cancel();\n if (values instanceof Promise) {\n values.cancel();\n } else {\n for (var i = 0; i < values.length; ++i) {\n if (values[i] instanceof Promise) {\n values[i].cancel();\n }\n }\n }\n};\n\nPromiseArray.prototype.shouldCopyValues = function () {\n return true;\n};\n\nPromiseArray.prototype.getActualLength = function (len) {\n return len;\n};\n\nreturn PromiseArray;\n};\n\n},{\"./util\":36}],24:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar THIS = {};\nvar util = _dereq_(\"./util\");\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar withAppended = util.withAppended;\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar canEvaluate = util.canEvaluate;\nvar TypeError = _dereq_(\"./errors\").TypeError;\nvar defaultSuffix = \"Async\";\nvar defaultPromisified = {__isPromisified__: true};\nvar noCopyProps = [\n \"arity\", \"length\",\n \"name\",\n \"arguments\",\n \"caller\",\n \"callee\",\n \"prototype\",\n \"__isPromisified__\"\n];\nvar noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\nvar defaultFilter = function(name) {\n return util.isIdentifier(name) &&\n name.charAt(0) !== \"_\" &&\n name !== \"constructor\";\n};\n\nfunction propsFilter(key) {\n return !noCopyPropsPattern.test(key);\n}\n\nfunction isPromisified(fn) {\n try {\n return fn.__isPromisified__ === true;\n }\n catch (e) {\n return false;\n }\n}\n\nfunction hasPromisified(obj, key, suffix) {\n var val = util.getDataPropertyOrDefault(obj, key + suffix,\n defaultPromisified);\n return val ? isPromisified(val) : false;\n}\nfunction checkValid(ret, suffix, suffixRegexp) {\n for (var i = 0; i < ret.length; i += 2) {\n var key = ret[i];\n if (suffixRegexp.test(key)) {\n var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n for (var j = 0; j < ret.length; j += 2) {\n if (ret[j] === keyWithoutAsyncSuffix) {\n throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\"\n .replace(\"%s\", suffix));\n }\n }\n }\n }\n}\n\nfunction promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n var keys = util.inheritedDataKeys(obj);\n var ret = [];\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var value = obj[key];\n var passesDefaultFilter = filter === defaultFilter\n ? true : defaultFilter(key, value, obj);\n if (typeof value === \"function\" &&\n !isPromisified(value) &&\n !hasPromisified(obj, key, suffix) &&\n filter(key, value, obj, passesDefaultFilter)) {\n ret.push(key, value);\n }\n }\n checkValid(ret, suffix, suffixRegexp);\n return ret;\n}\n\nvar escapeIdentRegex = function(str) {\n return str.replace(/([$])/, \"\\\\$\");\n};\n\nvar makeNodePromisifiedEval;\nif (!true) {\nvar switchCaseArgumentOrder = function(likelyArgumentCount) {\n var ret = [likelyArgumentCount];\n var min = Math.max(0, likelyArgumentCount - 1 - 3);\n for(var i = likelyArgumentCount - 1; i >= min; --i) {\n ret.push(i);\n }\n for(var i = likelyArgumentCount + 1; i <= 3; ++i) {\n ret.push(i);\n }\n return ret;\n};\n\nvar argumentSequence = function(argumentCount) {\n return util.filledRange(argumentCount, \"_arg\", \"\");\n};\n\nvar parameterDeclaration = function(parameterCount) {\n return util.filledRange(\n Math.max(parameterCount, 3), \"_arg\", \"\");\n};\n\nvar parameterCount = function(fn) {\n if (typeof fn.length === \"number\") {\n return Math.max(Math.min(fn.length, 1023 + 1), 0);\n }\n return 0;\n};\n\nmakeNodePromisifiedEval =\nfunction(callback, receiver, originalName, fn, _, multiArgs) {\n var newParameterCount = Math.max(0, parameterCount(fn) - 1);\n var argumentOrder = switchCaseArgumentOrder(newParameterCount);\n var shouldProxyThis = typeof callback === \"string\" || receiver === THIS;\n\n function generateCallForArgumentCount(count) {\n var args = argumentSequence(count).join(\", \");\n var comma = count > 0 ? \", \" : \"\";\n var ret;\n if (shouldProxyThis) {\n ret = \"ret = callback.call(this, {{args}}, nodeback); break;\\n\";\n } else {\n ret = receiver === undefined\n ? \"ret = callback({{args}}, nodeback); break;\\n\"\n : \"ret = callback.call(receiver, {{args}}, nodeback); break;\\n\";\n }\n return ret.replace(\"{{args}}\", args).replace(\", \", comma);\n }\n\n function generateArgumentSwitchCase() {\n var ret = \"\";\n for (var i = 0; i < argumentOrder.length; ++i) {\n ret += \"case \" + argumentOrder[i] +\":\" +\n generateCallForArgumentCount(argumentOrder[i]);\n }\n\n ret += \" \\n\\\n default: \\n\\\n var args = new Array(len + 1); \\n\\\n var i = 0; \\n\\\n for (var i = 0; i < len; ++i) { \\n\\\n args[i] = arguments[i]; \\n\\\n } \\n\\\n args[i] = nodeback; \\n\\\n [CodeForCall] \\n\\\n break; \\n\\\n \".replace(\"[CodeForCall]\", (shouldProxyThis\n ? \"ret = callback.apply(this, args);\\n\"\n : \"ret = callback.apply(receiver, args);\\n\"));\n return ret;\n }\n\n var getFunctionCode = typeof callback === \"string\"\n ? (\"this != null ? this['\"+callback+\"'] : fn\")\n : \"fn\";\n var body = \"'use strict'; \\n\\\n var ret = function (Parameters) { \\n\\\n 'use strict'; \\n\\\n var len = arguments.length; \\n\\\n var promise = new Promise(INTERNAL); \\n\\\n promise._captureStackTrace(); \\n\\\n var nodeback = nodebackForPromise(promise, \" + multiArgs + \"); \\n\\\n var ret; \\n\\\n var callback = tryCatch([GetFunctionCode]); \\n\\\n switch(len) { \\n\\\n [CodeForSwitchCase] \\n\\\n } \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\\n\\\n } \\n\\\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \\n\\\n return promise; \\n\\\n }; \\n\\\n notEnumerableProp(ret, '__isPromisified__', true); \\n\\\n return ret; \\n\\\n \".replace(\"[CodeForSwitchCase]\", generateArgumentSwitchCase())\n .replace(\"[GetFunctionCode]\", getFunctionCode);\n body = body.replace(\"Parameters\", parameterDeclaration(newParameterCount));\n return new Function(\"Promise\",\n \"fn\",\n \"receiver\",\n \"withAppended\",\n \"maybeWrapAsError\",\n \"nodebackForPromise\",\n \"tryCatch\",\n \"errorObj\",\n \"notEnumerableProp\",\n \"INTERNAL\",\n body)(\n Promise,\n fn,\n receiver,\n withAppended,\n maybeWrapAsError,\n nodebackForPromise,\n util.tryCatch,\n util.errorObj,\n util.notEnumerableProp,\n INTERNAL);\n};\n}\n\nfunction makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n var defaultThis = (function() {return this;})();\n var method = callback;\n if (typeof method === \"string\") {\n callback = fn;\n }\n function promisified() {\n var _receiver = receiver;\n if (receiver === THIS) _receiver = this;\n var promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n var cb = typeof method === \"string\" && this !== defaultThis\n ? this[method] : callback;\n var fn = nodebackForPromise(promise, multiArgs);\n try {\n cb.apply(_receiver, withAppended(arguments, fn));\n } catch(e) {\n promise._rejectCallback(maybeWrapAsError(e), true, true);\n }\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n return promise;\n }\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n return promisified;\n}\n\nvar makeNodePromisified = canEvaluate\n ? makeNodePromisifiedEval\n : makeNodePromisifiedClosure;\n\nfunction promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n var methods =\n promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\n for (var i = 0, len = methods.length; i < len; i+= 2) {\n var key = methods[i];\n var fn = methods[i+1];\n var promisifiedKey = key + suffix;\n if (promisifier === makeNodePromisified) {\n obj[promisifiedKey] =\n makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n } else {\n var promisified = promisifier(fn, function() {\n return makeNodePromisified(key, THIS, key,\n fn, suffix, multiArgs);\n });\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n obj[promisifiedKey] = promisified;\n }\n }\n util.toFastProperties(obj);\n return obj;\n}\n\nfunction promisify(callback, receiver, multiArgs) {\n return makeNodePromisified(callback, receiver, undefined,\n callback, null, multiArgs);\n}\n\nPromise.promisify = function (fn, options) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n if (isPromisified(fn)) {\n return fn;\n }\n options = Object(options);\n var receiver = options.context === undefined ? THIS : options.context;\n var multiArgs = !!options.multiArgs;\n var ret = promisify(fn, receiver, multiArgs);\n util.copyDescriptors(fn, ret, propsFilter);\n return ret;\n};\n\nPromise.promisifyAll = function (target, options) {\n if (typeof target !== \"function\" && typeof target !== \"object\") {\n throw new TypeError(\"the target of promisifyAll must be an object or a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n options = Object(options);\n var multiArgs = !!options.multiArgs;\n var suffix = options.suffix;\n if (typeof suffix !== \"string\") suffix = defaultSuffix;\n var filter = options.filter;\n if (typeof filter !== \"function\") filter = defaultFilter;\n var promisifier = options.promisifier;\n if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\n if (!util.isIdentifier(suffix)) {\n throw new RangeError(\"suffix must be a valid identifier\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n\n var keys = util.inheritedDataKeys(target);\n for (var i = 0; i < keys.length; ++i) {\n var value = target[keys[i]];\n if (keys[i] !== \"constructor\" &&\n util.isClass(value)) {\n promisifyAll(value.prototype, suffix, filter, promisifier,\n multiArgs);\n promisifyAll(value, suffix, filter, promisifier, multiArgs);\n }\n }\n\n return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n};\n};\n\n\n},{\"./errors\":12,\"./nodeback\":20,\"./util\":36}],25:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, PromiseArray, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar isObject = util.isObject;\nvar es5 = _dereq_(\"./es5\");\nvar Es6Map;\nif (typeof Map === \"function\") Es6Map = Map;\n\nvar mapToEntries = (function() {\n var index = 0;\n var size = 0;\n\n function extractEntry(value, key) {\n this[index] = value;\n this[index + size] = key;\n index++;\n }\n\n return function mapToEntries(map) {\n size = map.size;\n index = 0;\n var ret = new Array(map.size * 2);\n map.forEach(extractEntry, ret);\n return ret;\n };\n})();\n\nvar entriesToMap = function(entries) {\n var ret = new Es6Map();\n var length = entries.length / 2 | 0;\n for (var i = 0; i < length; ++i) {\n var key = entries[length + i];\n var value = entries[i];\n ret.set(key, value);\n }\n return ret;\n};\n\nfunction PropertiesPromiseArray(obj) {\n var isMap = false;\n var entries;\n if (Es6Map !== undefined && obj instanceof Es6Map) {\n entries = mapToEntries(obj);\n isMap = true;\n } else {\n var keys = es5.keys(obj);\n var len = keys.length;\n entries = new Array(len * 2);\n for (var i = 0; i < len; ++i) {\n var key = keys[i];\n entries[i] = obj[key];\n entries[i + len] = key;\n }\n }\n this.constructor$(entries);\n this._isMap = isMap;\n this._init$(undefined, isMap ? -6 : -3);\n}\nutil.inherits(PropertiesPromiseArray, PromiseArray);\n\nPropertiesPromiseArray.prototype._init = function () {};\n\nPropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n var val;\n if (this._isMap) {\n val = entriesToMap(this._values);\n } else {\n val = {};\n var keyOffset = this.length();\n for (var i = 0, len = this.length(); i < len; ++i) {\n val[this._values[i + keyOffset]] = this._values[i];\n }\n }\n this._resolve(val);\n return true;\n }\n return false;\n};\n\nPropertiesPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nPropertiesPromiseArray.prototype.getActualLength = function (len) {\n return len >> 1;\n};\n\nfunction props(promises) {\n var ret;\n var castValue = tryConvertToPromise(promises);\n\n if (!isObject(castValue)) {\n return apiRejection(\"cannot await properties of a non-object\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n } else if (castValue instanceof Promise) {\n ret = castValue._then(\n Promise.props, undefined, undefined, undefined, undefined);\n } else {\n ret = new PropertiesPromiseArray(castValue).promise();\n }\n\n if (castValue instanceof Promise) {\n ret._propagateFrom(castValue, 2);\n }\n return ret;\n}\n\nPromise.prototype.props = function () {\n return props(this);\n};\n\nPromise.props = function (promises) {\n return props(promises);\n};\n};\n\n},{\"./es5\":13,\"./util\":36}],26:[function(_dereq_,module,exports){\n\"use strict\";\nfunction arrayMove(src, srcIndex, dst, dstIndex, len) {\n for (var j = 0; j < len; ++j) {\n dst[j + dstIndex] = src[j + srcIndex];\n src[j + srcIndex] = void 0;\n }\n}\n\nfunction Queue(capacity) {\n this._capacity = capacity;\n this._length = 0;\n this._front = 0;\n}\n\nQueue.prototype._willBeOverCapacity = function (size) {\n return this._capacity < size;\n};\n\nQueue.prototype._pushOne = function (arg) {\n var length = this.length();\n this._checkCapacity(length + 1);\n var i = (this._front + length) & (this._capacity - 1);\n this[i] = arg;\n this._length = length + 1;\n};\n\nQueue.prototype.push = function (fn, receiver, arg) {\n var length = this.length() + 3;\n if (this._willBeOverCapacity(length)) {\n this._pushOne(fn);\n this._pushOne(receiver);\n this._pushOne(arg);\n return;\n }\n var j = this._front + length - 3;\n this._checkCapacity(length);\n var wrapMask = this._capacity - 1;\n this[(j + 0) & wrapMask] = fn;\n this[(j + 1) & wrapMask] = receiver;\n this[(j + 2) & wrapMask] = arg;\n this._length = length;\n};\n\nQueue.prototype.shift = function () {\n var front = this._front,\n ret = this[front];\n\n this[front] = undefined;\n this._front = (front + 1) & (this._capacity - 1);\n this._length--;\n return ret;\n};\n\nQueue.prototype.length = function () {\n return this._length;\n};\n\nQueue.prototype._checkCapacity = function (size) {\n if (this._capacity < size) {\n this._resizeTo(this._capacity << 1);\n }\n};\n\nQueue.prototype._resizeTo = function (capacity) {\n var oldCapacity = this._capacity;\n this._capacity = capacity;\n var front = this._front;\n var length = this._length;\n var moveItemsCount = (front + length) & (oldCapacity - 1);\n arrayMove(this, 0, this, oldCapacity, moveItemsCount);\n};\n\nmodule.exports = Queue;\n\n},{}],27:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, INTERNAL, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\n\nvar raceLater = function (promise) {\n return promise.then(function(array) {\n return race(array, promise);\n });\n};\n\nfunction race(promises, parent) {\n var maybePromise = tryConvertToPromise(promises);\n\n if (maybePromise instanceof Promise) {\n return raceLater(maybePromise);\n } else {\n promises = util.asArray(promises);\n if (promises === null)\n return apiRejection(\"expecting an array or an iterable object but got \" + util.classString(promises));\n }\n\n var ret = new Promise(INTERNAL);\n if (parent !== undefined) {\n ret._propagateFrom(parent, 3);\n }\n var fulfill = ret._fulfill;\n var reject = ret._reject;\n for (var i = 0, len = promises.length; i < len; ++i) {\n var val = promises[i];\n\n if (val === undefined && !(i in promises)) {\n continue;\n }\n\n Promise.cast(val)._then(fulfill, reject, undefined, ret, null);\n }\n return ret;\n}\n\nPromise.race = function (promises) {\n return race(promises, undefined);\n};\n\nPromise.prototype.race = function () {\n return race(this, undefined);\n};\n\n};\n\n},{\"./util\":36}],28:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nfunction ReductionPromiseArray(promises, fn, initialValue, _each) {\n this.constructor$(promises);\n var domain = getDomain();\n this._fn = domain === null ? fn : util.domainBind(domain, fn);\n if (initialValue !== undefined) {\n initialValue = Promise.resolve(initialValue);\n initialValue._attachCancellationCallback(this);\n }\n this._initialValue = initialValue;\n this._currentCancellable = null;\n if(_each === INTERNAL) {\n this._eachValues = Array(this._length);\n } else if (_each === 0) {\n this._eachValues = null;\n } else {\n this._eachValues = undefined;\n }\n this._promise._captureStackTrace();\n this._init$(undefined, -5);\n}\nutil.inherits(ReductionPromiseArray, PromiseArray);\n\nReductionPromiseArray.prototype._gotAccum = function(accum) {\n if (this._eachValues !== undefined && \n this._eachValues !== null && \n accum !== INTERNAL) {\n this._eachValues.push(accum);\n }\n};\n\nReductionPromiseArray.prototype._eachComplete = function(value) {\n if (this._eachValues !== null) {\n this._eachValues.push(value);\n }\n return this._eachValues;\n};\n\nReductionPromiseArray.prototype._init = function() {};\n\nReductionPromiseArray.prototype._resolveEmptyArray = function() {\n this._resolve(this._eachValues !== undefined ? this._eachValues\n : this._initialValue);\n};\n\nReductionPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nReductionPromiseArray.prototype._resolve = function(value) {\n this._promise._resolveCallback(value);\n this._values = null;\n};\n\nReductionPromiseArray.prototype._resultCancelled = function(sender) {\n if (sender === this._initialValue) return this._cancel();\n if (this._isResolved()) return;\n this._resultCancelled$();\n if (this._currentCancellable instanceof Promise) {\n this._currentCancellable.cancel();\n }\n if (this._initialValue instanceof Promise) {\n this._initialValue.cancel();\n }\n};\n\nReductionPromiseArray.prototype._iterate = function (values) {\n this._values = values;\n var value;\n var i;\n var length = values.length;\n if (this._initialValue !== undefined) {\n value = this._initialValue;\n i = 0;\n } else {\n value = Promise.resolve(values[0]);\n i = 1;\n }\n\n this._currentCancellable = value;\n\n if (!value.isRejected()) {\n for (; i < length; ++i) {\n var ctx = {\n accum: null,\n value: values[i],\n index: i,\n length: length,\n array: this\n };\n value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n }\n }\n\n if (this._eachValues !== undefined) {\n value = value\n ._then(this._eachComplete, undefined, undefined, this, undefined);\n }\n value._then(completed, completed, undefined, value, this);\n};\n\nPromise.prototype.reduce = function (fn, initialValue) {\n return reduce(this, fn, initialValue, null);\n};\n\nPromise.reduce = function (promises, fn, initialValue, _each) {\n return reduce(promises, fn, initialValue, _each);\n};\n\nfunction completed(valueOrReason, array) {\n if (this.isFulfilled()) {\n array._resolve(valueOrReason);\n } else {\n array._reject(valueOrReason);\n }\n}\n\nfunction reduce(promises, fn, initialValue, _each) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n return array.promise();\n}\n\nfunction gotAccum(accum) {\n this.accum = accum;\n this.array._gotAccum(accum);\n var value = tryConvertToPromise(this.value, this.array._promise);\n if (value instanceof Promise) {\n this.array._currentCancellable = value;\n return value._then(gotValue, undefined, undefined, this, undefined);\n } else {\n return gotValue.call(this, value);\n }\n}\n\nfunction gotValue(value) {\n var array = this.array;\n var promise = array._promise;\n var fn = tryCatch(array._fn);\n promise._pushContext();\n var ret;\n if (array._eachValues !== undefined) {\n ret = fn.call(promise._boundValue(), value, this.index, this.length);\n } else {\n ret = fn.call(promise._boundValue(),\n this.accum, value, this.index, this.length);\n }\n if (ret instanceof Promise) {\n array._currentCancellable = ret;\n }\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\",\n promise\n );\n return ret;\n}\n};\n\n},{\"./util\":36}],29:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar schedule;\nvar noAsyncScheduler = function() {\n throw new Error(\"No async scheduler available\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar NativePromise = util.getNativePromise();\nif (util.isNode && typeof MutationObserver === \"undefined\") {\n var GlobalSetImmediate = global.setImmediate;\n var ProcessNextTick = process.nextTick;\n schedule = util.isRecentNode\n ? function(fn) { GlobalSetImmediate.call(global, fn); }\n : function(fn) { ProcessNextTick.call(process, fn); };\n} else if (typeof NativePromise === \"function\" &&\n typeof NativePromise.resolve === \"function\") {\n var nativePromise = NativePromise.resolve();\n schedule = function(fn) {\n nativePromise.then(fn);\n };\n} else if ((typeof MutationObserver !== \"undefined\") &&\n !(typeof window !== \"undefined\" &&\n window.navigator &&\n (window.navigator.standalone || window.cordova))) {\n schedule = (function() {\n var div = document.createElement(\"div\");\n var opts = {attributes: true};\n var toggleScheduled = false;\n var div2 = document.createElement(\"div\");\n var o2 = new MutationObserver(function() {\n div.classList.toggle(\"foo\");\n toggleScheduled = false;\n });\n o2.observe(div2, opts);\n\n var scheduleToggle = function() {\n if (toggleScheduled) return;\n toggleScheduled = true;\n div2.classList.toggle(\"foo\");\n };\n\n return function schedule(fn) {\n var o = new MutationObserver(function() {\n o.disconnect();\n fn();\n });\n o.observe(div, opts);\n scheduleToggle();\n };\n })();\n} else if (typeof setImmediate !== \"undefined\") {\n schedule = function (fn) {\n setImmediate(fn);\n };\n} else if (typeof setTimeout !== \"undefined\") {\n schedule = function (fn) {\n setTimeout(fn, 0);\n };\n} else {\n schedule = noAsyncScheduler;\n}\nmodule.exports = schedule;\n\n},{\"./util\":36}],30:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\n function(Promise, PromiseArray, debug) {\nvar PromiseInspection = Promise.PromiseInspection;\nvar util = _dereq_(\"./util\");\n\nfunction SettledPromiseArray(values) {\n this.constructor$(values);\n}\nutil.inherits(SettledPromiseArray, PromiseArray);\n\nSettledPromiseArray.prototype._promiseResolved = function (index, inspection) {\n this._values[index] = inspection;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nSettledPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var ret = new PromiseInspection();\n ret._bitField = 33554432;\n ret._settledValueField = value;\n return this._promiseResolved(index, ret);\n};\nSettledPromiseArray.prototype._promiseRejected = function (reason, index) {\n var ret = new PromiseInspection();\n ret._bitField = 16777216;\n ret._settledValueField = reason;\n return this._promiseResolved(index, ret);\n};\n\nPromise.settle = function (promises) {\n debug.deprecated(\".settle()\", \".reflect()\");\n return new SettledPromiseArray(promises).promise();\n};\n\nPromise.prototype.settle = function () {\n return Promise.settle(this);\n};\n};\n\n},{\"./util\":36}],31:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar RangeError = _dereq_(\"./errors\").RangeError;\nvar AggregateError = _dereq_(\"./errors\").AggregateError;\nvar isArray = util.isArray;\nvar CANCELLATION = {};\n\n\nfunction SomePromiseArray(values) {\n this.constructor$(values);\n this._howMany = 0;\n this._unwrap = false;\n this._initialized = false;\n}\nutil.inherits(SomePromiseArray, PromiseArray);\n\nSomePromiseArray.prototype._init = function () {\n if (!this._initialized) {\n return;\n }\n if (this._howMany === 0) {\n this._resolve([]);\n return;\n }\n this._init$(undefined, -5);\n var isArrayResolved = isArray(this._values);\n if (!this._isResolved() &&\n isArrayResolved &&\n this._howMany > this._canPossiblyFulfill()) {\n this._reject(this._getRangeError(this.length()));\n }\n};\n\nSomePromiseArray.prototype.init = function () {\n this._initialized = true;\n this._init();\n};\n\nSomePromiseArray.prototype.setUnwrap = function () {\n this._unwrap = true;\n};\n\nSomePromiseArray.prototype.howMany = function () {\n return this._howMany;\n};\n\nSomePromiseArray.prototype.setHowMany = function (count) {\n this._howMany = count;\n};\n\nSomePromiseArray.prototype._promiseFulfilled = function (value) {\n this._addFulfilled(value);\n if (this._fulfilled() === this.howMany()) {\n this._values.length = this.howMany();\n if (this.howMany() === 1 && this._unwrap) {\n this._resolve(this._values[0]);\n } else {\n this._resolve(this._values);\n }\n return true;\n }\n return false;\n\n};\nSomePromiseArray.prototype._promiseRejected = function (reason) {\n this._addRejected(reason);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._promiseCancelled = function () {\n if (this._values instanceof Promise || this._values == null) {\n return this._cancel();\n }\n this._addRejected(CANCELLATION);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._checkOutcome = function() {\n if (this.howMany() > this._canPossiblyFulfill()) {\n var e = new AggregateError();\n for (var i = this.length(); i < this._values.length; ++i) {\n if (this._values[i] !== CANCELLATION) {\n e.push(this._values[i]);\n }\n }\n if (e.length > 0) {\n this._reject(e);\n } else {\n this._cancel();\n }\n return true;\n }\n return false;\n};\n\nSomePromiseArray.prototype._fulfilled = function () {\n return this._totalResolved;\n};\n\nSomePromiseArray.prototype._rejected = function () {\n return this._values.length - this.length();\n};\n\nSomePromiseArray.prototype._addRejected = function (reason) {\n this._values.push(reason);\n};\n\nSomePromiseArray.prototype._addFulfilled = function (value) {\n this._values[this._totalResolved++] = value;\n};\n\nSomePromiseArray.prototype._canPossiblyFulfill = function () {\n return this.length() - this._rejected();\n};\n\nSomePromiseArray.prototype._getRangeError = function (count) {\n var message = \"Input array must contain at least \" +\n this._howMany + \" items but contains only \" + count + \" items\";\n return new RangeError(message);\n};\n\nSomePromiseArray.prototype._resolveEmptyArray = function () {\n this._reject(this._getRangeError(0));\n};\n\nfunction some(promises, howMany) {\n if ((howMany | 0) !== howMany || howMany < 0) {\n return apiRejection(\"expecting a positive integer\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(howMany);\n ret.init();\n return promise;\n}\n\nPromise.some = function (promises, howMany) {\n return some(promises, howMany);\n};\n\nPromise.prototype.some = function (howMany) {\n return some(this, howMany);\n};\n\nPromise._SomePromiseArray = SomePromiseArray;\n};\n\n},{\"./errors\":12,\"./util\":36}],32:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction PromiseInspection(promise) {\n if (promise !== undefined) {\n promise = promise._target();\n this._bitField = promise._bitField;\n this._settledValueField = promise._isFateSealed()\n ? promise._settledValue() : undefined;\n }\n else {\n this._bitField = 0;\n this._settledValueField = undefined;\n }\n}\n\nPromiseInspection.prototype._settledValue = function() {\n return this._settledValueField;\n};\n\nvar value = PromiseInspection.prototype.value = function () {\n if (!this.isFulfilled()) {\n throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar reason = PromiseInspection.prototype.error =\nPromiseInspection.prototype.reason = function () {\n if (!this.isRejected()) {\n throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar isFulfilled = PromiseInspection.prototype.isFulfilled = function() {\n return (this._bitField & 33554432) !== 0;\n};\n\nvar isRejected = PromiseInspection.prototype.isRejected = function () {\n return (this._bitField & 16777216) !== 0;\n};\n\nvar isPending = PromiseInspection.prototype.isPending = function () {\n return (this._bitField & 50397184) === 0;\n};\n\nvar isResolved = PromiseInspection.prototype.isResolved = function () {\n return (this._bitField & 50331648) !== 0;\n};\n\nPromiseInspection.prototype.isCancelled = function() {\n return (this._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.__isCancelled = function() {\n return (this._bitField & 65536) === 65536;\n};\n\nPromise.prototype._isCancelled = function() {\n return this._target().__isCancelled();\n};\n\nPromise.prototype.isCancelled = function() {\n return (this._target()._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.isPending = function() {\n return isPending.call(this._target());\n};\n\nPromise.prototype.isRejected = function() {\n return isRejected.call(this._target());\n};\n\nPromise.prototype.isFulfilled = function() {\n return isFulfilled.call(this._target());\n};\n\nPromise.prototype.isResolved = function() {\n return isResolved.call(this._target());\n};\n\nPromise.prototype.value = function() {\n return value.call(this._target());\n};\n\nPromise.prototype.reason = function() {\n var target = this._target();\n target._unsetRejectionIsUnhandled();\n return reason.call(target);\n};\n\nPromise.prototype._value = function() {\n return this._settledValue();\n};\n\nPromise.prototype._reason = function() {\n this._unsetRejectionIsUnhandled();\n return this._settledValue();\n};\n\nPromise.PromiseInspection = PromiseInspection;\n};\n\n},{}],33:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar isObject = util.isObject;\n\nfunction tryConvertToPromise(obj, context) {\n if (isObject(obj)) {\n if (obj instanceof Promise) return obj;\n var then = getThen(obj);\n if (then === errorObj) {\n if (context) context._pushContext();\n var ret = Promise.reject(then.e);\n if (context) context._popContext();\n return ret;\n } else if (typeof then === \"function\") {\n if (isAnyBluebirdPromise(obj)) {\n var ret = new Promise(INTERNAL);\n obj._then(\n ret._fulfill,\n ret._reject,\n undefined,\n ret,\n null\n );\n return ret;\n }\n return doThenable(obj, then, context);\n }\n }\n return obj;\n}\n\nfunction doGetThen(obj) {\n return obj.then;\n}\n\nfunction getThen(obj) {\n try {\n return doGetThen(obj);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\n\nvar hasProp = {}.hasOwnProperty;\nfunction isAnyBluebirdPromise(obj) {\n try {\n return hasProp.call(obj, \"_promise0\");\n } catch (e) {\n return false;\n }\n}\n\nfunction doThenable(x, then, context) {\n var promise = new Promise(INTERNAL);\n var ret = promise;\n if (context) context._pushContext();\n promise._captureStackTrace();\n if (context) context._popContext();\n var synchronous = true;\n var result = util.tryCatch(then).call(x, resolve, reject);\n synchronous = false;\n\n if (promise && result === errorObj) {\n promise._rejectCallback(result.e, true, true);\n promise = null;\n }\n\n function resolve(value) {\n if (!promise) return;\n promise._resolveCallback(value);\n promise = null;\n }\n\n function reject(reason) {\n if (!promise) return;\n promise._rejectCallback(reason, synchronous, true);\n promise = null;\n }\n return ret;\n}\n\nreturn tryConvertToPromise;\n};\n\n},{\"./util\":36}],34:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, debug) {\nvar util = _dereq_(\"./util\");\nvar TimeoutError = Promise.TimeoutError;\n\nfunction HandleWrapper(handle) {\n this.handle = handle;\n}\n\nHandleWrapper.prototype._resultCancelled = function() {\n clearTimeout(this.handle);\n};\n\nvar afterValue = function(value) { return delay(+this).thenReturn(value); };\nvar delay = Promise.delay = function (ms, value) {\n var ret;\n var handle;\n if (value !== undefined) {\n ret = Promise.resolve(value)\n ._then(afterValue, null, null, ms, undefined);\n if (debug.cancellation() && value instanceof Promise) {\n ret._setOnCancel(value);\n }\n } else {\n ret = new Promise(INTERNAL);\n handle = setTimeout(function() { ret._fulfill(); }, +ms);\n if (debug.cancellation()) {\n ret._setOnCancel(new HandleWrapper(handle));\n }\n ret._captureStackTrace();\n }\n ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.prototype.delay = function (ms) {\n return delay(ms, this);\n};\n\nvar afterTimeout = function (promise, message, parent) {\n var err;\n if (typeof message !== \"string\") {\n if (message instanceof Error) {\n err = message;\n } else {\n err = new TimeoutError(\"operation timed out\");\n }\n } else {\n err = new TimeoutError(message);\n }\n util.markAsOriginatingFromRejection(err);\n promise._attachExtraTrace(err);\n promise._reject(err);\n\n if (parent != null) {\n parent.cancel();\n }\n};\n\nfunction successClear(value) {\n clearTimeout(this.handle);\n return value;\n}\n\nfunction failureClear(reason) {\n clearTimeout(this.handle);\n throw reason;\n}\n\nPromise.prototype.timeout = function (ms, message) {\n ms = +ms;\n var ret, parent;\n\n var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() {\n if (ret.isPending()) {\n afterTimeout(ret, message, parent);\n }\n }, ms));\n\n if (debug.cancellation()) {\n parent = this.then();\n ret = parent._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n ret._setOnCancel(handleWrapper);\n } else {\n ret = this._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n }\n\n return ret;\n};\n\n};\n\n},{\"./util\":36}],35:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function (Promise, apiRejection, tryConvertToPromise,\n createContext, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n var TypeError = _dereq_(\"./errors\").TypeError;\n var inherits = _dereq_(\"./util\").inherits;\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n var NULL = {};\n\n function thrower(e) {\n setTimeout(function(){throw e;}, 0);\n }\n\n function castPreservingDisposable(thenable) {\n var maybePromise = tryConvertToPromise(thenable);\n if (maybePromise !== thenable &&\n typeof thenable._isDisposable === \"function\" &&\n typeof thenable._getDisposer === \"function\" &&\n thenable._isDisposable()) {\n maybePromise._setDisposable(thenable._getDisposer());\n }\n return maybePromise;\n }\n function dispose(resources, inspection) {\n var i = 0;\n var len = resources.length;\n var ret = new Promise(INTERNAL);\n function iterator() {\n if (i >= len) return ret._fulfill();\n var maybePromise = castPreservingDisposable(resources[i++]);\n if (maybePromise instanceof Promise &&\n maybePromise._isDisposable()) {\n try {\n maybePromise = tryConvertToPromise(\n maybePromise._getDisposer().tryDispose(inspection),\n resources.promise);\n } catch (e) {\n return thrower(e);\n }\n if (maybePromise instanceof Promise) {\n return maybePromise._then(iterator, thrower,\n null, null, null);\n }\n }\n iterator();\n }\n iterator();\n return ret;\n }\n\n function Disposer(data, promise, context) {\n this._data = data;\n this._promise = promise;\n this._context = context;\n }\n\n Disposer.prototype.data = function () {\n return this._data;\n };\n\n Disposer.prototype.promise = function () {\n return this._promise;\n };\n\n Disposer.prototype.resource = function () {\n if (this.promise().isFulfilled()) {\n return this.promise().value();\n }\n return NULL;\n };\n\n Disposer.prototype.tryDispose = function(inspection) {\n var resource = this.resource();\n var context = this._context;\n if (context !== undefined) context._pushContext();\n var ret = resource !== NULL\n ? this.doDispose(resource, inspection) : null;\n if (context !== undefined) context._popContext();\n this._promise._unsetDisposable();\n this._data = null;\n return ret;\n };\n\n Disposer.isDisposer = function (d) {\n return (d != null &&\n typeof d.resource === \"function\" &&\n typeof d.tryDispose === \"function\");\n };\n\n function FunctionDisposer(fn, promise, context) {\n this.constructor$(fn, promise, context);\n }\n inherits(FunctionDisposer, Disposer);\n\n FunctionDisposer.prototype.doDispose = function (resource, inspection) {\n var fn = this.data();\n return fn.call(resource, resource, inspection);\n };\n\n function maybeUnwrapDisposer(value) {\n if (Disposer.isDisposer(value)) {\n this.resources[this.index]._setDisposable(value);\n return value.promise();\n }\n return value;\n }\n\n function ResourceList(length) {\n this.length = length;\n this.promise = null;\n this[length-1] = null;\n }\n\n ResourceList.prototype._resultCancelled = function() {\n var len = this.length;\n for (var i = 0; i < len; ++i) {\n var item = this[i];\n if (item instanceof Promise) {\n item.cancel();\n }\n }\n };\n\n Promise.using = function () {\n var len = arguments.length;\n if (len < 2) return apiRejection(\n \"you must pass at least 2 arguments to Promise.using\");\n var fn = arguments[len - 1];\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var input;\n var spreadArgs = true;\n if (len === 2 && Array.isArray(arguments[0])) {\n input = arguments[0];\n len = input.length;\n spreadArgs = false;\n } else {\n input = arguments;\n len--;\n }\n var resources = new ResourceList(len);\n for (var i = 0; i < len; ++i) {\n var resource = input[i];\n if (Disposer.isDisposer(resource)) {\n var disposer = resource;\n resource = resource.promise();\n resource._setDisposable(disposer);\n } else {\n var maybePromise = tryConvertToPromise(resource);\n if (maybePromise instanceof Promise) {\n resource =\n maybePromise._then(maybeUnwrapDisposer, null, null, {\n resources: resources,\n index: i\n }, undefined);\n }\n }\n resources[i] = resource;\n }\n\n var reflectedResources = new Array(resources.length);\n for (var i = 0; i < reflectedResources.length; ++i) {\n reflectedResources[i] = Promise.resolve(resources[i]).reflect();\n }\n\n var resultPromise = Promise.all(reflectedResources)\n .then(function(inspections) {\n for (var i = 0; i < inspections.length; ++i) {\n var inspection = inspections[i];\n if (inspection.isRejected()) {\n errorObj.e = inspection.error();\n return errorObj;\n } else if (!inspection.isFulfilled()) {\n resultPromise.cancel();\n return;\n }\n inspections[i] = inspection.value();\n }\n promise._pushContext();\n\n fn = tryCatch(fn);\n var ret = spreadArgs\n ? fn.apply(undefined, inspections) : fn(inspections);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret, promiseCreated, \"Promise.using\", promise);\n return ret;\n });\n\n var promise = resultPromise.lastly(function() {\n var inspection = new Promise.PromiseInspection(resultPromise);\n return dispose(resources, inspection);\n });\n resources.promise = promise;\n promise._setOnCancel(resources);\n return promise;\n };\n\n Promise.prototype._setDisposable = function (disposer) {\n this._bitField = this._bitField | 131072;\n this._disposer = disposer;\n };\n\n Promise.prototype._isDisposable = function () {\n return (this._bitField & 131072) > 0;\n };\n\n Promise.prototype._getDisposer = function () {\n return this._disposer;\n };\n\n Promise.prototype._unsetDisposable = function () {\n this._bitField = this._bitField & (~131072);\n this._disposer = undefined;\n };\n\n Promise.prototype.disposer = function (fn) {\n if (typeof fn === \"function\") {\n return new FunctionDisposer(fn, this, createContext());\n }\n throw new TypeError();\n };\n\n};\n\n},{\"./errors\":12,\"./util\":36}],36:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar canEvaluate = typeof navigator == \"undefined\";\n\nvar errorObj = {e: {}};\nvar tryCatchTarget;\nvar globalObject = typeof self !== \"undefined\" ? self :\n typeof window !== \"undefined\" ? window :\n typeof global !== \"undefined\" ? global :\n this !== undefined ? this : null;\n\nfunction tryCatcher() {\n try {\n var target = tryCatchTarget;\n tryCatchTarget = null;\n return target.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\n\nvar inherits = function(Child, Parent) {\n var hasProp = {}.hasOwnProperty;\n\n function T() {\n this.constructor = Child;\n this.constructor$ = Parent;\n for (var propertyName in Parent.prototype) {\n if (hasProp.call(Parent.prototype, propertyName) &&\n propertyName.charAt(propertyName.length-1) !== \"$\"\n ) {\n this[propertyName + \"$\"] = Parent.prototype[propertyName];\n }\n }\n }\n T.prototype = Parent.prototype;\n Child.prototype = new T();\n return Child.prototype;\n};\n\n\nfunction isPrimitive(val) {\n return val == null || val === true || val === false ||\n typeof val === \"string\" || typeof val === \"number\";\n\n}\n\nfunction isObject(value) {\n return typeof value === \"function\" ||\n typeof value === \"object\" && value !== null;\n}\n\nfunction maybeWrapAsError(maybeError) {\n if (!isPrimitive(maybeError)) return maybeError;\n\n return new Error(safeToString(maybeError));\n}\n\nfunction withAppended(target, appendee) {\n var len = target.length;\n var ret = new Array(len + 1);\n var i;\n for (i = 0; i < len; ++i) {\n ret[i] = target[i];\n }\n ret[i] = appendee;\n return ret;\n}\n\nfunction getDataPropertyOrDefault(obj, key, defaultValue) {\n if (es5.isES5) {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null) {\n return desc.get == null && desc.set == null\n ? desc.value\n : defaultValue;\n }\n } else {\n return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n }\n}\n\nfunction notEnumerableProp(obj, name, value) {\n if (isPrimitive(obj)) return obj;\n var descriptor = {\n value: value,\n configurable: true,\n enumerable: false,\n writable: true\n };\n es5.defineProperty(obj, name, descriptor);\n return obj;\n}\n\nfunction thrower(r) {\n throw r;\n}\n\nvar inheritedDataKeys = (function() {\n var excludedPrototypes = [\n Array.prototype,\n Object.prototype,\n Function.prototype\n ];\n\n var isExcludedProto = function(val) {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (excludedPrototypes[i] === val) {\n return true;\n }\n }\n return false;\n };\n\n if (es5.isES5) {\n var getKeys = Object.getOwnPropertyNames;\n return function(obj) {\n var ret = [];\n var visitedKeys = Object.create(null);\n while (obj != null && !isExcludedProto(obj)) {\n var keys;\n try {\n keys = getKeys(obj);\n } catch (e) {\n return ret;\n }\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (visitedKeys[key]) continue;\n visitedKeys[key] = true;\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n if (desc != null && desc.get == null && desc.set == null) {\n ret.push(key);\n }\n }\n obj = es5.getPrototypeOf(obj);\n }\n return ret;\n };\n } else {\n var hasProp = {}.hasOwnProperty;\n return function(obj) {\n if (isExcludedProto(obj)) return [];\n var ret = [];\n\n /*jshint forin:false */\n enumeration: for (var key in obj) {\n if (hasProp.call(obj, key)) {\n ret.push(key);\n } else {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (hasProp.call(excludedPrototypes[i], key)) {\n continue enumeration;\n }\n }\n ret.push(key);\n }\n }\n return ret;\n };\n }\n\n})();\n\nvar thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\nfunction isClass(fn) {\n try {\n if (typeof fn === \"function\") {\n var keys = es5.names(fn.prototype);\n\n var hasMethods = es5.isES5 && keys.length > 1;\n var hasMethodsOtherThanConstructor = keys.length > 0 &&\n !(keys.length === 1 && keys[0] === \"constructor\");\n var hasThisAssignmentAndStaticMethods =\n thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\n if (hasMethods || hasMethodsOtherThanConstructor ||\n hasThisAssignmentAndStaticMethods) {\n return true;\n }\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n\nfunction toFastProperties(obj) {\n /*jshint -W027,-W055,-W031*/\n function FakeConstructor() {}\n FakeConstructor.prototype = obj;\n var l = 8;\n while (l--) new FakeConstructor();\n return obj;\n eval(obj);\n}\n\nvar rident = /^[a-z$_][a-z$_0-9]*$/i;\nfunction isIdentifier(str) {\n return rident.test(str);\n}\n\nfunction filledRange(count, prefix, suffix) {\n var ret = new Array(count);\n for(var i = 0; i < count; ++i) {\n ret[i] = prefix + i + suffix;\n }\n return ret;\n}\n\nfunction safeToString(obj) {\n try {\n return obj + \"\";\n } catch (e) {\n return \"[no string representation]\";\n }\n}\n\nfunction isError(obj) {\n return obj instanceof Error ||\n (obj !== null &&\n typeof obj === \"object\" &&\n typeof obj.message === \"string\" &&\n typeof obj.name === \"string\");\n}\n\nfunction markAsOriginatingFromRejection(e) {\n try {\n notEnumerableProp(e, \"isOperational\", true);\n }\n catch(ignore) {}\n}\n\nfunction originatesFromRejection(e) {\n if (e == null) return false;\n return ((e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError) ||\n e[\"isOperational\"] === true);\n}\n\nfunction canAttachTrace(obj) {\n return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n}\n\nvar ensureErrorObject = (function() {\n if (!(\"stack\" in new Error())) {\n return function(value) {\n if (canAttachTrace(value)) return value;\n try {throw new Error(safeToString(value));}\n catch(err) {return err;}\n };\n } else {\n return function(value) {\n if (canAttachTrace(value)) return value;\n return new Error(safeToString(value));\n };\n }\n})();\n\nfunction classString(obj) {\n return {}.toString.call(obj);\n}\n\nfunction copyDescriptors(from, to, filter) {\n var keys = es5.names(from);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (filter(key)) {\n try {\n es5.defineProperty(to, key, es5.getDescriptor(from, key));\n } catch (ignore) {}\n }\n }\n}\n\nvar asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n }\n return null;\n};\n\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n var ArrayFrom = typeof Array.from === \"function\" ? function(v) {\n return Array.from(v);\n } : function(v) {\n var ret = [];\n var it = v[Symbol.iterator]();\n var itResult;\n while (!((itResult = it.next()).done)) {\n ret.push(itResult.value);\n }\n return ret;\n };\n\n asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n return ArrayFrom(v);\n }\n return null;\n };\n}\n\nvar isNode = typeof process !== \"undefined\" &&\n classString(process).toLowerCase() === \"[object process]\";\n\nvar hasEnvVariables = typeof process !== \"undefined\" &&\n typeof process.env !== \"undefined\";\n\nfunction env(key) {\n return hasEnvVariables ? process.env[key] : undefined;\n}\n\nfunction getNativePromise() {\n if (typeof Promise === \"function\") {\n try {\n var promise = new Promise(function(){});\n if ({}.toString.call(promise) === \"[object Promise]\") {\n return Promise;\n }\n } catch (e) {}\n }\n}\n\nfunction domainBind(self, cb) {\n return self.bind(cb);\n}\n\nvar ret = {\n isClass: isClass,\n isIdentifier: isIdentifier,\n inheritedDataKeys: inheritedDataKeys,\n getDataPropertyOrDefault: getDataPropertyOrDefault,\n thrower: thrower,\n isArray: es5.isArray,\n asArray: asArray,\n notEnumerableProp: notEnumerableProp,\n isPrimitive: isPrimitive,\n isObject: isObject,\n isError: isError,\n canEvaluate: canEvaluate,\n errorObj: errorObj,\n tryCatch: tryCatch,\n inherits: inherits,\n withAppended: withAppended,\n maybeWrapAsError: maybeWrapAsError,\n toFastProperties: toFastProperties,\n filledRange: filledRange,\n toString: safeToString,\n canAttachTrace: canAttachTrace,\n ensureErrorObject: ensureErrorObject,\n originatesFromRejection: originatesFromRejection,\n markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n classString: classString,\n copyDescriptors: copyDescriptors,\n hasDevTools: typeof chrome !== \"undefined\" && chrome &&\n typeof chrome.loadTimes === \"function\",\n isNode: isNode,\n hasEnvVariables: hasEnvVariables,\n env: env,\n global: globalObject,\n getNativePromise: getNativePromise,\n domainBind: domainBind\n};\nret.isRecentNode = ret.isNode && (function() {\n var version = process.versions.node.split(\".\").map(Number);\n return (version[0] === 0 && version[1] > 10) || (version[0] > 0);\n})();\n\nif (ret.isNode) ret.toFastProperties(process);\n\ntry {throw new Error(); } catch (e) {ret.lastLineError = e;}\nmodule.exports = ret;\n\n},{\"./es5\":13}]},{},[4])(4)\n}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; }","/*!\n * jQuery JavaScript Library v2.2.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2016-05-20T17:23Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\"use strict\";\nvar arr = [];\n\nvar document = window.document;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\tversion = \"2.2.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\tvar realStringObj = obj && obj.toString();\n\t\treturn !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\tvar key;\n\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Not own constructor property must be Object\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj, \"constructor\" ) &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype || {}, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || hasOwn.call( obj, key );\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf( \"use strict\" ) === 1 ) {\n\t\t\t\tscript = document.createElement( \"script\" );\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\n\t\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t\t// and removal by using an indirect global eval\n\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\n// JSHint would error on this code due to the Symbol not being defined in ES5.\n// Defining this global in .jshintrc would create a danger of using the global\n// unguarded in another place, it seems safer to just disable JSHint for these\n// three lines.\n/* jshint ignore: start */\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n/* jshint ignore: end */\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.1\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-10-17\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, nidselect, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rescape, \"\\\\$&\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\tnidselect = ridentifier.test( nid ) ? \"#\" + nid : \"[id='\" + nid + \"']\";\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = nidselect + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( (parent = document.defaultView) && parent.top !== parent ) {\n\t\t// Support: IE 11\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( document.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\treturn m ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( (oldCache = uniqueCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/ );\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t} );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && ( pos ?\n\t\t\t\t\tpos.index( cur ) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnotwhite = ( /\\S+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ) ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add( function() {\n\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 ||\n\t\t\t\t( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred.\n\t\t\t// If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) )\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n} );\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n} );\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called\n\t\t// after the browser event has already occurred.\n\t\t// Support: IE9-10 only\n\t\t// Older IE sometimes signals \"interactive\" too soon\n\t\tif ( document.readyState === \"complete\" ||\n\t\t\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\twindow.setTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[ 0 ], key ) : emptyGet;\n};\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tregister: function( owner, initial ) {\n\t\tvar value = initial || {};\n\n\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t// use plain assignment\n\t\tif ( owner.nodeType ) {\n\t\t\towner[ this.expando ] = value;\n\n\t\t// Otherwise secure it in a non-enumerable, non-writable property\n\t\t// configurability must be true to allow the property to be\n\t\t// deleted with the delete operator\n\t\t} else {\n\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\tvalue: value,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true\n\t\t\t} );\n\t\t}\n\t\treturn owner[ this.expando ];\n\t},\n\tcache: function( owner ) {\n\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return an empty object.\n\t\tif ( !acceptData( owner ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\t\t\towner[ this.expando ] && owner[ this.expando ][ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase( key ) );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.register( owner );\n\n\t\t} else {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <= 35-45+\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://code.google.com/p/chromium/issues/detail?id=378607\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data, camelKey;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = dataUser.get( elem, key ) ||\n\n\t\t\t\t\t// Try to find dashed key if it exists (gh-2779)\n\t\t\t\t\t// This is for 2.2.x only\n\t\t\t\t\tdataUser.get( elem, key.replace( rmultiDash, \"-$&\" ).toLowerCase() );\n\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = dataUser.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tcamelKey = jQuery.camelCase( key );\n\t\t\tthis.each( function() {\n\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = dataUser.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdataUser.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf( \"-\" ) > -1 && data !== undefined ) {\n\t\t\t\t\tdataUser.set( this, key, value );\n\t\t\t\t}\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" ||\n\t\t\t!jQuery.contains( elem.ownerDocument, elem );\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() { return tween.cur(); } :\n\t\t\tfunction() { return jQuery.css( elem, prop, \"\" ); },\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([\\w:-]+)/ );\n\nvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE9\n\toption: [ 1, \"\" ],\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
    \" ],\n\tcol: [ 2, \"\", \"
    \" ],\n\ttr: [ 2, \"\", \"
    \" ],\n\ttd: [ 3, \"\", \"
    \" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE9-11+\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret = typeof context.getElementsByTagName !== \"undefined\" ?\n\t\t\tcontext.getElementsByTagName( tag || \"*\" ) :\n\t\t\ttypeof context.querySelectorAll !== \"undefined\" ?\n\t\t\t\tcontext.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, contains, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( contains ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0-4.3, Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE9\n// See #13393 for more info\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Support (at least): Chrome, IE9\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG instance trees (#13180)\n\t\t//\n\t\t// Support: Firefox<=42+\n\t\t// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)\n\t\tif ( delegateCount && cur.nodeType &&\n\t\t\t( event.type !== \"click\" || isNaN( event.button ) || event.button < 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== \"click\" ) ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matches } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: ( \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase \" +\n\t\t\"metaKey relatedTarget shiftKey target timeStamp view which\" ).split( \" \" ),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split( \" \" ),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: ( \"button buttons clientX clientY offsetX offsetY pageX pageY \" +\n\t\t\t\"screenX screenY toElement\" ).split( \" \" ),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX +\n\t\t\t\t\t( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -\n\t\t\t\t\t( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY +\n\t\t\t\t\t( doc && doc.scrollTop || body && body.scrollTop || 0 ) -\n\t\t\t\t\t( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://code.google.com/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n\n\t// Support: IE 10-11, Edge 10240+\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName( \"tbody\" )[ 0 ] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement( \"tbody\" ) ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.access( src );\n\t\tpdataCur = dataPriv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tisFunction = jQuery.isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( isFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( isFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\n\t// Keep domManip exposed until 3.0 (gh-2225)\n\tdomManip: domManip,\n\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\n\n\nvar iframe,\n\telemdisplay = {\n\n\t\t// Support: Firefox\n\t\t// We have to pre-define these values for FF (#10227)\n\t\tHTML: \"block\",\n\t\tBODY: \"block\"\n\t};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\tdisplay = jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = ( iframe || jQuery( \"

    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