From 412417505f2d84d049572a9bfc73d78c3f63c344 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Fri, 23 Jan 2015 10:40:32 -0600 Subject: [PATCH 01/62] feat(quests): Differentiated scrolls Implements logic to show specific scroll images per quest, falling back to the present scroll image if none is present. Also implements a "locked scroll" picture for unavailable quests in addition to the current background dimming. --- views/options/inventory/inventory.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index 50ca1259d8..cd20135ae0 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -39,7 +39,7 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html span.Pet_Currency_Gem1x.inline-gems menu.pets-menu(label=env.t('quests')) div(ng-repeat='quest in ::getSeasonalShopQuests()') - button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', class='inventory_quest_scroll', ng-class='::{locked: quest.previous && !user.achievements.quests[quest.previous]}') + button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  span.Pet_Currency_Gem1x.inline-gems @@ -114,7 +114,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') p.muted(ng-show='questCount < 1')=env.t('noScrolls') p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') - button.customize-option(popover="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', class='inventory_quest_scroll', ng-class='::{locked: quest.previous && !user.achievements.quests[quest.previous]}') + button.customize-option(popover="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') .badge.badge-info.stack-count {{points}} li.customize-menu @@ -209,7 +209,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') menu.pets-menu(label=env.t('quests')) p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' div(ng-repeat='quest in Content.quests', ng-if='quest.canBuy') - button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='buyQuest(quest.key)', class='inventory_quest_scroll', ng-class='::{locked: quest.previous && !user.achievements.quests[quest.previous]}') + button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  span.Pet_Currency_Gem1x.inline-gems From de59c766094bf5ff7b3baa5e2ae61f674ca2176c Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Fri, 23 Jan 2015 14:53:30 -0600 Subject: [PATCH 02/62] Added watts themes to audio choices --- .../audio/wattsTheme/Achievement_Unlocked.mp3 | Bin 0 -> 62763 bytes .../audio/wattsTheme/Achievement_Unlocked.ogg | Bin 0 -> 61878 bytes public/audio/wattsTheme/Chat.mp3 | 0 public/audio/wattsTheme/Chat.ogg | 0 public/audio/wattsTheme/Daily.mp3 | Bin 0 -> 45209 bytes public/audio/wattsTheme/Daily.ogg | Bin 0 -> 27604 bytes public/audio/wattsTheme/Death.mp3 | Bin 0 -> 163073 bytes public/audio/wattsTheme/Death.ogg | Bin 0 -> 153458 bytes public/audio/wattsTheme/Item_Drop.mp3 | Bin 0 -> 51061 bytes public/audio/wattsTheme/Item_Drop.ogg | Bin 0 -> 22204 bytes public/audio/wattsTheme/Level_Up.mp3 | Bin 0 -> 71107 bytes public/audio/wattsTheme/Level_Up.ogg | Bin 0 -> 99594 bytes public/audio/wattsTheme/Minus_Habit.mp3 | Bin 0 -> 41865 bytes public/audio/wattsTheme/Minus_Habit.ogg | Bin 0 -> 16282 bytes public/audio/wattsTheme/Plus_Habit.mp3 | Bin 0 -> 41865 bytes public/audio/wattsTheme/Plus_Habit.ogg | Bin 0 -> 16404 bytes public/audio/wattsTheme/Reward.mp3 | Bin 0 -> 65271 bytes public/audio/wattsTheme/Reward.ogg | Bin 0 -> 31455 bytes public/audio/wattsTheme/ToDo.mp3 | Bin 0 -> 58584 bytes public/audio/wattsTheme/ToDo.ogg | Bin 0 -> 40028 bytes src/models/user.js | 2 +- views/shared/header/menu.jade | 2 +- 22 files changed, 2 insertions(+), 2 deletions(-) create mode 100755 public/audio/wattsTheme/Achievement_Unlocked.mp3 create mode 100755 public/audio/wattsTheme/Achievement_Unlocked.ogg create mode 100644 public/audio/wattsTheme/Chat.mp3 create mode 100644 public/audio/wattsTheme/Chat.ogg create mode 100755 public/audio/wattsTheme/Daily.mp3 create mode 100755 public/audio/wattsTheme/Daily.ogg create mode 100755 public/audio/wattsTheme/Death.mp3 create mode 100755 public/audio/wattsTheme/Death.ogg create mode 100755 public/audio/wattsTheme/Item_Drop.mp3 create mode 100755 public/audio/wattsTheme/Item_Drop.ogg create mode 100755 public/audio/wattsTheme/Level_Up.mp3 create mode 100755 public/audio/wattsTheme/Level_Up.ogg create mode 100755 public/audio/wattsTheme/Minus_Habit.mp3 create mode 100755 public/audio/wattsTheme/Minus_Habit.ogg create mode 100755 public/audio/wattsTheme/Plus_Habit.mp3 create mode 100755 public/audio/wattsTheme/Plus_Habit.ogg create mode 100755 public/audio/wattsTheme/Reward.mp3 create mode 100755 public/audio/wattsTheme/Reward.ogg create mode 100755 public/audio/wattsTheme/ToDo.mp3 create mode 100755 public/audio/wattsTheme/ToDo.ogg diff --git a/public/audio/wattsTheme/Achievement_Unlocked.mp3 b/public/audio/wattsTheme/Achievement_Unlocked.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..f21b4dd9ab07c81822aac3e04455b931bf185773 GIT binary patch literal 62763 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 P`fu^}|9||ye+K>sEv4X& literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Achievement_Unlocked.ogg b/public/audio/wattsTheme/Achievement_Unlocked.ogg new file mode 100755 index 0000000000000000000000000000000000000000..5fb69d90fa13b1d8248d07bace1474d265e51433 GIT binary patch literal 61878 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 z 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 B2!H?p literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Chat.mp3 b/public/audio/wattsTheme/Chat.mp3 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/public/audio/wattsTheme/Chat.ogg b/public/audio/wattsTheme/Chat.ogg new file mode 100644 index 0000000000..e69de29bb2 diff --git a/public/audio/wattsTheme/Daily.mp3 b/public/audio/wattsTheme/Daily.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..8ad2ccf91b1f7c40dd54094474ff80fc336c4c8c GIT binary patch literal 45209 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 literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Daily.ogg b/public/audio/wattsTheme/Daily.ogg new file mode 100755 index 0000000000000000000000000000000000000000..55cbdd1ab71d8aaaca716e9365b6f1b778f8f6e6 GIT binary patch literal 27604 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 Q{OQcw0{-9ALI0Ni50I!Ii2wiq literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Death.mp3 b/public/audio/wattsTheme/Death.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..f540666a76c881a8852798da41fa2ef4d7539db9 GIT binary patch literal 163073 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 literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Death.ogg b/public/audio/wattsTheme/Death.ogg new file mode 100755 index 0000000000000000000000000000000000000000..a2db1834fbb8620ce7bc5396307c730e6ca9b14d GIT binary patch literal 153458 zcmce-dt6gT`aeD=If+RKn1q0VqCE)-CNa4MK>TIf?7amwcGY{ z2qA`xHiU5XvH=MO1Q+m9blcr<5xJ>|fY#l%SnIvpwYJ@D_tRZ}2kq`>zu({M_5J?- z`ps)HnVB<}Gta!AXP$Xx&XyfJ(f|(p;@V$&5t%5VBtdJSx8Eww*|~Q)3#aG>;2Gw? z1N`&<0(9&bpAxr45wG2tkc6a_mFMn!Yx#jrrAvz6xE$LYpQ4T5xB`pGv^rIq zZX*ec#%)PXj!*elJVhsq(`|$ZFFIZ)kIR6-a;fkn%|Ow|B$dLZcXHSU(DqEz3gYZ38jy5w}sm2Z9H?YtXr zm*05%eM3vtn?vs#hN|AYS+(_VRoN`dFaF2(zxdm-e?D{s0?y!=raOWTPGHBEF&%ib zr56Wsmq~(e=UVaGGtnFVRZL@9PU5@c-yX)*`9=<+YtvkH-e0R&?=QFtLO28d#E(KGq z7oDxMZF{e%sBNwnvHgt0EBdxz97PSheHu z+Oy|%FWUPB7Tw#9Tp5nJjn$~Wb-3s}c`FwCDfh@Xm&wa{|2ur7*t})mWQ`v+A@3g| z<}le^?1nXEANn*n!zTotYYrYtPo}>6*!E-3TKyjzNMmWVk zJtLVGEeE}$S7IOckJ93(;TVcVQ5cF3p1pT$@2MDNk?ZVY<~o-{s}{Ika1=JFNUlvr z40z5YmX^{f!3m5j{&V7TTfg;sRNnRUyoI;(K0TNB=11=v&i%qLFWBab z8|DAOIm;}ya2?8vzKwg!90?EHlGi zs!>m?3~IrBxBp#1F0X)m&u9=I=$xcd9qgQSQ4NKD@6wHu2rQH9+Qy{nqDB_jStRpQ_44zlzLvke@fw!wzL1oLB}Jo+*t_YEbuHK3*|w7rpH{Uqvu#Ju zzmnI@J8QZgT)^tKcAYHUYOs9$ZpXtH$w$k{b$9?~lhT^1J03IQZ{)R|^189`zb5_C z7n)kTzSbsxdiTPhm%%?h{akC$x`=ecy$h$PhUNA1xkKGO=Pv8=S_`Kn3ypabr?6yl zR95+J-ER$9Uikne2>aVL>(B=|mq8#^0`y`DS9N{E)$bJ7BGVi1=$pFsAA8W+ z)zc$fZt=SfSal3HO}WeMb`-SrJi5@o+|hD&`Bto9jM6<=W?1Cq=Ph8FtJ?1Ee^GLf zx?u}5IW2wb8%@hv$p7Lnxf~RY$vl>9Z9uwz_Hpv6HR!(pg@#+hFScZ>F_9FhRtb0x zrCQnD=}@Wq&Mry>-I&1Qxz1!{PIq=LW)`(N<}-`>0O-fBzR0;rEX0b!f+1FtLpFxm*ns zh~uoihcKzQy)I@g0B#Qi5Klt=WpaXv;%y*`)B-SAFBJ>(UeLzYwAk zTUq(o^4cTBI1Zy0_N+%()78C9tgJVlQ{_ha|4;=2OJpA)C9Ll~RIH8k*B4Bv0fK=l zoXF0l$|qQ6rko^j(HH=TmoP2KC=cLA=JJ4zf-QE(9ouQ@oqcj^`2Eh#`AiFK`xTX{ z`>Z>BJjh|!7Nu^llkr_=S;y5!D{b1M@Px+L6>QgHPMx+*t5%1Ovs{rbha;yq92={; z@1nlQF}LW*tQ}b7yUHZv8AVqw$K21Y8yG+01*8SV0KC?pU2bmZ81P`zg#-Hmpla32 zT3L$Vxqf!Sp~aN6mb9AXyqTCw%j(*_BhMALy;q)VZ!!0ut8myNxSYgR!sR5UO)Xc$ zloH%Bz+Z}Azm`Q7E{~Chi44}LWA7o^T3#cCJ&u&6V6UA{!boG*Y76`JUx^{Hmj`+o zTe(T?4o7CusVa?Hz{7B|H`J_EW3*r$-peuD)at&oHysSN*`X~89q)A1xiE6og@?Fy zCGlK~SPauNi~6up9K>|atfKC-`l4jD;O^dC;p3S_7!=sKwcX2P5brMrsJg$z(%5-= z2i-pCoRc%=xbUa7c71{G7Kj42Jm^JE$NA@lkSuWS^n2TBQ zq6U@}xc2^11AD4f|I*ZQISib?)W8a3fPK-&^NzG?^1mD4yBv(=a+>8lj36$@^SaMF z!ba2X!1CJ7TC5|iJuG0zvAktHU^!r$vAWM=%K?eET=H*@VJ(x}vH8UK5(UA+(6N+=QyXxbnUW-Fm8BO3a!ek@Vej~&$5Gb5Vuj1h_wUaB z|BDI#KXwbD*8+UdYrYAys)WY)n*}3PD_#iGOl-4?i&~vOJOr9bbcy0#1Sr>DoW%<3>xd+3? z+c3p&8E%^{1#a&KtFx zl3N@6iw=fXX)q`uBp{}-BPyg2lQjWQycre%XTN7QJPU@uVn`@d$|dvOxt(}GGfzcN9&YP}vvJcO-(Do4x+%(h;Hm^QT1ch9~ry|)YvlVjsu zKG>>-IUK;&7rQsYX={x++54HhbcFQ~WWdp!7!T`hX;E9v{rv|XCJL%ao z>$7LA&z@PHJyQ@absFC(S!zoi4j0_q8Z?x@nC6?e`?FhvZr%K1KCh^-rZ*$KP}p-e zZ$39Ub#XC2H7)hcj{>8j434u4z4P6veWAy@QtIr z`WD}O%RfG2ySphh?Sxjxlqo{;&YnA$85+-wzxb1el^qgtL?w9d#845=!JM#x)$sT zJRNMF|A*#8@^%Wd`@cI=n%hg$6^eK^=a4l}D9_J0rM2dzp7^{sw2%_DnLnKoO7GV8 zb#;VHt1q@*Ki#|#aW*eiAPKG+{QQ=vC-tr5)DxLQTZ5Ex`6pWhWl1OcLMQXnUALnf zN5el!I?jLg*Dk`Q@2p9>a zq>D=fZOY?RP8Wz<<;^)GKiSyS{}r$GkNuhL3+hDuQ~S(r{VG>st0BKfmVeB!s1(+; zx#8x#gDQVNzedG`=y6kOQ=#w&b6ZVe)7kiBgMU<`dhyNq;5K)s@VNGVZvtnIW{I1qv=Z-VsjMhU9-MZL=G=lAkKY7k&qjA|eSFg;p z$954;lRDnpR{EFohk5^XO&4a&kT&|sk526KDZw3o2S1jv8!mjfZpM52$@RFiW9yPm zoXX-CNz$SoU+(CAGbKL0m7bSzDs`e!7~gHJ;Ur3?Z@uf68p`}ZM=2K?y3_o-GY=Nl z=QUl-%fCx&S((>$vV4hkG-Ykt#JdnXilDNA9nSiP-1MYNJA=M_XJCCsaD+T*MK~qp zz}G>9sCUXHMJjQ7bI0%HFCUI1w6FM0jw*`y4J=3|H;wvjYidcl);Zob{wKx({R#AM zb>QRtqxcc~fwI5e*wqhe@jG65Gu2;LHBs>9l(sv>Z;%>t(CsD6wf0U(Y9{j1t3>Jk z@lEt;{-e}ZA*Wf z_uz2yfX&EFSgQ$6CmwX~u4u_I1t?wx36}_E6z|))PCA!Rp?tt(Z1MkeX2+vHJRNX9 z$t?7j{`RtC^`e`ctjT1S!07D&D09EJl~VdXE8p`$;|;U`xnG%0?ET``0Ht*1$b{>D z8(qH6;3yw7y9J38?n&j6!hW{CesFy-Io>ki?n`)NbbDo90=e@ojA@7MY^zqWx(`_0 zBKBA6gvI0Q837N>@t@$`4jLfb%nHHTCvtjlf1e*dm&AcK64!&E^C)}O15*&Yy^bQe+TTQMopGXPxoav1$gCF*iz$9!&NKI%WWVgwc0vQ7Bm`R9@1Tar zI;c;cKBZCo!OO3|9A^&lISCFt)%d*r`Z`ZBWkkuUp7}D8k;0fmr1n`5GI@tYY8F!y zqeaawY49C5!B*TxI<6r}EzE;cE!VR9E#bNLtTkWcSB?5Sviq_<)7f}7@W~ocMVVvT#VIfD<<|X~RnJ=*z#a2MJl$S({I=XVJb(-? z$u3i&b^~8urEjNR?^P%#!#lQDX>3~Q@gCB=x{}f@teV$_CMBZebbDc^+4LGXw9u$| z<4k-le4sRL$4aRqFHEXXj6l`{i`&3 zd;+sd%WpU4m>h*YHC9f)DUuSx00?{DC<&bZ#$*pNhJ@hA8)uou0*xe<62(hroPO77 z>%CQ|yMV;wb8=*3@;Ke7YPOV@l@1OyqT;}|O zicuM4Bs|W9-h=VrOwgZ?)}c2lG+A!G5Lhb+ktF_lU(9rStk87^h`^89K8HU_0AIXh zi;s8q68S(_ySl>Ns7ZVEQ?$W~a|=kEig!;t2ckz%I8)U?(xHP1hpsQA-5}$oOWh z0@;|l+nkU+^QVFy6*Wh0pI{uZ zvy}xnvL*&T8&6(!TVAD&Jg&=ga&P9%Bn5)*3QsRrEB11eICE@2c#hO$>_;FzN!=X) z(^v7WJtYtv?lh1&{S`nuNwLrL1WvB*g`8!1yGX?0st)IDoAYKYvM5^z(GbwR(<`4$ z@JLgStCMpV-KJlUk_%fh?cGYLG+yuM*2KSCOx z7tmT*FMWyOrFO2DQ}v>LoaDHF1uTSoqd^OvdDhI8&Ch!=V`B?c=-{4;32Eng$k2_z zPLM+e?IB(*XB?ozKLYjS81d45S3b2c2ie_uG9!zoJ5qC9WhNCwDnjVFb!wT_^MDy> z3rEC(G9K!oAEh8NyP?fSZK9Ey7$4B4Ot+t!Nckc8_M?PEyEC%RMdjbc|Ce$?gCiRG z?Lkeco5T=T?}c74Rx`=+Xkso1Oc)`3V3BA`1DcxI=8CTd&1^?=JMb#rDd#pgjH+>j zZ8hLb!`zwxvFJycIDjol{#Q;&PT^60)p07@Jh%p-w^=*ChX-<3 z5MJ4*_leth*04s7O#))Am=JBY#SNPnM5>fsN9Ks*)J+Ofw$zvtgCIdqaE>_7(@JcD zfsuFH732?_R{&C;0Zk-BUTG_?vzfZIp8%`(Q#@kBE+R3w9`b6 zok9RPS}~X2y)(DTtOrS`&Ub7E(#-?3g_UIFRKZCJWFb*1#ZfL>qU$?_pvDV2k;ZxF z*ISI{l#3l-j)`jkRHxq_JrDp(K@y{6Qb|~HlB~{0Cg4{-mqbwmi*_rroj2hNLqt6N zhO{_X>_IdNMIH$9@?5WarQGze^BX`Ck$|o|$^(@;k#TG{vro5AJX`pf1uE<*uL32W zv_cBm0&p~M061Vx;oS*h>T4F_$FsuC>#euKsY{VX)a zO>WQHX1V0g<+zOCgQn&xUGXa4#U8=_w zZv+}kF|fo16#FqL6m0Khl+zisF%Y>5$R^FQIol%EWOj(eK;Yt(iUjdMbW9O$Q2;IY$sSpMnl?C-=J&%sG1~ZoXP3eKt(+& z5-@YBJ%KH$Npf;OQF=U~olA?v1G&u?O05Ww4g%~Bv3C-n<8x9^l*D>l%c}zsOox)j zpT0tUGy+V2iKJLxn)590B5Q#gZ`7XTo>D+bowH6#zNcfPWiHycyt-iZWCB!%5Nelh zxjOIZr8t!64Ok`*Sj7y*N9M7lB;5Kj4;m*ekV3<*a5&|}oKPcvjknV}lnbs%gBJxp zq{w^sMDx`0^|n(LB=~KcJo-I?RBoY$OMfNz(D*}4paFLjV7&#DNx%o{c(JT#wG8@w zn$Se?2@tW495re3qth@4<3+YoDr z-RO7Rt{keVCow`+{AMB}EN zW*XTFCnGD&)9=7vqWfB3CK|x&!j6b1~sXK69O07-O!tO~)xb*JJ z>5T4(r{P!HQ<*qZ3!KQ0W?l|BQ_d;p5L3gI67y0nu|sI6YM(dTj20uG!?3Ze!pc!s znqP6IOvb~GiLcnJTSzlF5pxy^kdtXfa%%4oO-9G#G9$^tkxn%ra7VmZbFZIBh*IGQQU3PceZ&xQRectwhQ*k{SZ0_4&J9Zpxxpe{x{U)~l)}nVemfKS*#V3JJ`SE4 zYNn}&Nk8!kHvw=lIs5~(H5QW%P~?zWMuy_>iP8YEMl1EzHos8Xn3(Hj)~HxF9nuhre6?7K&8;uGEf1%Sdjmz z;-yygtd?@N@f(3(&)YEiH{u9)tvQo40Sp=M(Rj8f+}>*V&kt@kDaej;^SE&*?Ur+)|{mZ46tcqBZ!*&aH;{g*xBifcD0_)41Zy@1fkXwT~Hr~By1(UXdna(41 z;HA0Cj4B!RChLx%hAtJZ2V67BK_t~tQpQPj>Twc|R#gYq($4MBK&{MJqAmw=MB!N$ zdTzW1U(KDQh6uO=%q;BSA)5LMJ4n6{v&|RB7G`p?c5^NpcN!*fJ9A}7PJYh#4~SVhq9CzCBs5h3%brA|`MmUmMuMJ5HYCwH zqzsNq8RC#o?*NW%CAbYuPirh_X}|}-jK`sP%hPX*S(BxL+khGu4OqZQjSC=VVLKbv z3XNqD4pNi#8rq??)OHj|p)Xfsx?nc{TW3euK~4uhqmR!`v|r%bah<4m^FQZ zNp&*@jKh@nF12o^ZDC%TwCi)R(ng6Fbob>`a_oz!lD^7k*lC*uZh1V-)5D3v4Fm!$ zLqKlpS33}~+2qtjYHsvWfYJpJs|S`=K_quYiM1zfHHib)Si57g^krEca+?~bq@5)9 zuVY8LV1TEi(PIQ|SYZ!If@2Il*~;-}qre#fp^^5}`A*1Bs*(rnb&x|ad$6&sK4Fqi zK;Z^E%M^PYoceC6xsqy=SSmjI#=A9%giu1OaZ6t4P)R_|Umdip*HdfBiBYJoF&q!b zK*7FDGU27Bo*FOUcWtNBdnB4Dg%Y>`AV3-kD5wX8R)bBkRZjT;SURX>7ifaOzPF?q zOle5~!f-p@kv2h7Q!Qvyp1-7`ce7$eoEHw4yBm7f8COd{ie&cMhcZkjjPe6A9}~gK z!*S;iF5+OMr-BCp${WbAFo zsH(6&EHl@uB84NxAW(MiF0``wHly+>&LLi6gsmLqF*i6q^xB3qb4?&ZAIo#x)}Xxi zsJtc9?Xv<>;xGupahj4uY$e0@yEKj5&HWhL6*#i_q*oHVJ4NkF6eS2J<&*poBdZDW zl=2DsrtEm-2#!g0K!{ZphjRDg+dp=Kl|bykW%c|_jTV7zPv~am5{};P#SyhnG1UB( zkHLsmCTHo@Wa%KVb6H5!QtAHl0D6oG<>ueS$poHu5kXHu#UPKhjY3-^hx)1QOD^;D zsMc!Mh(Wf1pXk9MW|SZ$>)UlW>aeXI&fvlhI6FyGh~y6!wxv^cEE*<_T4gaMY)&^~ zJuW1)V1x1vuW*);$|0O882AKt>7}X3cGdAhy8fW7m&_>`8Pk}^>MESvUvGl^JBh`E zW^IHR^?+NZ(TC!;u+=_0O&SS++2tm2@T0jDm#S%&3*-O z!X-`Y>GX@?LbseCjy%~Aw}V9UwJwmw$y{q7lpwF2wf-U8T{0|4&0?+9mqR^bhcbUo ztqE6dG-=Vj?KH{^n|wStiL(D|trC9( zxf9)ppFK>L*x&}6k)gHQOv5X2*qN#MLk*24KcBT|1e9!A$l*?|9j4_%qQpk^2*g^$ zKftiOOy!dZqfZz)`Bh=Cs(aW}RrT~{$TlCB*@Sc8pGZKkfaOo+d$g7(TA$|Z^N!nj zf&+|xC)lU=$Aa^)XaJ)0AL_@N0Uo!yTNt)br5B{HUffwXDlpQTLl-UcQ3>hN<61G< ze~DAYC`5Y#H)I9-g(s4<^5Zl(goF;^)qa3MYf}qkc9_f5rpMz2kpwb<1h>OZdM7Ri z=V=$wat_dZia$dtfbT{kGneHc#M;w~D29Heg4Y z0s;y4xt-~Lotgt>IA1{I$_~KF)iWsuM9E3!1zpid$ww%z=wgZ;pdG}399%3N{}qy| z&blDMIZe$2gMSP9CWJxb*L6H1{Y*h3AyQ zxkWMuXBXzA5#YDWZ6$Q2#T0w6!&cay3x6Cx`_J#t6UvJ&Kg@o}g7yJL2gCx=5CYI{ zu!-UtlE$w<-(m`l6&-lbukqOam~4ex{Z?uq-MR*MAD6qR?8u;WRY*bMxFpwKo}WS< z+|&Z3F7P|JJHrf%*J+Zr$koO$sbtqGATPo>L)40pvV@M^P>p+CJeLu?-ryO6z=EH6 z`+)w;oK`MPifF|H%(xEahDoOg{_L^#3Yl^)$V9TUU=0LFbwDa4GE+_xq4w|5;cN-(vN>gR+fU&`i9(CK{If0Y}c+ zzn{;KUdsN-;Cmp41rE`<9oZpls%ATJ@7TggH(5_6e3-{_iEe8H!K_=zUPWvOijga40Vk%yIk8$YT`b%|DJJ^zr>^&9R zqiH0dWGzYCJV)jf(38?3MR!1Up1~L5o)xd~@HW&T8{YUzY{?dzZO9y#$K5M1Y#_#U zcV<=Mfk{5))l^I>!V%cmT@bO;?9$mZE#WZ8X31qkq8UA<-u0wTCipFOCJmfHmfvVs zQi7lKLn#0kJ(8KnP1Ld{lQa`=<1I{0;i(v3l87Vr$ldA;>0}UYuOh+6f0l*|rYZs( z0b7QwPNE#Lvfky!u&87UO@44#uH5<(y#!JyQ3sqzIchYz+g5*5~U@M=w*xl43>P2R;oby@UM;FC6ER1mIFnk=I$GH2TV`j- zZA?@jW-zut3tx^ zhNz?WL@X{V$pk;ve{l6JRLrC{(~`%i#PA52olO2T8H`CL5(1j0OZW4ey^Y2DfBNKf zjMc?u^SG}cDE%{=#0NeqpiBe5!DR_$1UbN zi}`;XiE6QXwCi3%NP@COr4KH$Fhi1s>JLbdcQkY{dfEy&5QpF^^X&pX^EsvvL=0TQ zN|*G_xceTe_8{3vh=la*NM{#?Wwjw5-pMnq-Sf<`dQJwd_PVR4CruP4YqTlo@moRR ze4wJ5YXyE$yb5XF6|`>MJ5{m0O$oBdYim5$gdOAEayv2(X4@;e0oht(`MXdXL)~}$ zx=9+G!lVz7iebEQYj8A=OtVpmmEC>aq$##Tr`y$@nkvhZI6LTSp0*HoP)<)A9)k(E zO+J21$2P%%@I4(+xsc=rXyRJzdN}7Mw9-Qh0RH6V4-|g+XhDu~Ddv{1KET+2-w%Hn z^?Ua0chB!UxUky~$~}8}22X!<{@L%z@wrtsc<@$4%>>2I3;gp{CoNs0JAyD2QExfn z!P0*6T1}HJ^;Os*b){JL)c2~S`SC#NrzesdNoM~(ShI!4R#)QD`CE8r?@JR&ic{{j z^&A`31U*;}qqijJ&fTUus?=Kq$rMNJ0Whw%A`iU3h6;(=J;+_A_DUfcCQF%oaTkY9 z=4MKG!5g(CPm)4`%i+#(gd_A>+EId{OH&g2`pS0d^k&Z!302<&3G~b%l~g@!SBbgS z)>i)X-C*;eC|lvPPk)))8lW%**ukjSUe&_Ix|2 z7}k;@_V7*-ON0#PuLg1GPXQJl;>ZKV((`7<6x#2IgQfr?;^V`n(I-#7W1!+7+}-x2 zClV1U+Dvq4NYr2^)uT~T#9hVyK8R7O-yDQp=X8&>y5wq08$(pxu1hBI=tUg3^FrXw z-zhoRJqR}Uw8XIWIAuu}$V^f(IqD2l*Aj`x30xFeIs*W-s_ z&v);1b(s8Pw}48LmU)(?WhfF?&x|n;RQ0x4U$$nkYE~((l!R6I=SYJiDCt}yqJ6yK zv`PsGI33i~lgdU()wqnK4DWMd_|~T!+t=E(VVhRWBC4oy-8(Jhq+CdQlC0pgF?#!qOYcUGy zyU)SrW$s|DT^Z7h6tV51CRx~OsOsW4gN&@p8&DFH7}6_(OOqFVpfT!=L?p+UlOy3a zC}l?HzMMnZxrD@1f=Jw@huqj|Gk$iZ3$|V?i12gJCG&s!c_KF_X-wm}x$AwEvHh&q zu*=*`$qhO?iYsF6^Bf^dm65Bo+Rp)OhF%TYKr({3NSR#X#TZkV3>1Nz%v#9`BMdP` zn>v`Uo=Wl;Rgn!% z>?LfEx1B|i2dJge-G}ZI`0Zu_1if-w>9dL%VGfw|C<}gZ8M$tmz2DRA;0Wv$^L?SOKZu#sIZeCJO6iQbv6U zlJm($>k}B35Bk35qE3X5@83+mP%z~zL- zR1VAvuQWjsS8wP~8>L5Zp$JK0iaPTplPRrrj_{#J;S8fNidX>-_{GmUXz{WkWARB} z&qbpOlq7B)<|9P7?1%{$r#d;fp16bpzMp%5G$anphDlV`EZ7SE`Or~Dcn}G`IFUBz z=e!Qydj(nNCv9zHbVz9XO}du|%(Dxe2Dbwi2hCJ~IEHFPq_`#bP4InX7)bJY4Vd>Z zP8xsBEUUJzc?n;(y(!z1V{a$#(ti0H1y(jS5o zi$>Arych?5>ghm`yD=|@nZz268}2uc#(ofX;4ZCjeASm=!{=kO=!d_WAe_}UeNiPc zU_kwGpT53Xvz|ubjpF~v4a}ky?{`Z#S&H%&_A1hB-&sWNwvV$X&8-TbIM-?NKBScU z`Z~j-MusKYJJ`9)=qrS_X;w5b*0A2At}sefEd15LpKoVjc2+Tnqvr@fV2TG**1)m5 zcXyBpKkkEY6pKb9A4W~loBSQ^OFSmLWA(Z#>MV*i@v$aytng82&Aj4xz7c6M#j${TD^L2(sfUg0HS#$L;Z3ZbA$FyGD#lTg4 zBq8Ea9~=`w#90{4kRhDpU^iN2%%b29a&SsU%Rx@MU%}0~>A=#gh<{|V8q7|sB98ip z$P)`t_}_Q)qVq$}(!yIl3)Bf|PHSTdJ#zPntQ~bxkSp2*-MiXe1SLC*lRZxPOiAIc9dR&Gxsgmo$==Ct@HYgC zVWSm0UMEP6RzM|zw;wX^)%}Pta9=GYo)GUC^P833Y`+D%JEkCEKa=Z5_hxoL>cb!!DG4qnYk^EGt01Uzt0C@AlS2*;GFgFpDvgYgmd#{$2S2A_lt=7I!a zwLg(p4@-m#YL`dD@Diwh0TkaeftzAb#T>y1}F(m#70f4INln~6w4+OD># z>%@St6aBwIJAeA`P{PX5^ndVPst%y^U90lak7gEL*&Oic$QJ4cmfogbgI5Z1O8>-a z&%D+5xb%&x%z^yj9@+F$R@W5z?zQl_kGigSX>q?pmhxq+X1@!#4^#K{etu5;ZOv~d z;k2|1&HVuPNBD!pOAIkC`JO9)L2P<3xHeIEISbWgN(!}dQXUf#VrEip6l%(n}-yNa0${zbdP3b*?IdG&a+Q$tPb zo1P0F|MP{E0rx^s<7jSTJL8z^80+!d1Fq7NyMK9ms_{bU$}cyG*l%+EP@&-tA2x-njU;~&P~UCDf1O}SmndgIHEtxFF&SoC1x z3ZJ0eW32F;A-OiB=gh;g>WdviM^jE*ugqqF-jF+RZ!P?Jp~T1b-un8YfQ;HYN8O(2 zWIKz%W*kh=9?(uc>Qt}p6m(dNYd*Y_w)wN1ONDo9Z~x6ln3*Je?0)QK=Hn(C7kjVA z_MI;6Nh_jmAGpD>Y-azO_Um80ms9&_D7X6O`M{yQw$xd0B=*0lJ(;Uq7^A_tdJD4`D-hiGkoUi@4Ae|N5ad)MisH^N$`9$N?xA8tFXyjGmk zUJmt2u773yX2QqsOQ{sbtnRT|hFe^EmON35JUi~4wu5bJw3(cpKww+v1?A`dNw_{hNnlJ0^NMPDX zb!!}w#)i_Cos{g~I=YWI;y&_aliyr5U8wR;?bfOs>Zpt!U6U+>uqxFzzH6{IqtZR$ zJ`t9;Tlh$DoKgPT$(orCt9rM=xBTjuG}^JY?Eh)`?gx#U$WnM^%Lf`Ge%KCUWT&6*3J0G<86QU zT3mIhj~83P=P0Td-(C5H^LpZs0TV!|SwSoQJ2<1R%zML~?@u@%d~P{9fkhu)OY{qf zT4V|GT)5OU_lCHpo~U-_W_n{fKOOVE+NJrD^WMJv-oEa>Ydw<` zzj)@z*^P0-*x7iQq+uVo8nrrfb2*1*{~FhRGPn{%JXGmoEc`OKMc`jUrSs%gNyH z`m?>nO|J*NO8T!4)29oUz8ihJ^2y&4rY16($n@Zh*-@X`JGiy4J0XBBXf!0R=l$@x z(@)No47z13xuW)LU11~6@GACAdNA88cS($rwR?GT&B{MYP`9puCSP@Jus1hZmcYSv zg!nQ#_D1(FDmcDuS0IE2PdhU>9S$w6y4U@=67<9?=Z9;4u%dv^8Nv&#B^g9GTjYc)dP) zbY-ID+YQtkuYKTi>e2&l-5%`fRP@mlnz__-)pU1l)+V1-_ky-<+SFtkl^hF{`@C`{ zWVn~>g^QBed?&`m5tlq6^^Ns4jWvXq=@VCPKV>wHPLt5vZ0c>v$IyXk>}>7ly6qeH z@n3#<)U>ZAH4-TvM3Y>Tr22|G-c8N7%_ZdD6pRl%5m{YHw*|GYq3jUD@I#j031hB- zcewgv^MRtS4Wa|TX*a)ulQRMbY)8$^G*$FC_DPHWNKS$@g!gL|nJiF|pic?(@CF)# z8!;<3vlU%w6H>(T?gx9r^zwZ}j=>;*d#6KAWCmtQIuR9(tF$|V8Nl|CDU@v{9Zwa% zhd4eo<^33A&gKj!;q2A2F`B4~W+KZ;D%3$Gskl`R69hGl*$HN_awUH1>Si+k0ANyY z+6db@)B_*JRqxvBg(qLMX-O&3iL5nKnsNGwiyG%WQd(_!ZO!3PjnEU%jfr2ORMrQN z2=KTFT-bnRoQrS{lkzL9Cmp1iO|()GoEUI2{2|iHi}?1pOI1s#H*VV@#Jyr(sdZjj19GPgUjv`edcT&_s zJ1hu(jj1lD^I&?TExBT0U0S!pb^W6*?e$|uxcIe&cl3GD`BB9W&vY_m$46twuwN32Cb?m98sygJ#dg%g#EOmXJgOrOuAxn|jY*UtpQA(MdZQoo#lWv#O zq{$UzscbW$Y`(5nMAgA+*g9qKC9GBIBpmh;OEDFXL7Nl-5<+Me z=ukamq&Z8{0j6CyIr-EaoClVhXJAxE*!O@uho%P%K_5d!dOcRblUG?q3pcu2dA zra@PT*rGgA`+FY)l9yTl@m-=k&+W=wfXYBW?4(w3(aA2_YO9H`&%lP9kkgP8)!q@A zu^ZpZ{o&$mh2JWKGu30XQ&csy@XipfAD?hS9-(F^guPr8yJFP|T2$%DvPYx_crGf{ zu3MX)%%m!LXRVPvvUWpqD`X>D5;F=$N+^?Xe*&S>3MZnSm`(T^Y-jZ-kdT@dld8w0 zkD#CsI;>FiPzbX4WU_x<585-jn-I<`3M8U2kdvQek8Qzu&lpkG7*6y5uypQWP2BnZ z|ITC*CL!P?1PF*a2?-`KVhCW7+IA8GCgEZTfr3RhTt(C_T4>dEyOR(gAZUo;B4V3x z(Lm86UW(Q|8!jprwWw%ox9x&TwY1$ux7}0s^c;WF^E-JSNce;2;bFe>na}tAdB0!Z z%<|&FXdWB3jL!ONIuy~%ulglx#y!^`9z;0y>>en0B&?8Ol!}N&f|V znhysf-_ijV9OS%Oc*h9$9EjNp9Q<|%d9zw<5r^`7I@PolT>?)e5v9gRwwnb^6MTyz zZBvwqt(^};A6p9$c_Teyfh-b7N&S)5=WpXI^MM;A%`m7>ft%ZJ*NbwwHBpcXDU2!= zP@@?~ag@$t$LmEv0B=yK6%k2cfgh)b)rPv+V`6mJ4N82*_gl?6w&2y(vHbhrViipO z)TZ_dj74^v!{9-={g^oDC@)QfEG)$Wuai7mFlYp6cWQvmT)GckH^vQo#LN|<UpGe0oB?)h^lpT*c10dR#%>%gs|*Qtf>z*hMo z5mOaoz9j?evoRVe0MtaIJfIt&XZwNFFxFJ=NKiD9z-l!f-#2x3$N^~OzEUZoO>mC~ zkrHk7&LI8nT&u_J`YaZ~5vUCu4ADa@JxUj_y7EEoVAdA4$5t*k8Kdcvn&%SMD+@X5GcLrlAfv`e<%g zfU!U^9ON6Yb+CwD2FyDVPuwMY5FZ`@TnHLp1>__6L>ZqbyX=lt>7HJ(0$~Cm#8H%S zM}MjiTO$t5H$KsU+nFVtzp`=G>5d4@q|}o@#Az=G{}ip*WtBnYZhe3zG%T6bRE#cO zX1L=&Dm4t22kX84Ojz|4!Ly+%!AiVkHojq9sphR>(-&ZUd=$`(12$PkL^Qw-fF;AA z69N({ygIWCfIxyt9QB7L0kZ%T+MF6@vVpJm|9eDd1_nwB-}T1uw+kbXubkDr3p6kjECX1MbHN<8m5X#2fUC z!}QDeCcd@?(EPQUBw~9YT93&c608PF(KFWC>f7rlru07YyQd1=?eRo8ZrC+5dm_eE z9IR3)$e&tAteO6K?#VNG3`D=XCnZ2p{eYK}qHIbt^Y96g6xK*c8%Dt#$R9>^6_4yN zO#|qD5o4%wR1ti8#T(S{Zs9p)@R{Gsr#i0@IpqTVX+R~^!l}X{ zpo|)=c&)_>R%ezkbmz08mn~GFb#)((DZuCY*Y<%?3sMs(Bw^;rn%5-j*1g%Y6jl3( zZ`MNstrOGWG$zXP54p-s9qrABu~^0jsWv=3FPC#UGhzj zF<31P#svJ^X=NCkS&)M3%egf?5G-}|tKVUIQ+q`XA}a7 zYn-=Zw}_T8DN3}qRdZs#(?9SHm?HUnwGzcpw|zP2iv<*Gs?j8bfdK+`8f7*Mr`i+h zoignKuq{ly*6&0Ob4k|Sv*13bfWBFd=?$4#QCfpn^1e`DDNj#vmRqpb!Lj%}2sKoj zrD}4>sI7BZy*f;p6!Noud`RRu>6+=`K%}(qj8SfksPJ4EFr_300JvJGft*r zxegrC$>}(|SrTU>t!4a_QAK`aW=w>iCdt&;fY(s}xj__WtF(XD$m!<@oe;t}cC7<~ z)g)cabW-Xx^u|6|?@P_q8ChXA5wj4A!d-irbp>HdbXT1?Zrm0WF650n7xpHwmn}S6 z*vs^jkM+(~pu>o1%ZUHVZQJg1$E^#-ZDcPd{YCN%>LW(=k~)vemODC_A2`3TP{H&k zmF7$NfxT?M{FMxw=T7HBMS?l3Vq|{FnzUc~#)!XEB zff>?|AO`h5R4yry1mgkY223~7ucu2dWj-CS4O}EsctKLf?H_&cO@lvfFT2@N5gd;y zR80b{RFnu(xF2cyraFQFU$2^JH2tGTcucfr#1Rteb@vOS_t+UVvg-DG^~0HH87`Rg zm_B!#1hp`iWn=|c_2o5bw$Ni~1}@(^EAox^WJ-_O>wTC*1lMqJPcy*yJo3UKRPDyL z+ME^=(DM6mPSi*b2VjiQ@w9L;&N=ffQhT>)r8ntd{->@G9*_6Rz)68&pGszTNQ_n> zPW*67p-}epDyna4N^bmXFQhtdh+pJ|e!!_>%489#qO*-!i%21oW+tyqmL)&vV}hF< zW>k?~L>4!7K#?gv0CL`}hymws2i$#FmWX=q0zlIY7`9W37rc#9V7o5qZ^Ju4#(@9O z)krL6Kk}2`-sgbtKUY$07Nlp(R*}fPrD++YrUQd+$ib~2SU%2S4xQ98nVHMuE%_|> zdT!sXG}u57OMKO^8khk7`7*K`kZ{^x1Oj))Zk9s8l&`NGTzeOCUnh~l{R+{bpw8rQ zu%K`)KN0Q`VTA1YZ(iRxT@51}reX^z1q zDc0voJR+LI+?aGz>VZCdyj|+%<&OgVge9%up-h#OkYPxTV%wgR0uk;m_JJo7bPO8X z!}crKzi(gO8hQcBeAGRwF+VI!(G?E6rj>5^k|gx`Cv^Y!SHk*BLb_xbw2Br^ zx#?(X-`-J3O{j=G7Q`wRi9vx1=v85`n#jG-5)=YM^b2`1sTi)rZCsX~psq72;rSu> zg3tO2XM`5}?oZyMR$Z3rhMpOf-I!Wb*%%u)5M*g6exO3ayrLZ`kwG8TZpd{SX>_(a zmC59G2sLJ-PgUWzX#x+ zRx*n>R2O<*0rnAKDKX8Twcjf$H8q#fAC2Zo!KU5POBRSrawYR$T13KO!R3Nm2R;rm zM&gmzxFASMn7!42%%dPdwPA)jDjN1b9 zKlyjYB$pB_u$M1KU%ni8`SM?sZ1M8t`(gBh*1}EjzP3!?YDpm1_n(a7OtNE$ifQDS z@=3NfKIf6267Svullptbx?;>@TzfQ|v?m@bhKrlH?+UO*t;jb3C+7t@xCUl1|010z z{}IgAb2;@-*RvN-Bc=>3nZpttYwk_s-Ma$7ka77@k$^?)Hv40m%v0frt$RIwi0Dz; zG%Mx^BCkeGg@8AZ95`B&O`_5jEBV!cis)!rdtd{La~8mE*=|c9)@+-WJMU@JoFdou^dqCPPAxZNG`WI z3{HO^#dNSY_3vGYF^8_PwJ`tQ@f(L-a-ed5V~0Iv8r)j4k9O^(K1|Of9jB2cQ(R{2 zx`;a(bC4bsO**xQw|1#)&}wCiH7i7!-DgaMs)KiQ`s_#C z6MHr$f0&b1DTNIJvp^EPqW7B@{KJ* z2C3r5KjPS*41yTIE;G;p3Bat1M%_5j9_j`msDP1Fd>U;^hL_Uy%y@MXMBNNMFtyc8 z!>En%4}lo*>6_KMTydVYe+OWiOt;Pxa92iH1c%5xPLTQwA=G_zLCp1CoS?W1uLPAm zwG;H@KkHD(UuoEdY>kK;4D0ZnMKQqrwF>IQZLRakF zz)0c~@1Pxx7x><@K0qcX)M|hE#oh+Ya;CK zbNV(n5so%YO-OsqD8D>KT#`F#*k(nN)(G_FPR$LUHFEEZf_E;J+609ZedQ|+;W+5B z_U5b6=|Rw@-D}~oM2JYGx1+ZMlqW^J#zvs9arm`QeQUPRee-njT#?8}5O$WvsAUp+ zX+*fF*M_W{UdN0Wn}?~WT^mGW%#j{24RD@|8%QMte$5AR58|4~TIb0jgy$mm(p4g$ z4y&b0c2!6O`3qcqJ#H}q6w8$c0DT^O^}<;22YU|nCyZD3NzUKU$a}tJjX2cZ4JnFq zm8?T5VNUCFEPUoBZBt*Gd zM2A=yVGgb;4KaJ9eD-P*)!5^eSoYS@n>q!@-kVYrhwAj{^$)_pa);jQ|FBYkvm_(9 zSAU^4j7_ru&xS@`xiMe8j4kq3d$<131G(@hFRL(7Qyv{5ko8*9prp(#s!oqRqX8{9 z-%e&+VxhOndhX6)Z7h54ss1i|gM#j^m#Mto&>){!#rfU@sChrh^b2kS3V@fHsbvcY z4+Ka7{0OkYf4tC4s9tD{if6mkoV|wsaKxqk`uT6|`d3WInBJh6!-LVxtToka?C05* z%gLcREa+++MC5P>Q=JnX>ITpr;%}9FpIvKm)&{nxEh%X{bCo&vRA<)G56Zw5A)X?l zNCudi7>KBGsh?Ujy$@}!+Ul@p#%Mkj^BuI&b8G3JB1u~ABreVMYgH?B!pR85L5e-b zEKxDrlFf{xOJ!_DFf*plE-LxEpp^x4W5bvss-Q@P

>0^35xG8|A6|rRV>A9_y+z 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

sV_DpA$s9VYaSSB)5l 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 NlT|7IdC}|t{{VcV4a5Kd literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Minus_Habit.mp3 b/public/audio/wattsTheme/Minus_Habit.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..71cf23cd53a5de7fc7c6d6d70f32628e64a41f5a GIT binary patch literal 41865 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 literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Minus_Habit.ogg b/public/audio/wattsTheme/Minus_Habit.ogg new file mode 100755 index 0000000000000000000000000000000000000000..981dc429e6dd853a084ca8f7fadacdd774cabdf8 GIT binary patch literal 16282 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
    //
    +mixin aLink(url, label) + if mobile + a(href="", ng-click="externalLink('#{url}')")= label + else + a(href='#{url}', target='_blank')= label + if mobile .item.item-divider=env.t('achievements') @@ -32,7 +38,7 @@ div(ng-if='::profile.contributor.level || user._id == profile._id') small =env.t('contribText') |  - a(href='http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG', target='_blank')=env.t('readMore') + +aLink('http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG', env.t('readMore')) | . hr @@ -75,7 +81,8 @@ div(ng-if='profile.achievements.perfect || user._id == profile._id') div(ng-if='::user._id == profile._id') div.muted h5=env.t('ultimGearName') - small Returning soon + small + +aLink('https://github.com/HabitRPG/habitrpg/issues/2232', 'Returning soon') hr div(ng-if='profile.achievements.beastMaster || user._id == profile._id') @@ -121,7 +128,7 @@ div(ng-if='::profile.achievements.helpedHabit') small =env.t('helpedText1') |  - a(href='http://community.habitrpg.com/node/290', target='_blank')=env.t('helpedText2') + +aLink('http://community.habitrpg.com/node/290', env.t('helpedText2')) hr div(ng-if=':: profile.achievements.originalUser || profile.achievements.veteran') From 6b2579715494a7bc225b61d44fe50f2e33d37844 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Thu, 29 Jan 2015 12:22:26 -0600 Subject: [PATCH 31/62] Added reminder about swearing to the tavern chat box --- views/options/social/chat-box.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/social/chat-box.jade b/views/options/social/chat-box.jade index 76d9ae8339..c30dc9184e 100644 --- a/views/options/social/chat-box.jade +++ b/views/options/social/chat-box.jade @@ -12,7 +12,7 @@ div.chat-form.guidelines-not-accepted(ng-if='!user.flags.communityGuidelinesAcce form.chat-form(ng-if='user.flags.communityGuidelinesAccepted' ng-submit='postChat(group,message.content)') div(ng-controller='AutocompleteCtrl') - textarea.form-control(rows=4, ui-keydown='{"meta-enter":"postChat(group,message.content)"}', ui-keypress='{13:"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete) + textarea.form-control(rows=4, ui-keydown='{"meta-enter":"postChat(group,message.content)"}', ui-keypress='{13:"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete placeholder="{{group._id == 'habitrpg' ? env.t('tavernCommunityGuidelinesPlaceholder') : ''}}") span.user-list(ng-show='!isAtListHidden') ul.list-at-user li(ng-repeat='user in response | filter:query.text | limitTo: 5', ng-click='autoComplete(user)') From 4ebc2953f5d00cb5b5e3fa8cc0565f8957414d85 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Thu, 29 Jan 2015 13:02:26 -0600 Subject: [PATCH 32/62] feat(event): Habit Birthday 2015 --- migrations/20150130_birthday_goodies.js | 39 +++++++++++++++++++++++++ src/models/user.js | 1 + views/shared/profiles/achievements.jade | 6 ++-- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 migrations/20150130_birthday_goodies.js diff --git a/migrations/20150130_birthday_goodies.js b/migrations/20150130_birthday_goodies.js new file mode 100644 index 0000000000..5e4d84d1b6 --- /dev/null +++ b/migrations/20150130_birthday_goodies.js @@ -0,0 +1,39 @@ +db.users.update( + {'items.gear.owned.armor_special_birthday':{$ne:null}}, + {$set:{'items.gear.owned.armor_special_birthday2015':false}}, + {multi:1} +) + +db.users.update( + {'items.gear.owned.armor_special_birthday':null}, + {$set:{'items.gear.owned.armor_special_birthday':false}}, + {multi:1} +) + +db.users.update({},{$inc:{ + 'items.food.Cake_Skeleton':1, + 'items.food.Cake_Base':1, + 'items.food.Cake_CottonCandyBlue':1, + 'items.food.Cake_CottonCandyPink':1, + 'items.food.Cake_Shade':1, + 'items.food.Cake_White':1, + 'items.food.Cake_Golden':1, + 'items.food.Cake_Zombie':1, + 'items.food.Cake_Desert':1, + 'items.food.Cake_Red':1 +}},{multi:1}) + +db.users.update( + {'profile.achievements.habitBirthday':true}, + {$set:{ + 'profile.achievements.habitBirthday':null, + 'profile.achievements.habitBirthdays':1 + }}, + {multi:1} +) + +db.users.update( + {}, + {$inc:{'profile.achievements.habitBirthdays':1}}, + {multi:1} +) \ No newline at end of file diff --git a/src/models/user.js b/src/models/user.js index f33984417e..037f73903a 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -50,6 +50,7 @@ var UserSchema = new Schema({ rebirthLevel: Number, perfect: Number, habitBirthday: Boolean, + habitBirthdays: Number, valentine: Number, costumeContest: Boolean, nye: Number diff --git a/views/shared/profiles/achievements.jade b/views/shared/profiles/achievements.jade index af414f15b5..07990d00bd 100644 --- a/views/shared/profiles/achievements.jade +++ b/views/shared/profiles/achievements.jade @@ -168,11 +168,13 @@ div(ng-if='profile.achievements.spookDust') =env.t('alarmingFriendsText', {spookDust: "{{profile.achievements.spookDust}}"}) hr -div(ng-if='::profile.achievements.habitBirthday') +div(ng-if='::profile.achievements.habitBirthdays') .achievement.achievement-habitBirthday h5=env.t('habitBirthday') - small + small(ng-if='::profile.achievements.habitBirthdays == 1') =env.t('habitBirthdayText') + small(ng-if='::profile.achievements.habitBirthdays > 1') + =env.t('habitBirthdayPluralText', {number: "{{profile.achievements.habitBirthdays}}"}) hr div(ng-if='::profile.achievements.valentine') From e165f5dac4a13a38bec4d16104d365265f53d356 Mon Sep 17 00:00:00 2001 From: Negue Date: Thu, 29 Jan 2015 20:40:06 +0100 Subject: [PATCH 33/62] move aLink to mixins.jade --- views/shared/mixins.jade | 6 ++++++ views/shared/profiles/achievements.jade | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/views/shared/mixins.jade b/views/shared/mixins.jade index 9fd46f2273..722fe51259 100644 --- a/views/shared/mixins.jade +++ b/views/shared/mixins.jade @@ -6,3 +6,9 @@ mixin gemButton(isGemsModal) .Pet_Currency_Gem2x.Gems | {{user.balance * 4 | number:0}} =env.t('gems') + +mixin aLink(url, label) + if mobile + a(href="", ng-click="externalLink('#{url}')")= label + else + a(href='#{url}', target='_blank')= label \ No newline at end of file diff --git a/views/shared/profiles/achievements.jade b/views/shared/profiles/achievements.jade index 9879848f0f..e2c1d052ec 100644 --- a/views/shared/profiles/achievements.jade +++ b/views/shared/profiles/achievements.jade @@ -11,12 +11,6 @@ //
    //
    -mixin aLink(url, label) - if mobile - a(href="", ng-click="externalLink('#{url}')")= label - else - a(href='#{url}', target='_blank')= label - if mobile .item.item-divider=env.t('achievements') From a654d7ea10748010885fdcf0f1845c63c985e6b9 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Thu, 29 Jan 2015 13:43:52 -0600 Subject: [PATCH 34/62] fix(event): Correct achievement award --- migrations/20150130_birthday_goodies.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/migrations/20150130_birthday_goodies.js b/migrations/20150130_birthday_goodies.js index 5e4d84d1b6..46327aed3d 100644 --- a/migrations/20150130_birthday_goodies.js +++ b/migrations/20150130_birthday_goodies.js @@ -24,16 +24,16 @@ db.users.update({},{$inc:{ }},{multi:1}) db.users.update( - {'profile.achievements.habitBirthday':true}, + {'achievements.habitBirthday':true}, {$set:{ - 'profile.achievements.habitBirthday':null, - 'profile.achievements.habitBirthdays':1 + 'achievements.habitBirthday':null, + 'achievements.habitBirthdays':1 }}, {multi:1} ) db.users.update( {}, - {$inc:{'profile.achievements.habitBirthdays':1}}, + {$inc:{'achievements.habitBirthdays':1}}, {multi:1} ) \ No newline at end of file From efd1333c06bb5572147a8d10b9dba6f5fb9d1c7c Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Thu, 29 Jan 2015 14:10:05 -0600 Subject: [PATCH 35/62] fix(event): Leave old achievement For better compatibility with mobile app. --- migrations/20150130_birthday_goodies.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/migrations/20150130_birthday_goodies.js b/migrations/20150130_birthday_goodies.js index 46327aed3d..6c7c2e08c5 100644 --- a/migrations/20150130_birthday_goodies.js +++ b/migrations/20150130_birthday_goodies.js @@ -25,10 +25,7 @@ db.users.update({},{$inc:{ db.users.update( {'achievements.habitBirthday':true}, - {$set:{ - 'achievements.habitBirthday':null, - 'achievements.habitBirthdays':1 - }}, + {$set:{'achievements.habitBirthdays':1}}, {multi:1} ) From 5188b17f540517208dab009528fc44f7c64e091f Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Thu, 29 Jan 2015 14:13:57 -0600 Subject: [PATCH 36/62] chore(user): Deprecation TODO --- src/models/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/user.js b/src/models/user.js index 037f73903a..16959f126a 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -49,7 +49,7 @@ var UserSchema = new Schema({ rebirths: Number, rebirthLevel: Number, perfect: Number, - habitBirthday: Boolean, + habitBirthday: Boolean, // TODO: Deprecate this. Superseded by habitBirthdays habitBirthdays: Number, valentine: Number, costumeContest: Boolean, From ea3d72836fb8a9ed7fa9388833768a44797c50ce Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Fri, 30 Jan 2015 17:14:34 +0100 Subject: [PATCH 37/62] add image for new email --- public/emails/images/one-day-v1.png | Bin 0 -> 173486 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/emails/images/one-day-v1.png diff --git a/public/emails/images/one-day-v1.png b/public/emails/images/one-day-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..dafd5cac8f9ee0d55ef60d3b6c0f163653218daa GIT binary patch literal 173486 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%0D@Qeh?g>R@i;Ize7?~(Q*t+n1kdI3BmrQ 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%0A08%Jvz} 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

    ' + func(text) + '

    '; + * }); + * + * p('Fred, Wilma, & Pebbles'); + * // => '

    Fred, Wilma, & Pebbles

    ' + */ + function wrap(value, wrapper) { + return createWrapper(wrapper, 16, [value]); + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @category Utilities + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new function. + * @example + * + * var object = { 'name': 'fred' }; + * var getter = _.constant(object); + * getter() === object; + * // => true + */ + function constant(value) { + return function() { + return value; + }; + } + + /** + * Produces a callback bound to an optional `thisArg`. If `func` is a property + * name the created callback will return the property value for a given element. + * If `func` is an object the created callback will return `true` for elements + * that contain the equivalent object properties, otherwise it will return `false`. + * + * @static + * @memberOf _ + * @category Utilities + * @param {*} [func=identity] The value to convert to a callback. + * @param {*} [thisArg] The `this` binding of the created callback. + * @param {number} [argCount] The number of arguments the callback accepts. + * @returns {Function} Returns a callback function. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * // wrap to create custom callback shorthands + * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) { + * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback); + * return !match ? func(callback, thisArg) : function(object) { + * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3]; + * }; + * }); + * + * _.filter(characters, 'age__gt38'); + * // => [{ 'name': 'fred', 'age': 40 }] + */ + function createCallback(func, thisArg, argCount) { + var type = typeof func; + if (func == null || type == 'function') { + return baseCreateCallback(func, thisArg, argCount); + } + // handle "_.pluck" style callback shorthands + if (type != 'object') { + return property(func); + } + var props = keys(func), + key = props[0], + a = func[key]; + + // handle "_.where" style callback shorthands + if (props.length == 1 && a === a && !isObject(a)) { + // fast path the common case of providing an object with a single + // property containing a primitive value + return function(object) { + var b = object[key]; + return a === b && (a !== 0 || (1 / a == 1 / b)); + }; + } + return function(object) { + var length = props.length, + result = false; + + while (length--) { + if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) { + break; + } + } + return result; + }; + } + + /** + * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their + * corresponding HTML entities. + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} string The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('Fred, Wilma, & Pebbles'); + * // => 'Fred, Wilma, & Pebbles' + */ + function escape(string) { + return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar); + } + + /** + * This method returns the first argument provided to it. + * + * @static + * @memberOf _ + * @category Utilities + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'name': 'fred' }; + * _.identity(object) === object; + * // => true + */ + function identity(value) { + return value; + } + + /** + * Adds function properties of a source object to the destination object. + * If `object` is a function methods will be added to its prototype as well. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Function|Object} [object=lodash] object The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options] The options object. + * @param {boolean} [options.chain=true] Specify whether the functions added are chainable. + * @example + * + * function capitalize(string) { + * return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase(); + * } + * + * _.mixin({ 'capitalize': capitalize }); + * _.capitalize('fred'); + * // => 'Fred' + * + * _('fred').capitalize().value(); + * // => 'Fred' + * + * _.mixin({ 'capitalize': capitalize }, { 'chain': false }); + * _('fred').capitalize(); + * // => 'Fred' + */ + function mixin(object, source, options) { + var chain = true, + methodNames = source && functions(source); + + if (!source || (!options && !methodNames.length)) { + if (options == null) { + options = source; + } + ctor = lodashWrapper; + source = object; + object = lodash; + methodNames = functions(source); + } + if (options === false) { + chain = false; + } else if (isObject(options) && 'chain' in options) { + chain = options.chain; + } + var ctor = object, + isFunc = isFunction(ctor); + + forEach(methodNames, function(methodName) { + var func = object[methodName] = source[methodName]; + if (isFunc) { + ctor.prototype[methodName] = function() { + var chainAll = this.__chain__, + value = this.__wrapped__, + args = [value]; + + push.apply(args, arguments); + var result = func.apply(object, args); + if (chain || chainAll) { + if (value === result && isObject(result)) { + return this; + } + result = new ctor(result); + result.__chain__ = chainAll; + } + return result; + }; + } + }); + } + + /** + * Reverts the '_' variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @memberOf _ + * @category Utilities + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + context._ = oldDash; + return this; + } + + /** + * A no-operation function. + * + * @static + * @memberOf _ + * @category Utilities + * @example + * + * var object = { 'name': 'fred' }; + * _.noop(object) === undefined; + * // => true + */ + function noop() { + // no operation performed + } + + /** + * Gets the number of milliseconds that have elapsed since the Unix epoch + * (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @category Utilities + * @example + * + * var stamp = _.now(); + * _.defer(function() { console.log(_.now() - stamp); }); + * // => logs the number of milliseconds it took for the deferred function to be called + */ + var now = isNative(now = Date.now) && now || function() { + return new Date().getTime(); + }; + + /** + * Converts the given value into an integer of the specified radix. + * If `radix` is `undefined` or `0` a `radix` of `10` is used unless the + * `value` is a hexadecimal, in which case a `radix` of `16` is used. + * + * Note: This method avoids differences in native ES3 and ES5 `parseInt` + * implementations. See http://es5.github.io/#E. + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} value The value to parse. + * @param {number} [radix] The radix used to interpret the value to parse. + * @returns {number} Returns the new integer value. + * @example + * + * _.parseInt('08'); + * // => 8 + */ + var parseInt = nativeParseInt(whitespace + '08') == 8 ? nativeParseInt : function(value, radix) { + // Firefox < 21 and Opera < 15 follow the ES3 specified implementation of `parseInt` + return nativeParseInt(isString(value) ? value.replace(reLeadingSpacesAndZeros, '') : value, radix || 0); + }; + + /** + * Creates a "_.pluck" style function, which returns the `key` value of a + * given object. + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} key The name of the property to retrieve. + * @returns {Function} Returns the new function. + * @example + * + * var characters = [ + * { 'name': 'fred', 'age': 40 }, + * { 'name': 'barney', 'age': 36 } + * ]; + * + * var getName = _.property('name'); + * + * _.map(characters, getName); + * // => ['barney', 'fred'] + * + * _.sortBy(characters, getName); + * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] + */ + function property(key) { + return function(object) { + return object[key]; + }; + } + + /** + * Produces a random number between `min` and `max` (inclusive). If only one + * argument is provided a number between `0` and the given number will be + * returned. If `floating` is truey or either `min` or `max` are floats a + * floating-point number will be returned instead of an integer. + * + * @static + * @memberOf _ + * @category Utilities + * @param {number} [min=0] The minimum possible value. + * @param {number} [max=1] The maximum possible value. + * @param {boolean} [floating=false] Specify returning a floating-point number. + * @returns {number} Returns a random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(min, max, floating) { + var noMin = min == null, + noMax = max == null; + + if (floating == null) { + if (typeof min == 'boolean' && noMax) { + floating = min; + min = 1; + } + else if (!noMax && typeof max == 'boolean') { + floating = max; + noMax = true; + } + } + if (noMin && noMax) { + max = 1; + } + min = +min || 0; + if (noMax) { + max = min; + min = 0; + } else { + max = +max || 0; + } + if (floating || min % 1 || max % 1) { + var rand = nativeRandom(); + return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand +'').length - 1)))), max); + } + return baseRandom(min, max); + } + + /** + * Resolves the value of property `key` on `object`. If `key` is a function + * it will be invoked with the `this` binding of `object` and its result returned, + * else the property value is returned. If `object` is falsey then `undefined` + * is returned. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Object} object The object to inspect. + * @param {string} key The name of the property to resolve. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { + * 'cheese': 'crumpets', + * 'stuff': function() { + * return 'nonsense'; + * } + * }; + * + * _.result(object, 'cheese'); + * // => 'crumpets' + * + * _.result(object, 'stuff'); + * // => 'nonsense' + */ + function result(object, key) { + if (object) { + var value = object[key]; + return isFunction(value) ? object[key]() : value; + } + } + + /** + * A micro-templating method that handles arbitrary delimiters, preserves + * whitespace, and correctly escapes quotes within interpolated code. + * + * Note: In the development build, `_.template` utilizes sourceURLs for easier + * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl + * + * For more information on precompiling templates see: + * http://lodash.com/custom-builds + * + * For more information on Chrome extension sandboxes see: + * http://developer.chrome.com/stable/extensions/sandboxingEval.html + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} text The template text. + * @param {Object} data The data object used to populate the text. + * @param {Object} [options] The options object. + * @param {RegExp} [options.escape] The "escape" delimiter. + * @param {RegExp} [options.evaluate] The "evaluate" delimiter. + * @param {Object} [options.imports] An object to import into the template as local variables. + * @param {RegExp} [options.interpolate] The "interpolate" delimiter. + * @param {string} [sourceURL] The sourceURL of the template's compiled source. + * @param {string} [variable] The data object variable name. + * @returns {Function|string} Returns a compiled function when no `data` object + * is given, else it returns the interpolated text. + * @example + * + * // using the "interpolate" delimiter to create a compiled template + * var compiled = _.template('hello <%= name %>'); + * compiled({ 'name': 'fred' }); + * // => 'hello fred' + * + * // using the "escape" delimiter to escape HTML in data property values + * _.template('<%- value %>', { 'value': '

    k84W3@Yo+%mH-c0_`|VqgJqO% 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 RtG_2mg{P~Z%Q~loCIDi1IR^j$ literal 0 HcmV?d00001 From 3e41b62bc9dc5ebcd9477d07c003953bb83d0ead Mon Sep 17 00:00:00 2001 From: negue Date: Fri, 30 Jan 2015 17:47:55 +0100 Subject: [PATCH 38/62] Include mixins.jade also in layout.jade --- views/static/layout.jade | 2 ++ 1 file changed, 2 insertions(+) diff --git a/views/static/layout.jade b/views/static/layout.jade index ae82efa1c8..ef214f415c 100644 --- a/views/static/layout.jade +++ b/views/static/layout.jade @@ -1,3 +1,5 @@ +include ../shared/mixins.jade + //-Trick needed to pass 'env' to ./layout block vars doctype html From 0007e870edb821091d4e2334b4ecce1132168289 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Fri, 30 Jan 2015 13:44:09 -0600 Subject: [PATCH 39/62] chore(news): Bailey --- views/shared/new-stuff.jade | 55 +++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/views/shared/new-stuff.jade b/views/shared/new-stuff.jade index 727135e69d..78a29193d7 100644 --- a/views/shared/new-stuff.jade +++ b/views/shared/new-stuff.jade @@ -1,32 +1,53 @@ -h5 1/26/2015 - SUBSCRIBER OUTFIT REVEALED, NEW AUDIO THEME, QUEST SCROLL REDESIGN, AND SPREAD THE WORD CHALLENGE REMINDER +h5 1/30/2015 - HABITRPG BIRTHDAY BASH AND PARTY ROBES! PLUS, LAST CHANCE FOR STARRY KNIGHT ITEM SET, AND WINTER WONDERLAND OUTFITS AND HAIR COLORS! hr tr td - h5 Subscriber Outfit Revealed + h5 HabitRPG Birthday Bash + .npc_alex.pull-right + p January 31st is HabitRPG's Birthday! All of the NPCs are celebrating, and we've awarded you a bunch of cake for your pets and mounts! + tr + td + h5 Party Robes + .broad_armor_special_birthday.pull-right + .broad_armor_special_birthday2015.pull-right + p Until February 1st only, there are Party Robes available for free in the Rewards store! If this is your first Birthday bash with us, you can find some Absurd Party Robes; if you already got some last year, then you will find the Silly Party Robes. + tr + td + h5 Last Chance for Starry Knight Item Set .promo_mystery_201501.pull-right - p The January Subscriber Item has been revealed: the Starry Knight Item Set! All January subscribers will receive the Starry Helm and the Starry Armor. You still have five days to subscribe and receive the item set! Thank you so much for your support - we really do rely on you to keep HabitRPG free to use and running smoothly. - p.small.muted by Lemoness + p Reminder: this is the final day to subscribe and receive the Starry Knight Item Set! If you want the Starry Helm or the Starry Armor, now's the time! Thanks so much for your support <3 tr td - h5 New Audio Theme - p A new audio theme is available: Watts' Theme! You can toggle between Watts' Theme and Daniel the Bard's Theme by selecting the megaphone in the upper right-hand corner. Watts' Theme was created by Harry Pepe. You can visit his LinkedIn page here. - p.small.muted by Hpepe4 and Blade - tr - td - h5 Quest Scroll Redesign - p We've redesigned the quest scrolls so that they are visually unique! Quest type and difficulty is determined by the scroll lining (Easy Boss = Green, Medium Boss = Yellow, Hard Boss = Red, Collection Quest = Blue, Rage Bar Boss = Purple speckles), and an icon symbolizing the quest is located in the lower left. - p.small.muted by UncommonCriminal and Rattify - tr - td - h5 Spread the Word Challenge Ending Soon - p Reminder: January 31st is the last day to enter the Spread the Word Challenge for your chance at winning 100 gems! We will stop accepting new applications on February 1st, but it will be some time before the winners are announced because we have to go over all the entries ourselves. Good luck! + h5 Last Chance for Winter Wonderland Outfits + Hair Colors + .promo_winterclasses2015.pull-right + p Tomorrow everything will be back to normal in Habitica, so if you still have any remaining Winter Wonderland Items that you want to buy, you'd better do it now! The Seasonal Edition items and Hair Colors won't be back until next December, and if the Limited Edition items return they will have increased prices or changed art, so strike while the iron is hot! hr a(href='/static/old-news', target='_blank') Read older news mixin oldNews + h5 1/26/2015 + tr + td + h5 Subscriber Outfit Revealed + .promo_mystery_201501.pull-right + p The January Subscriber Item has been revealed: the Starry Knight Item Set! All January subscribers will receive the Starry Helm and the Starry Armor. You still have five days to subscribe and receive the item set! Thank you so much for your support - we really do rely on you to keep HabitRPG free to use and running smoothly. + p.small.muted by Lemoness + tr + td + h5 New Audio Theme + p A new audio theme is available: Watts' Theme! You can toggle between Watts' Theme and Daniel the Bard's Theme by selecting the megaphone in the upper right-hand corner. Watts' Theme was created by Harry Pepe. You can visit his LinkedIn page here. + p.small.muted by Hpepe4 and Blade + tr + td + h5 Quest Scroll Redesign + p We've redesigned the quest scrolls so that they are visually unique! Quest type and difficulty is determined by the scroll lining (Easy Boss = Green, Medium Boss = Yellow, Hard Boss = Red, Collection Quest = Blue, Rage Bar Boss = Purple speckles), and an icon symbolizing the quest is located in the lower left. + p.small.muted by UncommonCriminal and Rattify + tr + td + h5 Spread the Word Challenge Ending Soon + p Reminder: January 31st is the last day to enter the Spread the Word Challenge for your chance at winning 100 gems! We will stop accepting new applications on February 1st, but it will be some time before the winners are announced because we have to go over all the entries ourselves. Good luck! h5 1/23/2015 - hr tr td h5 The Abominable Stressbeast is DEFEATED! From 4fe4c01f3c2851130594e3d88d94b9ff44b8ab40 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Fri, 30 Jan 2015 13:48:44 -0600 Subject: [PATCH 40/62] fix(news): Left right left --- views/shared/new-stuff.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/shared/new-stuff.jade b/views/shared/new-stuff.jade index 78a29193d7..f021ef88b2 100644 --- a/views/shared/new-stuff.jade +++ b/views/shared/new-stuff.jade @@ -3,7 +3,7 @@ h5 1/30/2015 - HABITRPG BIRTHDAY BASH AND PARTY ROBES! PLUS, LAST CHANCE FOR STA tr td h5 HabitRPG Birthday Bash - .npc_alex.pull-right + .npc_alex.pull-left p January 31st is HabitRPG's Birthday! All of the NPCs are celebrating, and we've awarded you a bunch of cake for your pets and mounts! tr td @@ -14,7 +14,7 @@ h5 1/30/2015 - HABITRPG BIRTHDAY BASH AND PARTY ROBES! PLUS, LAST CHANCE FOR STA tr td h5 Last Chance for Starry Knight Item Set - .promo_mystery_201501.pull-right + .promo_mystery_201501.pull-left p Reminder: this is the final day to subscribe and receive the Starry Knight Item Set! If you want the Starry Helm or the Starry Armor, now's the time! Thanks so much for your support <3 tr td From 47d14a1f99276d4b9032b8ebff7f5c97b80f6427 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Fri, 30 Jan 2015 13:51:48 -0600 Subject: [PATCH 41/62] fix(news): Prettify Bailey more --- views/shared/new-stuff.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/views/shared/new-stuff.jade b/views/shared/new-stuff.jade index f021ef88b2..b79c09166b 100644 --- a/views/shared/new-stuff.jade +++ b/views/shared/new-stuff.jade @@ -2,19 +2,19 @@ h5 1/30/2015 - HABITRPG BIRTHDAY BASH AND PARTY ROBES! PLUS, LAST CHANCE FOR STA hr tr td - h5 HabitRPG Birthday Bash .npc_alex.pull-left + h5 HabitRPG Birthday Bash p January 31st is HabitRPG's Birthday! All of the NPCs are celebrating, and we've awarded you a bunch of cake for your pets and mounts! tr td h5 Party Robes - .broad_armor_special_birthday.pull-right - .broad_armor_special_birthday2015.pull-right + .shop_armor_special_birthday.pull-right + .shop_armor_special_birthday2015.pull-right p Until February 1st only, there are Party Robes available for free in the Rewards store! If this is your first Birthday bash with us, you can find some Absurd Party Robes; if you already got some last year, then you will find the Silly Party Robes. tr td - h5 Last Chance for Starry Knight Item Set .promo_mystery_201501.pull-left + h5 Last Chance for Starry Knight Item Set p Reminder: this is the final day to subscribe and receive the Starry Knight Item Set! If you want the Starry Helm or the Starry Armor, now's the time! Thanks so much for your support <3 tr td From 5e671568acb5916d51c8a4ce1c617df89d6db824 Mon Sep 17 00:00:00 2001 From: Alice Harris Date: Sat, 31 Jan 2015 09:17:23 +1000 Subject: [PATCH 42/62] remove new birthday robes from people who don't have original birthday achievement --- ...150131_birthday_goodies_fix_remove_robe.js | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 migrations/20150131_birthday_goodies_fix_remove_robe.js diff --git a/migrations/20150131_birthday_goodies_fix_remove_robe.js b/migrations/20150131_birthday_goodies_fix_remove_robe.js new file mode 100644 index 0000000000..e6b688d0ca --- /dev/null +++ b/migrations/20150131_birthday_goodies_fix_remove_robe.js @@ -0,0 +1,61 @@ +var migrationName = '20150131_birthday_goodies_fix_remove_robe.js'; +var authorName = 'Alys'; // in case script author needs to know when their ... +var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done + +/** + * https://github.com/HabitRPG/habitrpg/pull/4374#issuecomment-71038795 + * Convert false to null for mounts that used to be owned. + */ + +var dbserver = 'localhost:27017' // CHANGE THIS FOR PRODUCTION DATABASE + +var mongo = require('mongoskin'); +var _ = require('lodash'); + +var dbUsers = mongo.db(dbserver + '/habitrpg?auto_reconnect').collection('users'); + +var query = { + 'achievements.habitBirthday':{$exists:false} + }; + +var fields = { + 'items.gear.owned.armor_special_birthday2015':1 + }; + +console.warn('Updating users...'); +var progressCount = 1000; +var count = 0; +dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) { + if (err) { return exiting(1, 'ERROR! ' + err); } + if (!user) { + console.warn('All appropriate users found and modified.'); + return displayData(); + } + count++; + + var unset = {'items.gear.owned.armor_special_birthday2015': 1}; + var set = {'migration': migrationName}; + // var inc = {'xyz':1, _v:1}; + dbUsers.update({_id:user._id}, {$unset:unset, $set:set}); // , $inc:inc}); + + if (count%progressCount == 0) console.warn(count + ' ' + user._id); + if (user._id == authorUuid) console.warn(authorName + ' processed'); + if (user._id == '9' ) console.warn('lefnire' + ' processed'); +}); + + +function displayData() { + console.warn('\n' + count + ' users processed\n'); + return exiting(0); +} + + +function exiting(code, msg) { + code = code || 0; // 0 = success + if (code && !msg) { msg = 'ERROR!'; } + if (msg) { + if (code) { console.error(msg); } + else { console.log( msg); } + } + process.exit(code); +} From e8eec7386e333640650c4648c498571b5ae47c61 Mon Sep 17 00:00:00 2001 From: Alice Harris Date: Sat, 31 Jan 2015 09:19:46 +1000 Subject: [PATCH 43/62] fix comment in script --- migrations/20150131_birthday_goodies_fix_remove_robe.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/migrations/20150131_birthday_goodies_fix_remove_robe.js b/migrations/20150131_birthday_goodies_fix_remove_robe.js index e6b688d0ca..997cd8bdc1 100644 --- a/migrations/20150131_birthday_goodies_fix_remove_robe.js +++ b/migrations/20150131_birthday_goodies_fix_remove_robe.js @@ -3,8 +3,7 @@ var authorName = 'Alys'; // in case script author needs to know when their ... var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done /** - * https://github.com/HabitRPG/habitrpg/pull/4374#issuecomment-71038795 - * Convert false to null for mounts that used to be owned. + * remove new birthday robes from people who don't have original birthday achievement */ var dbserver = 'localhost:27017' // CHANGE THIS FOR PRODUCTION DATABASE From 8670e269ed8fc01b453ef532c198fd1fa418d5eb Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Fri, 30 Jan 2015 15:33:13 -0700 Subject: [PATCH 44/62] upgrade mongoose => 3.8.20, upgrade npm --- package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6f14a60e51..f717a567b0 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "loggly": "~1.0.8", "method-override": "~2.2.0", "moment": "~2.8.3", - "mongoose": "~3.8.17", + "mongoose": "~3.8.20", "mongoose-id-autoinc": "~2013.7.14-4", "nconf": "~0.6.9", "newrelic": "~1.11.2", @@ -63,8 +63,7 @@ "www.habitrpg.com" ], "engines": { - "node": "0.10.x", - "npm": "1.2.x" + "node": "0.10.x" }, "scripts": { "test": "./test/run_tests.sh", From eb1ca43c44788ee8bf45d2bfe4f7874b0b24a213 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Sun, 1 Feb 2015 12:56:07 +0100 Subject: [PATCH 45/62] fix(db): upgrade flags.recaptureEmailsPhase to new values --- migrations/20150201_recapture_emails_phase_update.js | 7 +++++++ src/models/user.js | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 migrations/20150201_recapture_emails_phase_update.js diff --git a/migrations/20150201_recapture_emails_phase_update.js b/migrations/20150201_recapture_emails_phase_update.js new file mode 100644 index 0000000000..51fd73a6fa --- /dev/null +++ b/migrations/20150201_recapture_emails_phase_update.js @@ -0,0 +1,7 @@ +db.users.update({ + 'flags.recaptureEmailsPhase': { + $gt: 0 + } +},{$inc:{ + 'flags.recaptureEmailsPhase':1 +}},{multi:1}) \ No newline at end of file diff --git a/src/models/user.js b/src/models/user.js index 16959f126a..b61c7ec531 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -131,7 +131,7 @@ var UserSchema = new Schema({ levelDrops: {type:Schema.Types.Mixed, 'default':{}}, chatRevoked: Boolean, // Used to track the status of recapture emails sent to each user, - // can be 0 - no email sent - 1, 2 or 3 - 3 means no more email will be sent to the user + // can be 0 - no email sent - 1, 2, 3 or 4 - 4 means no more email will be sent to the user recaptureEmailsPhase: {type: Number, 'default': 0}, communityGuidelinesAccepted: {type: Boolean, 'default': false} }, From c31272a154e8f0655162e06b0a81208c280f7b0e Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 11:14:19 -0800 Subject: [PATCH 46/62] add subscriptitonRateText --- views/options/settings.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index e0b150c850..bd0f6d844c 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -276,7 +276,7 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template') span(ng-show='block.original') | Recurring ${{block.original}} ${{block.price}} each {{block.months}} Month(s) span(ng-hide='block.original') - | Recurring ${{block.price}} each {{block.months}} Month(s) + | {{env.t('subscriptionRateText', {price:block.price, months: block.months})}} .form-inline .form-group From 026b4ed716a3e84ec40252517cb2fcc03242e6b3 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 12:19:16 -0800 Subject: [PATCH 47/62] add translations to subscription page --- views/options/settings.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index bd0f6d844c..77da51a845 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -247,7 +247,7 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template') .container-fluid(ng-init='_subscription={key:"basic_earned"}') .row .col-md-6 - h3 Benefits + h3 {{env.t('benefits')}} +subPerks() .col-md-6 @@ -270,13 +270,13 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template') li Mystic Hourglasses: {{user.purchased.plan.consecutive.trinkets}} div(ng-if='!user.purchased.plan.customerId || (user.purchased.plan.customerId && user.purchased.plan.dateTerminated)') .form-group - .radio(ng-repeat='block in Content.subscriptionBlocks | toArray | omit:"discount==true" | orderBy:"months"') + .radio(ng-repeat='block in Content.subscriptionBlocks | toArray | omit: "discount==true" | orderBy:"months"') label input(type="radio", name="subRadio", ng-value="block.key", ng-model='_subscription.key') span(ng-show='block.original') - | Recurring ${{block.original}} ${{block.price}} each {{block.months}} Month(s) + | ${{ block.original }} {{env.t('subscriptionRateText', {price:block.price, months: block.months})}} span(ng-hide='block.original') - | {{env.t('subscriptionRateText', {price:block.price, months: block.months})}} + | {{env.t('subscriptionRateText', {price:block.price, months: block.months})}} .form-inline .form-group From 4ed80824bf1c6da4d5c870d7b8e18e184962fab9 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 12:25:08 -0800 Subject: [PATCH 48/62] fix translations on task progress chart --- public/js/controllers/rootCtrl.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/js/controllers/rootCtrl.js b/public/js/controllers/rootCtrl.js index 9360daf469..4560c58383 100644 --- a/public/js/controllers/rootCtrl.js +++ b/public/js/controllers/rootCtrl.js @@ -164,7 +164,7 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$ $rootScope.charts[id] = (history.length == 0) ? false : !$rootScope.charts[id]; if (task && task._editing) task._editing = false; } - matrix = [['Date', 'Score']]; + matrix = [[env.t('date'), env.t('score')]]; _.each(history, function(obj) { matrix.push([moment(obj.date).format('MM/DD/YY'), obj.value]); }); @@ -220,7 +220,7 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$ $http.post(ApiUrl.get() + '/api/v2/user/class/cast/'+spell.key+'?targetType='+type+'&targetId='+targetId) .success(function(){ - var msg = window.env.t('youCast', {spell: spell.text()}); + var msg = window.env.t('youCast', {spell: spell.text()}); switch (type) { case 'task': msg = window.env.t('youCastTarget', {spell: spell.text(), target: target.text});break; case 'user': msg = window.env.t('youCastTarget', {spell: spell.text(), target: target.profile.name});break; From aefcd116abfab2176c244c3ced30dc5b8b3ad8e3 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 12:45:19 -0800 Subject: [PATCH 49/62] fix translations on coupon page --- views/options/settings.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 77da51a845..b804808c16 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -11,7 +11,7 @@ script(id='partials/options.settings.html', type="text/ng-template") =env.t('dataExport') li(ng-class="{ active: $state.includes('options.settings.coupon') }") a(ui-sref='options.settings.coupon') - | Coupon + =env.t('coupon') li(ng-class="{ active: $state.includes('options.settings.subscription') }") a(ui-sref='options.settings.subscription')=env.t('subscription') @@ -138,12 +138,12 @@ script(type='text/ng-template', id='partials/options.settings.coupon.html') .container-fluid .row .col-md-6 - h2 Coupon + h2 {{env.t('coupon')}} form.form-inline(role='form',ng-submit='enterCoupon(_couponCode)') - input.form-control(type='text', ng-model='_couponCode', placeholder='Enter Coupon Code') + input.form-control(type='text', ng-model='_couponCode', placeholder=env.t('couponPlaceholder')) button.btn.btn-primary(type='submit') Submit div - small We sometimes have events and give out coupon codes for special gear. (eg, those who stop by our Wondercon booth) + small {{env.t('couponText')}} div(ng-if='user.contributor.sudo') hr h4 Generate Codes From 0d08f3edb00ee9bb9d96e75048fce3c2cd013927 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 13:28:57 -0800 Subject: [PATCH 50/62] fix translations on presskt page --- views/static/press-kit.jade | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/views/static/press-kit.jade b/views/static/press-kit.jade index 0548948888..f2e9dd7509 100644 --- a/views/static/press-kit.jade +++ b/views/static/press-kit.jade @@ -14,9 +14,10 @@ block extraHead } block content - h2 Press Kit - p Thanks for your interest in HabitRPG! The following images can be used for articles or videos about HabitRPG. For more information, please contact Siena Leslie at leslie@habitrpg.com. - p Download all image: presskit.zip + h2= env.t('presskit') + p= env.t('presskitText') + p= env.t('presskitDownload') + a.btn.btn-success(href='/presskit/presskit.zip') presskit.zip - var imgs = ['habitrpg_pixel', 'HabitRPGdevices', 'Market Sample Screen', 'Challenges Sample Screen', 'Equipment Sample Screen', 'Guilds Sample Screen', 'HabitRPGPromoPostCard6', 'HabitRPGPromoThin', 'Laundromancer_by_Arcosine', 'promo mobile inventorySTILL1', 'promo mobile inventorySTILL2', 'PROMOdevices2', 'SnackLessMonster_by_Arcosine', 'stag_battle_by_leephon', 'stagnant_dishes_by_kiwibot', 'vice_reborn_by_baconsaur'] //-#carousel.carousel.slide(data-ride='carousel') @@ -30,12 +31,12 @@ block content //.carousel-caption=img a.left.carousel-control(href='#carousel', role='button', data-slide='prev') span.glyphicon.glyphicon-chevron-left(aria-hidden='true') - span.sr-only Previous + span.sr-only= env.t('previous') a.right.carousel-control(href='#carousel', role='button', data-slide='next') span.glyphicon.glyphicon-chevron-right(aria-hidden='true') - span.sr-only Next + span.sr-only= env.t('next') ul.list-unstyled each img in imgs li - img.press-img(src="/presskit/#{img}.png") \ No newline at end of file + img.press-img(src="/presskit/#{img}.png") From 71436288ffdefbed796f22ccc25edd287b5e196e Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 13:52:44 -0800 Subject: [PATCH 51/62] fix quest rewards translation --- views/shared/modals/quest-rewards.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/shared/modals/quest-rewards.jade b/views/shared/modals/quest-rewards.jade index ffa90622ab..6b79c62c57 100644 --- a/views/shared/modals/quest-rewards.jade +++ b/views/shared/modals/quest-rewards.jade @@ -1,6 +1,6 @@ script(id='partials/options.social.party.quest-rewards.html', type='text/ng-template') hr - h5 {{header}} + h5= env.t('rewards') table.table.table-striped tr(ng-repeat='drop in quest.drop.items') td {{drop.text()}} @@ -9,4 +9,4 @@ script(id='partials/options.social.party.quest-rewards.html', type='text/ng-temp =env.t('experience') tr td {{quest.drop.gp}} - =env.t('gold') \ No newline at end of file + =env.t('gold') From 978ba0186e41166e9e00d7d84986111ebce6fc79 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 14:25:31 -0800 Subject: [PATCH 52/62] fix bg popover translations --- views/options/profile.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index 19a2ba48d1..300d207e0c 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -264,7 +264,7 @@ mixin backgrounds(mobile) +gemCost(7) button.btn.btn-xs(ng-click="unlock(setKeys('background',#{JSON.stringify(bgs)}))")!= env.t('unlockSet',{cost:15}) + ' ' each bg,k in bgs - button.customize-option(type='button', class='background_#{k}', ng-class="user.purchased.background.#{k} ? 'background-unlocked' : 'background-locked'", ng-click='unlock("background.#{k}")', popover-title=bg.text(), popover=bg.notes(),popover-trigger='mouseenter') + button.customize-option(type='button', class='background_#{k}', ng-class="user.purchased.background.#{k} ? 'background-unlocked' : 'background-locked'", ng-click='unlock("background.#{k}")', popover-title=bg.text(env.language.code), popover=bg.notes(env.language.code),popover-trigger='mouseenter') i.glyphicon.glyphicon-lock(ng-if="!user.purchased.background.#{k}") - } From cec5797fc93ad65dc1a4c70dc5a12ee3f233d8dd Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 15:20:15 -0800 Subject: [PATCH 53/62] fix presskit and header --- views/shared/modals/quest-rewards.jade | 2 +- views/shared/modals/quests.jade | 6 +++--- views/static/press-kit.jade | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/views/shared/modals/quest-rewards.jade b/views/shared/modals/quest-rewards.jade index 6b79c62c57..ebcab0830b 100644 --- a/views/shared/modals/quest-rewards.jade +++ b/views/shared/modals/quest-rewards.jade @@ -1,6 +1,6 @@ script(id='partials/options.social.party.quest-rewards.html', type='text/ng-template') hr - h5= env.t('rewards') + h5= {{header}} table.table.table-striped tr(ng-repeat='drop in quest.drop.items') td {{drop.text()}} diff --git a/views/shared/modals/quests.jade b/views/shared/modals/quests.jade index d0ec6ae203..8e7152f10a 100644 --- a/views/shared/modals/quests.jade +++ b/views/shared/modals/quests.jade @@ -31,7 +31,7 @@ script(type='text/ng-template', id='modals/showQuest.html') | {{::selectedQuest.collect[k].count}} {{::selectedQuest.collect[k].text()}} div(ng-bind-html='::selectedQuest.notes()') - quest-rewards(key='{{::selectedQuest.key}}') + quest-rewards(key='{{::selectedQuest.key}}', header=env.t('rewards')) hr .npc_ian.pull-left p=env.t('questSend') @@ -59,7 +59,7 @@ script(type='text/ng-template', id='modals/buyQuest.html') strong=env.t('collect') + ': ' | {{::selectedQuest.collect[k].count}} {{::selectedQuest.collect[k].text()}} div(ng-bind-html='::selectedQuest.notes()') - quest-rewards(key='{{::selectedQuest.key}}') + quest-rewards(key='{{::selectedQuest.key}}', header=env.t('rewards')) .modal-footer button.btn.btn-default(ng-click='closeQuest(); $close()')=env.t('neverMind') button.btn.btn-primary(ng-click='purchase("quests", quest); closeQuest(); $close()')=env.t('buyQuest') @@ -84,7 +84,7 @@ script(type='text/ng-template', id='modals/questInvitation.html') strong=env.t('collect') + ': ' | {{::Content.quests[party.quest.key].collect[k].count}} {{::Content.quests[party.quest.key].collect[k].text()}} div(ng-bind-html='::Content.quests[party.quest.key].notes()') - quest-rewards(key='{{::party.quest.key}}') + quest-rewards(key='{{::party.quest.key}}', header=env.t('rewards')) .modal-footer button.btn.btn-default(ng-click='questHold = true; $close()')=env.t('askLater') button.btn.btn-default(ng-click='party.$questReject(); $close()')=env.t('reject') diff --git a/views/static/press-kit.jade b/views/static/press-kit.jade index f2e9dd7509..7439cff41c 100644 --- a/views/static/press-kit.jade +++ b/views/static/press-kit.jade @@ -17,6 +17,7 @@ block content h2= env.t('presskit') p= env.t('presskitText') p= env.t('presskitDownload') + |   a.btn.btn-success(href='/presskit/presskit.zip') presskit.zip - var imgs = ['habitrpg_pixel', 'HabitRPGdevices', 'Market Sample Screen', 'Challenges Sample Screen', 'Equipment Sample Screen', 'Guilds Sample Screen', 'HabitRPGPromoPostCard6', 'HabitRPGPromoThin', 'Laundromancer_by_Arcosine', 'promo mobile inventorySTILL1', 'promo mobile inventorySTILL2', 'PROMOdevices2', 'SnackLessMonster_by_Arcosine', 'stag_battle_by_leephon', 'stagnant_dishes_by_kiwibot', 'vice_reborn_by_baconsaur'] @@ -31,10 +32,10 @@ block content //.carousel-caption=img a.left.carousel-control(href='#carousel', role='button', data-slide='prev') span.glyphicon.glyphicon-chevron-left(aria-hidden='true') - span.sr-only= env.t('previous') + span.sr-only= env.t('previous') a.right.carousel-control(href='#carousel', role='button', data-slide='next') span.glyphicon.glyphicon-chevron-right(aria-hidden='true') - span.sr-only= env.t('next') + span.sr-only= env.t('next') ul.list-unstyled each img in imgs From f6aefa5cf47c20e1a7a39f29ec17470cfe281113 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Thu, 29 Jan 2015 15:33:31 -0800 Subject: [PATCH 54/62] fix spacing --- views/options/settings.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index b804808c16..de64f57c60 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -140,7 +140,7 @@ script(type='text/ng-template', id='partials/options.settings.coupon.html') .col-md-6 h2 {{env.t('coupon')}} form.form-inline(role='form',ng-submit='enterCoupon(_couponCode)') - input.form-control(type='text', ng-model='_couponCode', placeholder=env.t('couponPlaceholder')) + input.form-control(type='text', ng-model='_couponCode', placeholder=env.t('couponPlaceholder')) button.btn.btn-primary(type='submit') Submit div small {{env.t('couponText')}} From 1da26acc93085bc37197a7a5a38cf794b315fb83 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Sat, 31 Jan 2015 12:49:14 -0800 Subject: [PATCH 55/62] fix jade vs angular --- views/options/settings.jade | 6 +++--- views/shared/modals/quest-rewards.jade | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index de64f57c60..287f2e9a6d 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -138,12 +138,12 @@ script(type='text/ng-template', id='partials/options.settings.coupon.html') .container-fluid .row .col-md-6 - h2 {{env.t('coupon')}} + h2= env.t('coupon') form.form-inline(role='form',ng-submit='enterCoupon(_couponCode)') input.form-control(type='text', ng-model='_couponCode', placeholder=env.t('couponPlaceholder')) button.btn.btn-primary(type='submit') Submit div - small {{env.t('couponText')}} + small= env.t('couponText') div(ng-if='user.contributor.sudo') hr h4 Generate Codes @@ -247,7 +247,7 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template') .container-fluid(ng-init='_subscription={key:"basic_earned"}') .row .col-md-6 - h3 {{env.t('benefits')}} + h3= env.t('benefits') +subPerks() .col-md-6 diff --git a/views/shared/modals/quest-rewards.jade b/views/shared/modals/quest-rewards.jade index ebcab0830b..f5dc816501 100644 --- a/views/shared/modals/quest-rewards.jade +++ b/views/shared/modals/quest-rewards.jade @@ -1,6 +1,6 @@ script(id='partials/options.social.party.quest-rewards.html', type='text/ng-template') hr - h5= {{header}} + h5 {{header}} table.table.table-striped tr(ng-repeat='drop in quest.drop.items') td {{drop.text()}} From cbc4e1efead7779a1d7093eb217a64928022bb4f Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 1 Feb 2015 09:14:18 -0600 Subject: [PATCH 56/62] Adjusted subscription page to use correct formatting with one time bindings --- views/options/settings.jade | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 287f2e9a6d..b6208ffc88 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -274,9 +274,11 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template') label input(type="radio", name="subRadio", ng-value="block.key", ng-model='_subscription.key') span(ng-show='block.original') - | ${{ block.original }} {{env.t('subscriptionRateText', {price:block.price, months: block.months})}} + span.label.label-success.line-through + | ${{:: block.original }} + =env.t('subscriptionRateText', {price:'{{::block.price}}', months: '{{::block.months}}'}) span(ng-hide='block.original') - | {{env.t('subscriptionRateText', {price:block.price, months: block.months})}} + =env.t('subscriptionRateText', {price: '{{::block.price}}', months: '{{block.months}}'}) .form-inline .form-group From 70fdc73d8f78cf761a64e34f87786d2d3f1172e7 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 1 Feb 2015 17:10:53 -0600 Subject: [PATCH 57/62] Started working on gulp file. First version of karma and stylus complete --- gulpfile.js | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 52 +++++++++++++++++---------------------- 2 files changed, 91 insertions(+), 30 deletions(-) create mode 100644 gulpfile.js diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000000..3ac9025791 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,69 @@ +var gulp = require('gulp'), + _ = require('lodash'), + nodemon = require('gulp-nodemon'), + karma = require('karma').server, + stylus = require('gulp-stylus'), + nib = require('nib'), + minifycss = require('gulp-minify-css'), + rename = require('gulp-rename'), + uglify = require('gulp-uglify'), + concat = require('gulp-concat'), + pkg = require('./package'); + +var config = { + stylus: { + src: { + app: 'public/css/index.styl', + staticPage: 'public/css/static.styl' // static is a 'future' reserved word + }, + dest: './build/' + } +}; + +gulp.task('karma', function (done) { + karma.start({ + configFile: __dirname + '/karma.conf.js', + singleRun: true + }, done); +}); + +gulp.task('git_changelog', function() { + // @TODO: Finish this +}); + +gulp.task('clean', function() { + // @TODO: Finish this +}); + +gulp.task('stylus', function() { + gulp.src(config.stylus.src.app) + .pipe(stylus({use: [nib()]})) + .pipe(rename('app.css')) + .pipe(gulp.dest(config.stylus.dest)); + gulp.src(config.stylus.src.staticPage) + .pipe(stylus({use: [nib()]})) + .pipe(rename('static.css')) + .pipe(gulp.dest(config.stylus.dest)); +}); + +gulp.task('copy', function() { + // @TODO: Finish this +}); + +gulp.task('hashres', function() { + // @TODO: Finish this +}); + +gulp.task('watch', ['stylus'], function() { + // @TODO: Finish this +}); + +gulp.task('dev', ['watch'], function() { + // @TODO: Finish this + nodemon({ script: pkg.main }); +}); + +gulp.task('prod', function() { + // @TODO: Finish this +}); +gulp.task('default', ['dev']); diff --git a/package.json b/package.json index adb9383150..5695a42ede 100644 --- a/package.json +++ b/package.json @@ -15,19 +15,6 @@ "domain-middleware": "~0.1.0", "express": "~3.17.5", "express-csv": "~0.6.0", - "grunt": "~0.4.1", - "grunt-cli": "~0.1.9", - "grunt-concurrent": "~1.0.0", - "grunt-contrib-clean": "~0.6.0", - "grunt-contrib-copy": "~0.6.0", - "grunt-contrib-cssmin": "~0.10.0", - "grunt-browserify": "~1.3.1", - "grunt-contrib-clean": "~0.5.0", - "grunt-contrib-stylus": "~0.20.0", - "grunt-contrib-uglify": "~0.6.0", - "grunt-contrib-watch": "~0.6.1", - "grunt-hashres": "~0.4.1", - "grunt-nodemon": "~0.3.0", "icalendar": "git://github.com/lefnire/node-icalendar#master", "in-app-purchase": "^0.2.0", "jade": "~1.7.0", @@ -71,35 +58,40 @@ }, "scripts": { "test": "./test/run_tests.sh", - "start": "grunt run:dev", + "start": "gulp dev", "postinstall": "./node_modules/bower/bin/bower --config.interactive=false install -f", "coverage": "COVERAGE=true mocha --require register-handlers.js --reporter html-cov > coverage.html; open coverage.html" }, "devDependencies": { "coffee-coverage": "~0.4.2", - "protractor": "~0.14.0", - "grunt-karma": "~0.6.2", - "grunt-spritesmith": "~3.5.0", - "karma-script-launcher": "~0.1.0", + "csv": "~0.3.6", + "deep-diff": "~0.1.4", + "expect.js": "~0.2.0", + "git-changelog": "colegleason/git-changelog", + "gulp-concat": "^2.4.3", + "gulp-minify-css": "^0.4.2", + "gulp-nodemon": "^1.0.5", + "gulp-rename": "^1.2.0", + "gulp-stylus": "^2.0.0", + "gulp-uglify": "^1.1.0", + "karma": "~0.10.2", + "karma-chai-plugins": "~0.1.0", "karma-chrome-launcher": "~0.1.0", + "karma-coffee-preprocessor": "~0.1.0", "karma-firefox-launcher": "~0.1.0", "karma-html2js-preprocessor": "~0.1.0", - "karma-coffee-preprocessor": "~0.1.0", "karma-jasmine": "~0.1.3", - "karma-requirejs": "~0.2.0", - "karma-phantomjs-launcher": "~0.1.0", - "karma": "~0.10.2", - "karma-ng-html2js-preprocessor": "~0.1.0", - "karma-chai-plugins": "~0.1.0", - "mocha": "~1.12.1", "karma-mocha": "0.1.3", - "csv": "~0.3.6", + "karma-ng-html2js-preprocessor": "~0.1.0", + "karma-phantomjs-launcher": "~0.1.0", + "karma-requirejs": "~0.2.0", + "karma-script-launcher": "~0.1.0", + "mocha": "~1.12.1", "mongoskin": "~0.6.1", + "nib": "^1.0.4", "phantomjssmith": "~0.5.4", - "expect.js": "~0.2.0", + "protractor": "~0.14.0", "superagent": "~0.15.7", - "superagent-defaults": "~0.1.5", - "git-changelog": "colegleason/git-changelog", - "deep-diff": "~0.1.4" + "superagent-defaults": "~0.1.5" } } From 87d91b07be7117e1ff90b8b6b84029bca9bf2bb5 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 1 Feb 2015 17:25:08 -0600 Subject: [PATCH 58/62] Added clean task --- gulpfile.js | 5 +++-- package.json | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 3ac9025791..484b74f0d2 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,5 +1,6 @@ var gulp = require('gulp'), _ = require('lodash'), + rimraf = require('rimraf'), nodemon = require('gulp-nodemon'), karma = require('karma').server, stylus = require('gulp-stylus'), @@ -31,8 +32,8 @@ gulp.task('git_changelog', function() { // @TODO: Finish this }); -gulp.task('clean', function() { - // @TODO: Finish this +gulp.task('clean', function(cb) { + rimraf('./build', cb); }); gulp.task('stylus', function() { diff --git a/package.json b/package.json index 5695a42ede..e6f5e74c0c 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "nib": "^1.0.4", "phantomjssmith": "~0.5.4", "protractor": "~0.14.0", + "rimraf": "^2.2.8", "superagent": "~0.15.7", "superagent-defaults": "~0.1.5" } From e7b68c87ad85c1bd3401ccef94c8507633d72b29 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 1 Feb 2015 17:38:13 -0600 Subject: [PATCH 59/62] Wrote copy task, started sprite config --- gulpfile.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 484b74f0d2..38a78bf9c9 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -18,6 +18,15 @@ var config = { staticPage: 'public/css/static.styl' // static is a 'future' reserved word }, dest: './build/' + }, + sprite: { + + }, + copy: { + src: ['./common/img/sprites/backer-only/*.gif', + './common/img/sprites/npc_ian.gif', + './bower_components/bootstrap/dist/fonts/*'], + dest: './build/' } }; @@ -48,7 +57,8 @@ gulp.task('stylus', function() { }); gulp.task('copy', function() { - // @TODO: Finish this + gulp.src(config.copy.src) + .pipe(gulp.dest(config.copy.dest)); }); gulp.task('hashres', function() { @@ -64,7 +74,7 @@ gulp.task('dev', ['watch'], function() { nodemon({ script: pkg.main }); }); -gulp.task('prod', function() { +gulp.task('prod', ['clean', 'stylus', 'copy'], function() { // @TODO: Finish this }); gulp.task('default', ['dev']); From f5f19642499b58df9f8934eb3b0aca2387f7191d Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 1 Feb 2015 23:09:07 -0600 Subject: [PATCH 60/62] Started organizing common folder --- .bowerrc | 4 +- .gitignore | 6 +- {public => common/public}/500.html | 0 .../apple-touch-icon-114-precomposed.png | Bin .../apple-touch-icon-144-precomposed.png | Bin .../apple-touch-icon-57-precomposed.png | Bin .../apple-touch-icon-72-precomposed.png | Bin .../public}/apple-touch-icon-precomposed.png | Bin .../danielTheBard/Achievement_Unlocked.mp3 | Bin .../danielTheBard/Achievement_Unlocked.ogg | Bin .../public}/audio/danielTheBard/Chat.mp3 | Bin .../public}/audio/danielTheBard/Chat.ogg | Bin .../public}/audio/danielTheBard/Daily.mp3 | Bin .../public}/audio/danielTheBard/Daily.ogg | Bin .../public}/audio/danielTheBard/Death.mp3 | Bin .../public}/audio/danielTheBard/Death.ogg | Bin .../public}/audio/danielTheBard/Item_Drop.mp3 | Bin .../public}/audio/danielTheBard/Item_Drop.ogg | Bin .../public}/audio/danielTheBard/Level_Up.mp3 | Bin .../public}/audio/danielTheBard/Level_Up.ogg | Bin .../audio/danielTheBard/Minus_Habit.mp3 | Bin .../audio/danielTheBard/Minus_Habit.ogg | Bin .../audio/danielTheBard/Plus_Habit.mp3 | Bin .../audio/danielTheBard/Plus_Habit.ogg | Bin .../public}/audio/danielTheBard/Reward.mp3 | Bin .../public}/audio/danielTheBard/Reward.ogg | Bin .../public}/audio/danielTheBard/ToDo.mp3 | Bin .../public}/audio/danielTheBard/ToDo.ogg | Bin .../audio/wattsTheme/Achievement_Unlocked.mp3 | Bin .../audio/wattsTheme/Achievement_Unlocked.ogg | Bin .../public}/audio/wattsTheme/Chat.mp3 | 0 .../public}/audio/wattsTheme/Chat.ogg | 0 .../public}/audio/wattsTheme/Daily.mp3 | Bin .../public}/audio/wattsTheme/Daily.ogg | Bin .../public}/audio/wattsTheme/Death.mp3 | Bin .../public}/audio/wattsTheme/Death.ogg | Bin .../public}/audio/wattsTheme/Item_Drop.mp3 | Bin .../public}/audio/wattsTheme/Item_Drop.ogg | Bin .../public}/audio/wattsTheme/Level_Up.mp3 | Bin .../public}/audio/wattsTheme/Level_Up.ogg | Bin .../public}/audio/wattsTheme/Minus_Habit.mp3 | Bin .../public}/audio/wattsTheme/Minus_Habit.ogg | Bin .../public}/audio/wattsTheme/Plus_Habit.mp3 | Bin .../public}/audio/wattsTheme/Plus_Habit.ogg | Bin .../public}/audio/wattsTheme/Reward.mp3 | Bin .../public}/audio/wattsTheme/Reward.ogg | Bin .../public}/audio/wattsTheme/ToDo.mp3 | Bin .../public}/audio/wattsTheme/ToDo.ogg | Bin .../backCorner.png | Bin .../beingHabitican.png | Bin .../consequences.png | Bin .../contributing.png | Bin .../community-guidelines-images/github.gif | Bin .../infractions.png | Bin .../community-guidelines-images/intro.png | Bin .../moderators.png | Bin .../publicGuilds.png | Bin .../publicSpaces.png | Bin .../restoration.png | Bin .../community-guidelines-images/staff.png | Bin .../community-guidelines-images/tavern.png | Bin .../community-guidelines-images/trello.png | Bin .../community-guidelines-images/wiki.png | Bin {public => common/public}/css/README.md | 0 {public => common/public}/css/alerts.styl | 0 {public => common/public}/css/avatar.styl | 0 {public => common/public}/css/challenges.styl | 0 {public => common/public}/css/classes.styl | 0 {public => common/public}/css/customizer.styl | 0 {public => common/public}/css/filters.styl | 0 {public => common/public}/css/footer.styl | 0 {public => common/public}/css/game-pane.styl | 0 .../public}/css/global-colors.styl | 0 .../public}/css/global-modules.styl | 0 {public => common/public}/css/header.styl | 0 {public => common/public}/css/helpers.styl | 0 {public => common/public}/css/index.styl | 0 {public => common/public}/css/inventory.styl | 0 {public => common/public}/css/items.styl | 0 {public => common/public}/css/menu.styl | 0 {public => common/public}/css/npcs.styl | 0 {public => common/public}/css/options.styl | 0 {public => common/public}/css/quests.styl | 0 {public => common/public}/css/scrollbars.styl | 0 {public => common/public}/css/shared.styl | 0 {public => common/public}/css/static.styl | 0 {public => common/public}/css/tasks.styl | 0 .../emails/images/10-days-recapture-v1.png | Bin .../images/3-days-1-month-recapture-v1.png | Bin .../public}/emails/images/one-day-v1.png | Bin .../subscription-begins-time-travelers-v1.png | Bin .../emails/images/subscription-begins-v1.png | Bin {public => common/public}/favicon.ico | Bin .../public}/fontello/LICENSE.txt | 0 {public => common/public}/fontello/README.txt | 0 .../public}/fontello/css/animation.css | 0 .../public}/fontello/css/fontelico-codes.css | 0 .../fontello/css/fontelico-embedded.css | 0 .../fontello/css/fontelico-ie7-codes.css | 0 .../public}/fontello/css/fontelico-ie7.css | 0 .../public}/fontello/css/fontelico.css | 0 {public => common/public}/fontello/demo.html | 0 .../public}/fontello/font/fontelico.eot | Bin .../public}/fontello/font/fontelico.svg | 0 .../public}/fontello/font/fontelico.ttf | Bin .../public}/fontello/font/fontelico.woff | Bin .../public}/google280633b772b94345.html | 0 .../public}/google8ca65b6ff3506fb8.html | 0 .../public}/googlef3b1402b0e28338a.html | 0 common/public/habitrpg-shared.js | 16859 ++++++++++++++++ {public => common/public}/js/app.js | 0 .../{script => public/js/configs}/config.js | 0 .../public}/js/controllers/authCtrl.js | 0 .../public}/js/controllers/challengesCtrl.js | 0 .../public}/js/controllers/filtersCtrl.js | 0 .../public}/js/controllers/footerCtrl.js | 0 .../public}/js/controllers/groupsCtrl.js | 0 .../public}/js/controllers/hallCtrl.js | 0 .../public}/js/controllers/headerCtrl.js | 0 .../public}/js/controllers/inventoryCtrl.js | 0 .../js/controllers/notificationCtrl.js | 0 .../public}/js/controllers/rootCtrl.js | 0 .../public}/js/controllers/settingsCtrl.js | 0 .../public}/js/controllers/tasksCtrl.js | 0 .../public}/js/controllers/userCtrl.js | 0 .../js/directives/common-directives.js} | 0 .../public}/js/directives/directives.js | 0 {public => common/public}/js/env.js | 0 .../public}/js/filters/filters.js | 0 .../public}/js/services/challengeServices.js | 0 .../public}/js/services/groupServices.js | 0 .../public}/js/services/guideServices.js | 0 .../public}/js/services/memberServices.js | 0 .../js/services/notificationServices.js | 0 .../public}/js/services/paymentServices.js | 0 .../public}/js/services/sharedServices.js | 0 .../js/services}/userServices.js | 0 {public => common/public}/js/static.js | 0 .../public}/logo/HABITRPG logo version 1.psd | Bin .../public}/logo/HABITRPG-logo-version-1.gif | Bin {public => common/public}/logo/habitrpg.jpg | Bin .../public}/logo/habitrpg_bl.eps | 0 .../public}/logo/habitrpg_pixel.png | Bin {public => common/public}/manifest.json | 16 +- .../public}/marketing/android_iphone.png | Bin .../public}/marketing/animals.png | Bin .../public}/marketing/challenge.png | Bin .../public}/marketing/devices.png | Bin {public => common/public}/marketing/drops.png | Bin .../public}/marketing/education.png | Bin {public => common/public}/marketing/gear.png | Bin {public => common/public}/marketing/guild.png | Bin .../public}/marketing/guild_small.png | Bin .../public}/marketing/integration.png | Bin .../public}/marketing/lefnire.png | Bin .../marketing/promos/201403_Forest_Walker.png | Bin .../marketing/promos/April14SAMPLE2.png | Bin .../public}/marketing/screenshot.png | Bin .../public}/marketing/social_competitve.png | Bin .../public}/marketing/wellness.png | Bin {public => common/public}/page-loader.gif | Bin .../presskit/Challenges Sample Screen.png | Bin .../presskit/Equipment Sample Screen.png | Bin .../public}/presskit/Guilds Sample Screen.png | Bin .../presskit/HabitRPGPromoPostCard6.png | Bin .../public}/presskit/HabitRPGPromoThin.png | Bin .../public}/presskit/HabitRPGdevices.png | Bin .../presskit/Laundromancer_by_Arcosine.png | Bin .../public}/presskit/Market Sample Screen.png | Bin .../public}/presskit/PROMOdevices2.png | Bin .../presskit/SnackLessMonster_by_Arcosine.png | Bin .../public}/presskit/habitrpg_pixel.png | Bin .../public}/presskit/presskit.zip | Bin .../presskit/promo mobile inventorySTILL1.png | Bin .../presskit/promo mobile inventorySTILL2.png | Bin .../presskit/stag_battle_by_leephon.png | Bin .../presskit/stagnant_dishes_by_kiwibot.png | Bin .../presskit/vice_reborn_by_baconsaur.png | Bin {public => common/public}/refresh.png | Bin common/public/sprites/sprite.png | Bin 0 -> 54997 bytes gulpfile.js | 70 +- karma.conf.js | 48 +- package.json | 7 +- path/to/css/folder/sprite.css | 259 + src/middleware.js | 2 +- src/server.js | 2 +- 186 files changed, 17210 insertions(+), 63 deletions(-) rename {public => common/public}/500.html (100%) rename {public => common/public}/apple-touch-icon-114-precomposed.png (100%) rename {public => common/public}/apple-touch-icon-144-precomposed.png (100%) rename {public => common/public}/apple-touch-icon-57-precomposed.png (100%) rename {public => common/public}/apple-touch-icon-72-precomposed.png (100%) rename {public => common/public}/apple-touch-icon-precomposed.png (100%) rename {public => common/public}/audio/danielTheBard/Achievement_Unlocked.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Achievement_Unlocked.ogg (100%) rename {public => common/public}/audio/danielTheBard/Chat.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Chat.ogg (100%) rename {public => common/public}/audio/danielTheBard/Daily.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Daily.ogg (100%) rename {public => common/public}/audio/danielTheBard/Death.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Death.ogg (100%) rename {public => common/public}/audio/danielTheBard/Item_Drop.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Item_Drop.ogg (100%) rename {public => common/public}/audio/danielTheBard/Level_Up.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Level_Up.ogg (100%) rename {public => common/public}/audio/danielTheBard/Minus_Habit.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Minus_Habit.ogg (100%) rename {public => common/public}/audio/danielTheBard/Plus_Habit.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Plus_Habit.ogg (100%) rename {public => common/public}/audio/danielTheBard/Reward.mp3 (100%) rename {public => common/public}/audio/danielTheBard/Reward.ogg (100%) rename {public => common/public}/audio/danielTheBard/ToDo.mp3 (100%) rename {public => common/public}/audio/danielTheBard/ToDo.ogg (100%) rename {public => common/public}/audio/wattsTheme/Achievement_Unlocked.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Achievement_Unlocked.ogg (100%) rename {public => common/public}/audio/wattsTheme/Chat.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Chat.ogg (100%) rename {public => common/public}/audio/wattsTheme/Daily.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Daily.ogg (100%) rename {public => common/public}/audio/wattsTheme/Death.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Death.ogg (100%) rename {public => common/public}/audio/wattsTheme/Item_Drop.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Item_Drop.ogg (100%) rename {public => common/public}/audio/wattsTheme/Level_Up.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Level_Up.ogg (100%) rename {public => common/public}/audio/wattsTheme/Minus_Habit.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Minus_Habit.ogg (100%) rename {public => common/public}/audio/wattsTheme/Plus_Habit.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Plus_Habit.ogg (100%) rename {public => common/public}/audio/wattsTheme/Reward.mp3 (100%) rename {public => common/public}/audio/wattsTheme/Reward.ogg (100%) rename {public => common/public}/audio/wattsTheme/ToDo.mp3 (100%) rename {public => common/public}/audio/wattsTheme/ToDo.ogg (100%) rename {public => common/public}/community-guidelines-images/backCorner.png (100%) rename {public => common/public}/community-guidelines-images/beingHabitican.png (100%) rename {public => common/public}/community-guidelines-images/consequences.png (100%) rename {public => common/public}/community-guidelines-images/contributing.png (100%) rename {public => common/public}/community-guidelines-images/github.gif (100%) rename {public => common/public}/community-guidelines-images/infractions.png (100%) rename {public => common/public}/community-guidelines-images/intro.png (100%) rename {public => common/public}/community-guidelines-images/moderators.png (100%) rename {public => common/public}/community-guidelines-images/publicGuilds.png (100%) rename {public => common/public}/community-guidelines-images/publicSpaces.png (100%) rename {public => common/public}/community-guidelines-images/restoration.png (100%) rename {public => common/public}/community-guidelines-images/staff.png (100%) rename {public => common/public}/community-guidelines-images/tavern.png (100%) rename {public => common/public}/community-guidelines-images/trello.png (100%) rename {public => common/public}/community-guidelines-images/wiki.png (100%) rename {public => common/public}/css/README.md (100%) rename {public => common/public}/css/alerts.styl (100%) rename {public => common/public}/css/avatar.styl (100%) rename {public => common/public}/css/challenges.styl (100%) rename {public => common/public}/css/classes.styl (100%) rename {public => common/public}/css/customizer.styl (100%) rename {public => common/public}/css/filters.styl (100%) rename {public => common/public}/css/footer.styl (100%) rename {public => common/public}/css/game-pane.styl (100%) rename {public => common/public}/css/global-colors.styl (100%) rename {public => common/public}/css/global-modules.styl (100%) rename {public => common/public}/css/header.styl (100%) rename {public => common/public}/css/helpers.styl (100%) rename {public => common/public}/css/index.styl (100%) rename {public => common/public}/css/inventory.styl (100%) rename {public => common/public}/css/items.styl (100%) rename {public => common/public}/css/menu.styl (100%) rename {public => common/public}/css/npcs.styl (100%) rename {public => common/public}/css/options.styl (100%) rename {public => common/public}/css/quests.styl (100%) rename {public => common/public}/css/scrollbars.styl (100%) rename {public => common/public}/css/shared.styl (100%) rename {public => common/public}/css/static.styl (100%) rename {public => common/public}/css/tasks.styl (100%) rename {public => common/public}/emails/images/10-days-recapture-v1.png (100%) rename {public => common/public}/emails/images/3-days-1-month-recapture-v1.png (100%) rename {public => common/public}/emails/images/one-day-v1.png (100%) rename {public => common/public}/emails/images/subscription-begins-time-travelers-v1.png (100%) rename {public => common/public}/emails/images/subscription-begins-v1.png (100%) rename {public => common/public}/favicon.ico (100%) rename {public => common/public}/fontello/LICENSE.txt (100%) rename {public => common/public}/fontello/README.txt (100%) rename {public => common/public}/fontello/css/animation.css (100%) rename {public => common/public}/fontello/css/fontelico-codes.css (100%) rename {public => common/public}/fontello/css/fontelico-embedded.css (100%) rename {public => common/public}/fontello/css/fontelico-ie7-codes.css (100%) rename {public => common/public}/fontello/css/fontelico-ie7.css (100%) rename {public => common/public}/fontello/css/fontelico.css (100%) rename {public => common/public}/fontello/demo.html (100%) rename {public => common/public}/fontello/font/fontelico.eot (100%) rename {public => common/public}/fontello/font/fontelico.svg (100%) rename {public => common/public}/fontello/font/fontelico.ttf (100%) rename {public => common/public}/fontello/font/fontelico.woff (100%) rename {public => common/public}/google280633b772b94345.html (100%) rename {public => common/public}/google8ca65b6ff3506fb8.html (100%) rename {public => common/public}/googlef3b1402b0e28338a.html (100%) create mode 100644 common/public/habitrpg-shared.js rename {public => common/public}/js/app.js (100%) rename common/{script => public/js/configs}/config.js (100%) rename {public => common/public}/js/controllers/authCtrl.js (100%) rename {public => common/public}/js/controllers/challengesCtrl.js (100%) rename {public => common/public}/js/controllers/filtersCtrl.js (100%) rename {public => common/public}/js/controllers/footerCtrl.js (100%) rename {public => common/public}/js/controllers/groupsCtrl.js (100%) rename {public => common/public}/js/controllers/hallCtrl.js (100%) rename {public => common/public}/js/controllers/headerCtrl.js (100%) rename {public => common/public}/js/controllers/inventoryCtrl.js (100%) rename {public => common/public}/js/controllers/notificationCtrl.js (100%) rename {public => common/public}/js/controllers/rootCtrl.js (100%) rename {public => common/public}/js/controllers/settingsCtrl.js (100%) rename {public => common/public}/js/controllers/tasksCtrl.js (100%) rename {public => common/public}/js/controllers/userCtrl.js (100%) rename common/{script/directives.js => public/js/directives/common-directives.js} (100%) rename {public => common/public}/js/directives/directives.js (100%) rename {public => common/public}/js/env.js (100%) rename {public => common/public}/js/filters/filters.js (100%) rename {public => common/public}/js/services/challengeServices.js (100%) rename {public => common/public}/js/services/groupServices.js (100%) rename {public => common/public}/js/services/guideServices.js (100%) rename {public => common/public}/js/services/memberServices.js (100%) rename {public => common/public}/js/services/notificationServices.js (100%) rename {public => common/public}/js/services/paymentServices.js (100%) rename {public => common/public}/js/services/sharedServices.js (100%) rename common/{script => public/js/services}/userServices.js (100%) rename {public => common/public}/js/static.js (100%) rename {public => common/public}/logo/HABITRPG logo version 1.psd (100%) rename {public => common/public}/logo/HABITRPG-logo-version-1.gif (100%) rename {public => common/public}/logo/habitrpg.jpg (100%) rename {public => common/public}/logo/habitrpg_bl.eps (100%) rename {public => common/public}/logo/habitrpg_pixel.png (100%) rename {public => common/public}/manifest.json (88%) rename {public => common/public}/marketing/android_iphone.png (100%) rename {public => common/public}/marketing/animals.png (100%) rename {public => common/public}/marketing/challenge.png (100%) rename {public => common/public}/marketing/devices.png (100%) rename {public => common/public}/marketing/drops.png (100%) rename {public => common/public}/marketing/education.png (100%) rename {public => common/public}/marketing/gear.png (100%) rename {public => common/public}/marketing/guild.png (100%) rename {public => common/public}/marketing/guild_small.png (100%) rename {public => common/public}/marketing/integration.png (100%) rename {public => common/public}/marketing/lefnire.png (100%) rename {public => common/public}/marketing/promos/201403_Forest_Walker.png (100%) rename {public => common/public}/marketing/promos/April14SAMPLE2.png (100%) rename {public => common/public}/marketing/screenshot.png (100%) rename {public => common/public}/marketing/social_competitve.png (100%) rename {public => common/public}/marketing/wellness.png (100%) rename {public => common/public}/page-loader.gif (100%) rename {public => common/public}/presskit/Challenges Sample Screen.png (100%) rename {public => common/public}/presskit/Equipment Sample Screen.png (100%) rename {public => common/public}/presskit/Guilds Sample Screen.png (100%) rename {public => common/public}/presskit/HabitRPGPromoPostCard6.png (100%) rename {public => common/public}/presskit/HabitRPGPromoThin.png (100%) rename {public => common/public}/presskit/HabitRPGdevices.png (100%) rename {public => common/public}/presskit/Laundromancer_by_Arcosine.png (100%) rename {public => common/public}/presskit/Market Sample Screen.png (100%) rename {public => common/public}/presskit/PROMOdevices2.png (100%) rename {public => common/public}/presskit/SnackLessMonster_by_Arcosine.png (100%) rename {public => common/public}/presskit/habitrpg_pixel.png (100%) rename {public => common/public}/presskit/presskit.zip (100%) rename {public => common/public}/presskit/promo mobile inventorySTILL1.png (100%) rename {public => common/public}/presskit/promo mobile inventorySTILL2.png (100%) rename {public => common/public}/presskit/stag_battle_by_leephon.png (100%) rename {public => common/public}/presskit/stagnant_dishes_by_kiwibot.png (100%) rename {public => common/public}/presskit/vice_reborn_by_baconsaur.png (100%) rename {public => common/public}/refresh.png (100%) create mode 100644 common/public/sprites/sprite.png create mode 100644 path/to/css/folder/sprite.css diff --git a/.bowerrc b/.bowerrc index acce957b17..cb4b8dcce6 100644 --- a/.bowerrc +++ b/.bowerrc @@ -1,8 +1,8 @@ { - "directory": "public/bower_components", + "directory": "common/public/bower_components", "storage" : { "packages" : ".bower-cache", "registry" : ".bower-registry" }, "tmp" : ".bower-tmp" -} \ No newline at end of file +} diff --git a/.gitignore b/.gitignore index 495b0fc3e0..074779c9e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ .DS_Store -public/gen +common/public/gen node_modules *.swp .idea* config.json npm-debug.log lib -public/bower_components +common/public/bower_components build newrelic_agent.log .bower-tmp @@ -19,6 +19,6 @@ src/*/*.map src/*/*/*.map test/*.js test/*.map -public/docs +common/public/docs *.sublime-workspace coverage.html diff --git a/public/500.html b/common/public/500.html similarity index 100% rename from public/500.html rename to common/public/500.html diff --git a/public/apple-touch-icon-114-precomposed.png b/common/public/apple-touch-icon-114-precomposed.png similarity index 100% rename from public/apple-touch-icon-114-precomposed.png rename to common/public/apple-touch-icon-114-precomposed.png diff --git a/public/apple-touch-icon-144-precomposed.png b/common/public/apple-touch-icon-144-precomposed.png similarity index 100% rename from public/apple-touch-icon-144-precomposed.png rename to common/public/apple-touch-icon-144-precomposed.png diff --git a/public/apple-touch-icon-57-precomposed.png b/common/public/apple-touch-icon-57-precomposed.png similarity index 100% rename from public/apple-touch-icon-57-precomposed.png rename to common/public/apple-touch-icon-57-precomposed.png diff --git a/public/apple-touch-icon-72-precomposed.png b/common/public/apple-touch-icon-72-precomposed.png similarity index 100% rename from public/apple-touch-icon-72-precomposed.png rename to common/public/apple-touch-icon-72-precomposed.png diff --git a/public/apple-touch-icon-precomposed.png b/common/public/apple-touch-icon-precomposed.png similarity index 100% rename from public/apple-touch-icon-precomposed.png rename to common/public/apple-touch-icon-precomposed.png diff --git a/public/audio/danielTheBard/Achievement_Unlocked.mp3 b/common/public/audio/danielTheBard/Achievement_Unlocked.mp3 similarity index 100% rename from public/audio/danielTheBard/Achievement_Unlocked.mp3 rename to common/public/audio/danielTheBard/Achievement_Unlocked.mp3 diff --git a/public/audio/danielTheBard/Achievement_Unlocked.ogg b/common/public/audio/danielTheBard/Achievement_Unlocked.ogg similarity index 100% rename from public/audio/danielTheBard/Achievement_Unlocked.ogg rename to common/public/audio/danielTheBard/Achievement_Unlocked.ogg diff --git a/public/audio/danielTheBard/Chat.mp3 b/common/public/audio/danielTheBard/Chat.mp3 similarity index 100% rename from public/audio/danielTheBard/Chat.mp3 rename to common/public/audio/danielTheBard/Chat.mp3 diff --git a/public/audio/danielTheBard/Chat.ogg b/common/public/audio/danielTheBard/Chat.ogg similarity index 100% rename from public/audio/danielTheBard/Chat.ogg rename to common/public/audio/danielTheBard/Chat.ogg diff --git a/public/audio/danielTheBard/Daily.mp3 b/common/public/audio/danielTheBard/Daily.mp3 similarity index 100% rename from public/audio/danielTheBard/Daily.mp3 rename to common/public/audio/danielTheBard/Daily.mp3 diff --git a/public/audio/danielTheBard/Daily.ogg b/common/public/audio/danielTheBard/Daily.ogg similarity index 100% rename from public/audio/danielTheBard/Daily.ogg rename to common/public/audio/danielTheBard/Daily.ogg diff --git a/public/audio/danielTheBard/Death.mp3 b/common/public/audio/danielTheBard/Death.mp3 similarity index 100% rename from public/audio/danielTheBard/Death.mp3 rename to common/public/audio/danielTheBard/Death.mp3 diff --git a/public/audio/danielTheBard/Death.ogg b/common/public/audio/danielTheBard/Death.ogg similarity index 100% rename from public/audio/danielTheBard/Death.ogg rename to common/public/audio/danielTheBard/Death.ogg diff --git a/public/audio/danielTheBard/Item_Drop.mp3 b/common/public/audio/danielTheBard/Item_Drop.mp3 similarity index 100% rename from public/audio/danielTheBard/Item_Drop.mp3 rename to common/public/audio/danielTheBard/Item_Drop.mp3 diff --git a/public/audio/danielTheBard/Item_Drop.ogg b/common/public/audio/danielTheBard/Item_Drop.ogg similarity index 100% rename from public/audio/danielTheBard/Item_Drop.ogg rename to common/public/audio/danielTheBard/Item_Drop.ogg diff --git a/public/audio/danielTheBard/Level_Up.mp3 b/common/public/audio/danielTheBard/Level_Up.mp3 similarity index 100% rename from public/audio/danielTheBard/Level_Up.mp3 rename to common/public/audio/danielTheBard/Level_Up.mp3 diff --git a/public/audio/danielTheBard/Level_Up.ogg b/common/public/audio/danielTheBard/Level_Up.ogg similarity index 100% rename from public/audio/danielTheBard/Level_Up.ogg rename to common/public/audio/danielTheBard/Level_Up.ogg diff --git a/public/audio/danielTheBard/Minus_Habit.mp3 b/common/public/audio/danielTheBard/Minus_Habit.mp3 similarity index 100% rename from public/audio/danielTheBard/Minus_Habit.mp3 rename to common/public/audio/danielTheBard/Minus_Habit.mp3 diff --git a/public/audio/danielTheBard/Minus_Habit.ogg b/common/public/audio/danielTheBard/Minus_Habit.ogg similarity index 100% rename from public/audio/danielTheBard/Minus_Habit.ogg rename to common/public/audio/danielTheBard/Minus_Habit.ogg diff --git a/public/audio/danielTheBard/Plus_Habit.mp3 b/common/public/audio/danielTheBard/Plus_Habit.mp3 similarity index 100% rename from public/audio/danielTheBard/Plus_Habit.mp3 rename to common/public/audio/danielTheBard/Plus_Habit.mp3 diff --git a/public/audio/danielTheBard/Plus_Habit.ogg b/common/public/audio/danielTheBard/Plus_Habit.ogg similarity index 100% rename from public/audio/danielTheBard/Plus_Habit.ogg rename to common/public/audio/danielTheBard/Plus_Habit.ogg diff --git a/public/audio/danielTheBard/Reward.mp3 b/common/public/audio/danielTheBard/Reward.mp3 similarity index 100% rename from public/audio/danielTheBard/Reward.mp3 rename to common/public/audio/danielTheBard/Reward.mp3 diff --git a/public/audio/danielTheBard/Reward.ogg b/common/public/audio/danielTheBard/Reward.ogg similarity index 100% rename from public/audio/danielTheBard/Reward.ogg rename to common/public/audio/danielTheBard/Reward.ogg diff --git a/public/audio/danielTheBard/ToDo.mp3 b/common/public/audio/danielTheBard/ToDo.mp3 similarity index 100% rename from public/audio/danielTheBard/ToDo.mp3 rename to common/public/audio/danielTheBard/ToDo.mp3 diff --git a/public/audio/danielTheBard/ToDo.ogg b/common/public/audio/danielTheBard/ToDo.ogg similarity index 100% rename from public/audio/danielTheBard/ToDo.ogg rename to common/public/audio/danielTheBard/ToDo.ogg diff --git a/public/audio/wattsTheme/Achievement_Unlocked.mp3 b/common/public/audio/wattsTheme/Achievement_Unlocked.mp3 similarity index 100% rename from public/audio/wattsTheme/Achievement_Unlocked.mp3 rename to common/public/audio/wattsTheme/Achievement_Unlocked.mp3 diff --git a/public/audio/wattsTheme/Achievement_Unlocked.ogg b/common/public/audio/wattsTheme/Achievement_Unlocked.ogg similarity index 100% rename from public/audio/wattsTheme/Achievement_Unlocked.ogg rename to common/public/audio/wattsTheme/Achievement_Unlocked.ogg diff --git a/public/audio/wattsTheme/Chat.mp3 b/common/public/audio/wattsTheme/Chat.mp3 similarity index 100% rename from public/audio/wattsTheme/Chat.mp3 rename to common/public/audio/wattsTheme/Chat.mp3 diff --git a/public/audio/wattsTheme/Chat.ogg b/common/public/audio/wattsTheme/Chat.ogg similarity index 100% rename from public/audio/wattsTheme/Chat.ogg rename to common/public/audio/wattsTheme/Chat.ogg diff --git a/public/audio/wattsTheme/Daily.mp3 b/common/public/audio/wattsTheme/Daily.mp3 similarity index 100% rename from public/audio/wattsTheme/Daily.mp3 rename to common/public/audio/wattsTheme/Daily.mp3 diff --git a/public/audio/wattsTheme/Daily.ogg b/common/public/audio/wattsTheme/Daily.ogg similarity index 100% rename from public/audio/wattsTheme/Daily.ogg rename to common/public/audio/wattsTheme/Daily.ogg diff --git a/public/audio/wattsTheme/Death.mp3 b/common/public/audio/wattsTheme/Death.mp3 similarity index 100% rename from public/audio/wattsTheme/Death.mp3 rename to common/public/audio/wattsTheme/Death.mp3 diff --git a/public/audio/wattsTheme/Death.ogg b/common/public/audio/wattsTheme/Death.ogg similarity index 100% rename from public/audio/wattsTheme/Death.ogg rename to common/public/audio/wattsTheme/Death.ogg diff --git a/public/audio/wattsTheme/Item_Drop.mp3 b/common/public/audio/wattsTheme/Item_Drop.mp3 similarity index 100% rename from public/audio/wattsTheme/Item_Drop.mp3 rename to common/public/audio/wattsTheme/Item_Drop.mp3 diff --git a/public/audio/wattsTheme/Item_Drop.ogg b/common/public/audio/wattsTheme/Item_Drop.ogg similarity index 100% rename from public/audio/wattsTheme/Item_Drop.ogg rename to common/public/audio/wattsTheme/Item_Drop.ogg diff --git a/public/audio/wattsTheme/Level_Up.mp3 b/common/public/audio/wattsTheme/Level_Up.mp3 similarity index 100% rename from public/audio/wattsTheme/Level_Up.mp3 rename to common/public/audio/wattsTheme/Level_Up.mp3 diff --git a/public/audio/wattsTheme/Level_Up.ogg b/common/public/audio/wattsTheme/Level_Up.ogg similarity index 100% rename from public/audio/wattsTheme/Level_Up.ogg rename to common/public/audio/wattsTheme/Level_Up.ogg diff --git a/public/audio/wattsTheme/Minus_Habit.mp3 b/common/public/audio/wattsTheme/Minus_Habit.mp3 similarity index 100% rename from public/audio/wattsTheme/Minus_Habit.mp3 rename to common/public/audio/wattsTheme/Minus_Habit.mp3 diff --git a/public/audio/wattsTheme/Minus_Habit.ogg b/common/public/audio/wattsTheme/Minus_Habit.ogg similarity index 100% rename from public/audio/wattsTheme/Minus_Habit.ogg rename to common/public/audio/wattsTheme/Minus_Habit.ogg diff --git a/public/audio/wattsTheme/Plus_Habit.mp3 b/common/public/audio/wattsTheme/Plus_Habit.mp3 similarity index 100% rename from public/audio/wattsTheme/Plus_Habit.mp3 rename to common/public/audio/wattsTheme/Plus_Habit.mp3 diff --git a/public/audio/wattsTheme/Plus_Habit.ogg b/common/public/audio/wattsTheme/Plus_Habit.ogg similarity index 100% rename from public/audio/wattsTheme/Plus_Habit.ogg rename to common/public/audio/wattsTheme/Plus_Habit.ogg diff --git a/public/audio/wattsTheme/Reward.mp3 b/common/public/audio/wattsTheme/Reward.mp3 similarity index 100% rename from public/audio/wattsTheme/Reward.mp3 rename to common/public/audio/wattsTheme/Reward.mp3 diff --git a/public/audio/wattsTheme/Reward.ogg b/common/public/audio/wattsTheme/Reward.ogg similarity index 100% rename from public/audio/wattsTheme/Reward.ogg rename to common/public/audio/wattsTheme/Reward.ogg diff --git a/public/audio/wattsTheme/ToDo.mp3 b/common/public/audio/wattsTheme/ToDo.mp3 similarity index 100% rename from public/audio/wattsTheme/ToDo.mp3 rename to common/public/audio/wattsTheme/ToDo.mp3 diff --git a/public/audio/wattsTheme/ToDo.ogg b/common/public/audio/wattsTheme/ToDo.ogg similarity index 100% rename from public/audio/wattsTheme/ToDo.ogg rename to common/public/audio/wattsTheme/ToDo.ogg diff --git a/public/community-guidelines-images/backCorner.png b/common/public/community-guidelines-images/backCorner.png similarity index 100% rename from public/community-guidelines-images/backCorner.png rename to common/public/community-guidelines-images/backCorner.png diff --git a/public/community-guidelines-images/beingHabitican.png b/common/public/community-guidelines-images/beingHabitican.png similarity index 100% rename from public/community-guidelines-images/beingHabitican.png rename to common/public/community-guidelines-images/beingHabitican.png diff --git a/public/community-guidelines-images/consequences.png b/common/public/community-guidelines-images/consequences.png similarity index 100% rename from public/community-guidelines-images/consequences.png rename to common/public/community-guidelines-images/consequences.png diff --git a/public/community-guidelines-images/contributing.png b/common/public/community-guidelines-images/contributing.png similarity index 100% rename from public/community-guidelines-images/contributing.png rename to common/public/community-guidelines-images/contributing.png diff --git a/public/community-guidelines-images/github.gif b/common/public/community-guidelines-images/github.gif similarity index 100% rename from public/community-guidelines-images/github.gif rename to common/public/community-guidelines-images/github.gif diff --git a/public/community-guidelines-images/infractions.png b/common/public/community-guidelines-images/infractions.png similarity index 100% rename from public/community-guidelines-images/infractions.png rename to common/public/community-guidelines-images/infractions.png diff --git a/public/community-guidelines-images/intro.png b/common/public/community-guidelines-images/intro.png similarity index 100% rename from public/community-guidelines-images/intro.png rename to common/public/community-guidelines-images/intro.png diff --git a/public/community-guidelines-images/moderators.png b/common/public/community-guidelines-images/moderators.png similarity index 100% rename from public/community-guidelines-images/moderators.png rename to common/public/community-guidelines-images/moderators.png diff --git a/public/community-guidelines-images/publicGuilds.png b/common/public/community-guidelines-images/publicGuilds.png similarity index 100% rename from public/community-guidelines-images/publicGuilds.png rename to common/public/community-guidelines-images/publicGuilds.png diff --git a/public/community-guidelines-images/publicSpaces.png b/common/public/community-guidelines-images/publicSpaces.png similarity index 100% rename from public/community-guidelines-images/publicSpaces.png rename to common/public/community-guidelines-images/publicSpaces.png diff --git a/public/community-guidelines-images/restoration.png b/common/public/community-guidelines-images/restoration.png similarity index 100% rename from public/community-guidelines-images/restoration.png rename to common/public/community-guidelines-images/restoration.png diff --git a/public/community-guidelines-images/staff.png b/common/public/community-guidelines-images/staff.png similarity index 100% rename from public/community-guidelines-images/staff.png rename to common/public/community-guidelines-images/staff.png diff --git a/public/community-guidelines-images/tavern.png b/common/public/community-guidelines-images/tavern.png similarity index 100% rename from public/community-guidelines-images/tavern.png rename to common/public/community-guidelines-images/tavern.png diff --git a/public/community-guidelines-images/trello.png b/common/public/community-guidelines-images/trello.png similarity index 100% rename from public/community-guidelines-images/trello.png rename to common/public/community-guidelines-images/trello.png diff --git a/public/community-guidelines-images/wiki.png b/common/public/community-guidelines-images/wiki.png similarity index 100% rename from public/community-guidelines-images/wiki.png rename to common/public/community-guidelines-images/wiki.png diff --git a/public/css/README.md b/common/public/css/README.md similarity index 100% rename from public/css/README.md rename to common/public/css/README.md diff --git a/public/css/alerts.styl b/common/public/css/alerts.styl similarity index 100% rename from public/css/alerts.styl rename to common/public/css/alerts.styl diff --git a/public/css/avatar.styl b/common/public/css/avatar.styl similarity index 100% rename from public/css/avatar.styl rename to common/public/css/avatar.styl diff --git a/public/css/challenges.styl b/common/public/css/challenges.styl similarity index 100% rename from public/css/challenges.styl rename to common/public/css/challenges.styl diff --git a/public/css/classes.styl b/common/public/css/classes.styl similarity index 100% rename from public/css/classes.styl rename to common/public/css/classes.styl diff --git a/public/css/customizer.styl b/common/public/css/customizer.styl similarity index 100% rename from public/css/customizer.styl rename to common/public/css/customizer.styl diff --git a/public/css/filters.styl b/common/public/css/filters.styl similarity index 100% rename from public/css/filters.styl rename to common/public/css/filters.styl diff --git a/public/css/footer.styl b/common/public/css/footer.styl similarity index 100% rename from public/css/footer.styl rename to common/public/css/footer.styl diff --git a/public/css/game-pane.styl b/common/public/css/game-pane.styl similarity index 100% rename from public/css/game-pane.styl rename to common/public/css/game-pane.styl diff --git a/public/css/global-colors.styl b/common/public/css/global-colors.styl similarity index 100% rename from public/css/global-colors.styl rename to common/public/css/global-colors.styl diff --git a/public/css/global-modules.styl b/common/public/css/global-modules.styl similarity index 100% rename from public/css/global-modules.styl rename to common/public/css/global-modules.styl diff --git a/public/css/header.styl b/common/public/css/header.styl similarity index 100% rename from public/css/header.styl rename to common/public/css/header.styl diff --git a/public/css/helpers.styl b/common/public/css/helpers.styl similarity index 100% rename from public/css/helpers.styl rename to common/public/css/helpers.styl diff --git a/public/css/index.styl b/common/public/css/index.styl similarity index 100% rename from public/css/index.styl rename to common/public/css/index.styl diff --git a/public/css/inventory.styl b/common/public/css/inventory.styl similarity index 100% rename from public/css/inventory.styl rename to common/public/css/inventory.styl diff --git a/public/css/items.styl b/common/public/css/items.styl similarity index 100% rename from public/css/items.styl rename to common/public/css/items.styl diff --git a/public/css/menu.styl b/common/public/css/menu.styl similarity index 100% rename from public/css/menu.styl rename to common/public/css/menu.styl diff --git a/public/css/npcs.styl b/common/public/css/npcs.styl similarity index 100% rename from public/css/npcs.styl rename to common/public/css/npcs.styl diff --git a/public/css/options.styl b/common/public/css/options.styl similarity index 100% rename from public/css/options.styl rename to common/public/css/options.styl diff --git a/public/css/quests.styl b/common/public/css/quests.styl similarity index 100% rename from public/css/quests.styl rename to common/public/css/quests.styl diff --git a/public/css/scrollbars.styl b/common/public/css/scrollbars.styl similarity index 100% rename from public/css/scrollbars.styl rename to common/public/css/scrollbars.styl diff --git a/public/css/shared.styl b/common/public/css/shared.styl similarity index 100% rename from public/css/shared.styl rename to common/public/css/shared.styl diff --git a/public/css/static.styl b/common/public/css/static.styl similarity index 100% rename from public/css/static.styl rename to common/public/css/static.styl diff --git a/public/css/tasks.styl b/common/public/css/tasks.styl similarity index 100% rename from public/css/tasks.styl rename to common/public/css/tasks.styl diff --git a/public/emails/images/10-days-recapture-v1.png b/common/public/emails/images/10-days-recapture-v1.png similarity index 100% rename from public/emails/images/10-days-recapture-v1.png rename to common/public/emails/images/10-days-recapture-v1.png diff --git a/public/emails/images/3-days-1-month-recapture-v1.png b/common/public/emails/images/3-days-1-month-recapture-v1.png similarity index 100% rename from public/emails/images/3-days-1-month-recapture-v1.png rename to common/public/emails/images/3-days-1-month-recapture-v1.png diff --git a/public/emails/images/one-day-v1.png b/common/public/emails/images/one-day-v1.png similarity index 100% rename from public/emails/images/one-day-v1.png rename to common/public/emails/images/one-day-v1.png diff --git a/public/emails/images/subscription-begins-time-travelers-v1.png b/common/public/emails/images/subscription-begins-time-travelers-v1.png similarity index 100% rename from public/emails/images/subscription-begins-time-travelers-v1.png rename to common/public/emails/images/subscription-begins-time-travelers-v1.png diff --git a/public/emails/images/subscription-begins-v1.png b/common/public/emails/images/subscription-begins-v1.png similarity index 100% rename from public/emails/images/subscription-begins-v1.png rename to common/public/emails/images/subscription-begins-v1.png diff --git a/public/favicon.ico b/common/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to common/public/favicon.ico diff --git a/public/fontello/LICENSE.txt b/common/public/fontello/LICENSE.txt similarity index 100% rename from public/fontello/LICENSE.txt rename to common/public/fontello/LICENSE.txt diff --git a/public/fontello/README.txt b/common/public/fontello/README.txt similarity index 100% rename from public/fontello/README.txt rename to common/public/fontello/README.txt diff --git a/public/fontello/css/animation.css b/common/public/fontello/css/animation.css similarity index 100% rename from public/fontello/css/animation.css rename to common/public/fontello/css/animation.css diff --git a/public/fontello/css/fontelico-codes.css b/common/public/fontello/css/fontelico-codes.css similarity index 100% rename from public/fontello/css/fontelico-codes.css rename to common/public/fontello/css/fontelico-codes.css diff --git a/public/fontello/css/fontelico-embedded.css b/common/public/fontello/css/fontelico-embedded.css similarity index 100% rename from public/fontello/css/fontelico-embedded.css rename to common/public/fontello/css/fontelico-embedded.css diff --git a/public/fontello/css/fontelico-ie7-codes.css b/common/public/fontello/css/fontelico-ie7-codes.css similarity index 100% rename from public/fontello/css/fontelico-ie7-codes.css rename to common/public/fontello/css/fontelico-ie7-codes.css diff --git a/public/fontello/css/fontelico-ie7.css b/common/public/fontello/css/fontelico-ie7.css similarity index 100% rename from public/fontello/css/fontelico-ie7.css rename to common/public/fontello/css/fontelico-ie7.css diff --git a/public/fontello/css/fontelico.css b/common/public/fontello/css/fontelico.css similarity index 100% rename from public/fontello/css/fontelico.css rename to common/public/fontello/css/fontelico.css diff --git a/public/fontello/demo.html b/common/public/fontello/demo.html similarity index 100% rename from public/fontello/demo.html rename to common/public/fontello/demo.html diff --git a/public/fontello/font/fontelico.eot b/common/public/fontello/font/fontelico.eot similarity index 100% rename from public/fontello/font/fontelico.eot rename to common/public/fontello/font/fontelico.eot diff --git a/public/fontello/font/fontelico.svg b/common/public/fontello/font/fontelico.svg similarity index 100% rename from public/fontello/font/fontelico.svg rename to common/public/fontello/font/fontelico.svg diff --git a/public/fontello/font/fontelico.ttf b/common/public/fontello/font/fontelico.ttf similarity index 100% rename from public/fontello/font/fontelico.ttf rename to common/public/fontello/font/fontelico.ttf diff --git a/public/fontello/font/fontelico.woff b/common/public/fontello/font/fontelico.woff similarity index 100% rename from public/fontello/font/fontelico.woff rename to common/public/fontello/font/fontelico.woff diff --git a/public/google280633b772b94345.html b/common/public/google280633b772b94345.html similarity index 100% rename from public/google280633b772b94345.html rename to common/public/google280633b772b94345.html diff --git a/public/google8ca65b6ff3506fb8.html b/common/public/google8ca65b6ff3506fb8.html similarity index 100% rename from public/google8ca65b6ff3506fb8.html rename to common/public/google8ca65b6ff3506fb8.html diff --git a/public/googlef3b1402b0e28338a.html b/common/public/googlef3b1402b0e28338a.html similarity index 100% rename from public/googlef3b1402b0e28338a.html rename to common/public/googlef3b1402b0e28338a.html diff --git a/common/public/habitrpg-shared.js b/common/public/habitrpg-shared.js new file mode 100644 index 0000000000..33bdec62d0 --- /dev/null +++ b/common/public/habitrpg-shared.js @@ -0,0 +1,16859 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= 70; + }) + }, + 1: { + text: t('weaponSpecial1Text'), + notes: t('weaponSpecial1Notes', { + attrs: 6 + }), + str: 6, + per: 6, + con: 6, + int: 6, + value: 170, + canOwn: (function(u) { + var _ref; + return +((_ref = u.contributor) != null ? _ref.level : void 0) >= 4; + }) + }, + 2: { + text: t('weaponSpecial2Text'), + notes: t('weaponSpecial2Notes', { + attrs: 25 + }), + str: 25, + per: 25, + value: 200, + canOwn: (function(u) { + var _ref; + return (+((_ref = u.backer) != null ? _ref.tier : void 0) >= 300) || (u.items.gear.owned.weapon_special_2 != null); + }) + }, + 3: { + text: t('weaponSpecial3Text'), + notes: t('weaponSpecial3Notes', { + attrs: 17 + }), + str: 17, + int: 17, + con: 17, + value: 200, + canOwn: (function(u) { + var _ref; + return (+((_ref = u.backer) != null ? _ref.tier : void 0) >= 300) || (u.items.gear.owned.weapon_special_3 != null); + }) + }, + critical: { + text: t('weaponSpecialCriticalText'), + notes: t('weaponSpecialCriticalNotes', { + attrs: 40 + }), + str: 40, + per: 40, + value: 200, + canOwn: (function(u) { + var _ref; + return !!((_ref = u.contributor) != null ? _ref.critical : void 0); + }) + }, + yeti: { + event: events.winter, + specialClass: 'warrior', + text: t('weaponSpecialYetiText'), + notes: t('weaponSpecialYetiNotes', { + str: 15 + }), + str: 15, + value: 90 + }, + ski: { + event: events.winter, + specialClass: 'rogue', + text: t('weaponSpecialSkiText'), + notes: t('weaponSpecialSkiNotes', { + str: 8 + }), + str: 8, + value: 90 + }, + candycane: { + event: events.winter, + specialClass: 'wizard', + twoHanded: true, + text: t('weaponSpecialCandycaneText'), + notes: t('weaponSpecialCandycaneNotes', { + int: 15, + per: 7 + }), + int: 15, + per: 7, + value: 160 + }, + snowflake: { + event: events.winter, + specialClass: 'healer', + text: t('weaponSpecialSnowflakeText'), + notes: t('weaponSpecialSnowflakeNotes', { + int: 9 + }), + int: 9, + value: 90 + }, + springRogue: { + event: events.spring, + specialClass: 'rogue', + text: t('weaponSpecialSpringRogueText'), + notes: t('weaponSpecialSpringRogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + springWarrior: { + event: events.spring, + specialClass: 'warrior', + text: t('weaponSpecialSpringWarriorText'), + notes: t('weaponSpecialSpringWarriorNotes', { + str: 15 + }), + value: 90, + str: 15 + }, + springMage: { + event: events.spring, + specialClass: 'wizard', + twoHanded: true, + text: t('weaponSpecialSpringMageText'), + notes: t('weaponSpecialSpringMageNotes', { + int: 15, + per: 7 + }), + value: 160, + int: 15, + per: 7 + }, + springHealer: { + event: events.spring, + specialClass: 'healer', + text: t('weaponSpecialSpringHealerText'), + notes: t('weaponSpecialSpringHealerNotes', { + int: 9 + }), + value: 90, + int: 9 + }, + summerRogue: { + event: events.summer, + specialClass: 'rogue', + text: t('weaponSpecialSummerRogueText'), + notes: t('weaponSpecialSummerRogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + summerWarrior: { + event: events.summer, + specialClass: 'warrior', + text: t('weaponSpecialSummerWarriorText'), + notes: t('weaponSpecialSummerWarriorNotes', { + str: 15 + }), + value: 90, + str: 15 + }, + summerMage: { + event: events.summer, + specialClass: 'wizard', + twoHanded: true, + text: t('weaponSpecialSummerMageText'), + notes: t('weaponSpecialSummerMageNotes', { + int: 15, + per: 7 + }), + value: 160, + int: 15, + per: 7 + }, + summerHealer: { + event: events.summer, + specialClass: 'healer', + text: t('weaponSpecialSummerHealerText'), + notes: t('weaponSpecialSummerHealerNotes', { + int: 9 + }), + value: 90, + int: 9 + }, + fallRogue: { + event: events.fall, + specialClass: 'rogue', + text: t('weaponSpecialFallRogueText'), + notes: t('weaponSpecialFallRogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + fallWarrior: { + event: events.fall, + specialClass: 'warrior', + text: t('weaponSpecialFallWarriorText'), + notes: t('weaponSpecialFallWarriorNotes', { + str: 15 + }), + value: 90, + str: 15 + }, + fallMage: { + event: events.fall, + specialClass: 'wizard', + twoHanded: true, + text: t('weaponSpecialFallMageText'), + notes: t('weaponSpecialFallMageNotes', { + int: 15, + per: 7 + }), + value: 160, + int: 15, + per: 7 + }, + fallHealer: { + event: events.fall, + specialClass: 'healer', + text: t('weaponSpecialFallHealerText'), + notes: t('weaponSpecialFallHealerNotes', { + int: 9 + }), + value: 90, + int: 9 + }, + winter2015Rogue: { + event: events.winter2015, + specialClass: 'rogue', + text: t('weaponSpecialWinter2015RogueText'), + notes: t('weaponSpecialWinter2015RogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + winter2015Warrior: { + event: events.winter2015, + specialClass: 'warrior', + text: t('weaponSpecialWinter2015WarriorText'), + notes: t('weaponSpecialWinter2015WarriorNotes', { + str: 15 + }), + value: 90, + str: 15 + }, + winter2015Mage: { + event: events.winter2015, + specialClass: 'wizard', + twoHanded: true, + text: t('weaponSpecialWinter2015MageText'), + notes: t('weaponSpecialWinter2015MageNotes', { + int: 15, + per: 7 + }), + value: 160, + int: 15, + per: 7 + }, + winter2015Healer: { + event: events.winter2015, + specialClass: 'healer', + text: t('weaponSpecialWinter2015HealerText'), + notes: t('weaponSpecialWinter2015HealerNotes', { + int: 9 + }), + value: 90, + int: 9 + } + }, + mystery: { + 201411: { + text: t('weaponMystery201411Text'), + notes: t('weaponMystery201411Notes'), + mystery: '201411', + value: 0 + }, + 301404: { + text: t('weaponMystery301404Text'), + notes: t('weaponMystery301404Notes'), + mystery: '301404', + value: 0 + } + } + }, + armor: { + base: { + 0: { + text: t('armorBase0Text'), + notes: t('armorBase0Notes'), + value: 0 + } + }, + warrior: { + 1: { + text: t('armorWarrior1Text'), + notes: t('armorWarrior1Notes', { + con: 3 + }), + con: 3, + value: 30 + }, + 2: { + text: t('armorWarrior2Text'), + notes: t('armorWarrior2Notes', { + con: 5 + }), + con: 5, + value: 45 + }, + 3: { + text: t('armorWarrior3Text'), + notes: t('armorWarrior3Notes', { + con: 7 + }), + con: 7, + value: 65 + }, + 4: { + text: t('armorWarrior4Text'), + notes: t('armorWarrior4Notes', { + con: 9 + }), + con: 9, + value: 90 + }, + 5: { + text: t('armorWarrior5Text'), + notes: t('armorWarrior5Notes', { + con: 11 + }), + con: 11, + value: 120, + last: true + } + }, + rogue: { + 1: { + text: t('armorRogue1Text'), + notes: t('armorRogue1Notes', { + per: 6 + }), + per: 6, + value: 30 + }, + 2: { + text: t('armorRogue2Text'), + notes: t('armorRogue2Notes', { + per: 9 + }), + per: 9, + value: 45 + }, + 3: { + text: t('armorRogue3Text'), + notes: t('armorRogue3Notes', { + per: 12 + }), + per: 12, + value: 65 + }, + 4: { + text: t('armorRogue4Text'), + notes: t('armorRogue4Notes', { + per: 15 + }), + per: 15, + value: 90 + }, + 5: { + text: t('armorRogue5Text'), + notes: t('armorRogue5Notes', { + per: 18 + }), + per: 18, + value: 120, + last: true + } + }, + wizard: { + 1: { + text: t('armorWizard1Text'), + notes: t('armorWizard1Notes', { + int: 2 + }), + int: 2, + value: 30 + }, + 2: { + text: t('armorWizard2Text'), + notes: t('armorWizard2Notes', { + int: 4 + }), + int: 4, + value: 45 + }, + 3: { + text: t('armorWizard3Text'), + notes: t('armorWizard3Notes', { + int: 6 + }), + int: 6, + value: 65 + }, + 4: { + text: t('armorWizard4Text'), + notes: t('armorWizard4Notes', { + int: 9 + }), + int: 9, + value: 90 + }, + 5: { + text: t('armorWizard5Text'), + notes: t('armorWizard5Notes', { + int: 12 + }), + int: 12, + value: 120, + last: true + } + }, + healer: { + 1: { + text: t('armorHealer1Text'), + notes: t('armorHealer1Notes', { + con: 6 + }), + con: 6, + value: 30 + }, + 2: { + text: t('armorHealer2Text'), + notes: t('armorHealer2Notes', { + con: 9 + }), + con: 9, + value: 45 + }, + 3: { + text: t('armorHealer3Text'), + notes: t('armorHealer3Notes', { + con: 12 + }), + con: 12, + value: 65 + }, + 4: { + text: t('armorHealer4Text'), + notes: t('armorHealer4Notes', { + con: 15 + }), + con: 15, + value: 90 + }, + 5: { + text: t('armorHealer5Text'), + notes: t('armorHealer5Notes', { + con: 18 + }), + con: 18, + value: 120, + last: true + } + }, + special: { + 0: { + text: t('armorSpecial0Text'), + notes: t('armorSpecial0Notes', { + con: 20 + }), + con: 20, + value: 150, + canOwn: (function(u) { + var _ref; + return +((_ref = u.backer) != null ? _ref.tier : void 0) >= 45; + }) + }, + 1: { + text: t('armorSpecial1Text'), + notes: t('armorSpecial1Notes', { + attrs: 6 + }), + con: 6, + str: 6, + per: 6, + int: 6, + value: 170, + canOwn: (function(u) { + var _ref; + return +((_ref = u.contributor) != null ? _ref.level : void 0) >= 2; + }) + }, + 2: { + text: t('armorSpecial2Text'), + notes: t('armorSpecial2Notes', { + attrs: 25 + }), + int: 25, + con: 25, + value: 200, + canOwn: (function(u) { + var _ref; + return +((_ref = u.backer) != null ? _ref.tier : void 0) >= 300 || (u.items.gear.owned.armor_special_2 != null); + }) + }, + yeti: { + event: events.winter, + specialClass: 'warrior', + text: t('armorSpecialYetiText'), + notes: t('armorSpecialYetiNotes', { + con: 9 + }), + con: 9, + value: 90 + }, + ski: { + event: events.winter, + specialClass: 'rogue', + text: t('armorSpecialSkiText'), + notes: t('armorSpecialSkiNotes', { + per: 15 + }), + per: 15, + value: 90 + }, + candycane: { + event: events.winter, + specialClass: 'wizard', + text: t('armorSpecialCandycaneText'), + notes: t('armorSpecialCandycaneNotes', { + int: 9 + }), + int: 9, + value: 90 + }, + snowflake: { + event: events.winter, + specialClass: 'healer', + text: t('armorSpecialSnowflakeText'), + notes: t('armorSpecialSnowflakeNotes', { + con: 15 + }), + con: 15, + value: 90 + }, + birthday: { + event: events.birthday, + text: t('armorSpecialBirthdayText'), + notes: t('armorSpecialBirthdayNotes'), + value: 0 + }, + springRogue: { + event: events.spring, + specialClass: 'rogue', + text: t('armorSpecialSpringRogueText'), + notes: t('armorSpecialSpringRogueNotes', { + per: 15 + }), + value: 90, + per: 15 + }, + springWarrior: { + event: events.spring, + specialClass: 'warrior', + text: t('armorSpecialSpringWarriorText'), + notes: t('armorSpecialSpringWarriorNotes', { + con: 9 + }), + value: 90, + con: 9 + }, + springMage: { + event: events.spring, + specialClass: 'wizard', + text: t('armorSpecialSpringMageText'), + notes: t('armorSpecialSpringMageNotes', { + int: 9 + }), + value: 90, + int: 9 + }, + springHealer: { + event: events.spring, + specialClass: 'healer', + text: t('armorSpecialSpringHealerText'), + notes: t('armorSpecialSpringHealerNotes', { + con: 15 + }), + value: 90, + con: 15 + }, + summerRogue: { + event: events.summer, + specialClass: 'rogue', + text: t('armorSpecialSummerRogueText'), + notes: t('armorSpecialSummerRogueNotes', { + per: 15 + }), + value: 90, + per: 15 + }, + summerWarrior: { + event: events.summer, + specialClass: 'warrior', + text: t('armorSpecialSummerWarriorText'), + notes: t('armorSpecialSummerWarriorNotes', { + con: 9 + }), + value: 90, + con: 9 + }, + summerMage: { + event: events.summer, + specialClass: 'wizard', + text: t('armorSpecialSummerMageText'), + notes: t('armorSpecialSummerMageNotes', { + int: 9 + }), + value: 90, + int: 9 + }, + summerHealer: { + event: events.summer, + specialClass: 'healer', + text: t('armorSpecialSummerHealerText'), + notes: t('armorSpecialSummerHealerNotes', { + con: 15 + }), + value: 90, + con: 15 + }, + fallRogue: { + event: events.fall, + specialClass: 'rogue', + text: t('armorSpecialFallRogueText'), + notes: t('armorSpecialFallRogueNotes', { + per: 15 + }), + value: 90, + per: 15 + }, + fallWarrior: { + event: events.fall, + specialClass: 'warrior', + text: t('armorSpecialFallWarriorText'), + notes: t('armorSpecialFallWarriorNotes', { + con: 9 + }), + value: 90, + con: 9 + }, + fallMage: { + event: events.fall, + specialClass: 'wizard', + text: t('armorSpecialFallMageText'), + notes: t('armorSpecialFallMageNotes', { + int: 9 + }), + value: 90, + int: 9 + }, + fallHealer: { + event: events.fall, + specialClass: 'healer', + text: t('armorSpecialFallHealerText'), + notes: t('armorSpecialFallHealerNotes', { + con: 15 + }), + value: 90, + con: 15 + }, + winter2015Rogue: { + event: events.winter2015, + specialClass: 'rogue', + text: t('armorSpecialWinter2015RogueText'), + notes: t('armorSpecialWinter2015RogueNotes', { + per: 15 + }), + value: 90, + per: 15 + }, + winter2015Warrior: { + event: events.winter2015, + specialClass: 'warrior', + text: t('armorSpecialWinter2015WarriorText'), + notes: t('armorSpecialWinter2015WarriorNotes', { + con: 9 + }), + value: 90, + con: 9 + }, + winter2015Mage: { + event: events.winter2015, + specialClass: 'wizard', + text: t('armorSpecialWinter2015MageText'), + notes: t('armorSpecialWinter2015MageNotes', { + int: 9 + }), + value: 90, + int: 9 + }, + winter2015Healer: { + event: events.winter2015, + specialClass: 'healer', + text: t('armorSpecialWinter2015HealerText'), + notes: t('armorSpecialWinter2015HealerNotes', { + con: 15 + }), + value: 90, + con: 15 + }, + birthday2015: { + text: t('armorSpecialBirthday2015Text'), + notes: t('armorSpecialBirthday2015Notes'), + value: 0, + canOwn: (function(u) { + return u.items.gear.owned.armor_special_birthday2015 != null; + }) + }, + gaymerx: { + event: events.gaymerx, + text: t('armorSpecialGaymerxText'), + notes: t('armorSpecialGaymerxNotes'), + value: 0 + } + }, + mystery: { + 201402: { + text: t('armorMystery201402Text'), + notes: t('armorMystery201402Notes'), + mystery: '201402', + value: 0 + }, + 201403: { + text: t('armorMystery201403Text'), + notes: t('armorMystery201403Notes'), + mystery: '201403', + value: 0 + }, + 201405: { + text: t('armorMystery201405Text'), + notes: t('armorMystery201405Notes'), + mystery: '201405', + value: 0 + }, + 201406: { + text: t('armorMystery201406Text'), + notes: t('armorMystery201406Notes'), + mystery: '201406', + value: 0 + }, + 201407: { + text: t('armorMystery201407Text'), + notes: t('armorMystery201407Notes'), + mystery: '201407', + value: 0 + }, + 201408: { + text: t('armorMystery201408Text'), + notes: t('armorMystery201408Notes'), + mystery: '201408', + value: 0 + }, + 201409: { + text: t('armorMystery201409Text'), + notes: t('armorMystery201409Notes'), + mystery: '201409', + value: 0 + }, + 201410: { + text: t('armorMystery201410Text'), + notes: t('armorMystery201410Notes'), + mystery: '201410', + value: 0 + }, + 201412: { + text: t('armorMystery201412Text'), + notes: t('armorMystery201412Notes'), + mystery: '201412', + value: 0 + }, + 201501: { + text: t('armorMystery201501Text'), + notes: t('armorMystery201501Notes'), + mystery: '201501', + value: 0 + }, + 301404: { + text: t('armorMystery301404Text'), + notes: t('armorMystery301404Notes'), + mystery: '301404', + value: 0 + } + } + }, + head: { + base: { + 0: { + text: t('headBase0Text'), + notes: t('headBase0Notes'), + value: 0 + } + }, + warrior: { + 1: { + text: t('headWarrior1Text'), + notes: t('headWarrior1Notes', { + str: 2 + }), + str: 2, + value: 15 + }, + 2: { + text: t('headWarrior2Text'), + notes: t('headWarrior2Notes', { + str: 4 + }), + str: 4, + value: 25 + }, + 3: { + text: t('headWarrior3Text'), + notes: t('headWarrior3Notes', { + str: 6 + }), + str: 6, + value: 40 + }, + 4: { + text: t('headWarrior4Text'), + notes: t('headWarrior4Notes', { + str: 9 + }), + str: 9, + value: 60 + }, + 5: { + text: t('headWarrior5Text'), + notes: t('headWarrior5Notes', { + str: 12 + }), + str: 12, + value: 80, + last: true + } + }, + rogue: { + 1: { + text: t('headRogue1Text'), + notes: t('headRogue1Notes', { + per: 2 + }), + per: 2, + value: 15 + }, + 2: { + text: t('headRogue2Text'), + notes: t('headRogue2Notes', { + per: 4 + }), + per: 4, + value: 25 + }, + 3: { + text: t('headRogue3Text'), + notes: t('headRogue3Notes', { + per: 6 + }), + per: 6, + value: 40 + }, + 4: { + text: t('headRogue4Text'), + notes: t('headRogue4Notes', { + per: 9 + }), + per: 9, + value: 60 + }, + 5: { + text: t('headRogue5Text'), + notes: t('headRogue5Notes', { + per: 12 + }), + per: 12, + value: 80, + last: true + } + }, + wizard: { + 1: { + text: t('headWizard1Text'), + notes: t('headWizard1Notes', { + per: 2 + }), + per: 2, + value: 15 + }, + 2: { + text: t('headWizard2Text'), + notes: t('headWizard2Notes', { + per: 3 + }), + per: 3, + value: 25 + }, + 3: { + text: t('headWizard3Text'), + notes: t('headWizard3Notes', { + per: 5 + }), + per: 5, + value: 40 + }, + 4: { + text: t('headWizard4Text'), + notes: t('headWizard4Notes', { + per: 7 + }), + per: 7, + value: 60 + }, + 5: { + text: t('headWizard5Text'), + notes: t('headWizard5Notes', { + per: 10 + }), + per: 10, + value: 80, + last: true + } + }, + healer: { + 1: { + text: t('headHealer1Text'), + notes: t('headHealer1Notes', { + int: 2 + }), + int: 2, + value: 15 + }, + 2: { + text: t('headHealer2Text'), + notes: t('headHealer2Notes', { + int: 3 + }), + int: 3, + value: 25 + }, + 3: { + text: t('headHealer3Text'), + notes: t('headHealer3Notes', { + int: 5 + }), + int: 5, + value: 40 + }, + 4: { + text: t('headHealer4Text'), + notes: t('headHealer4Notes', { + int: 7 + }), + int: 7, + value: 60 + }, + 5: { + text: t('headHealer5Text'), + notes: t('headHealer5Notes', { + int: 9 + }), + int: 9, + value: 80, + last: true + } + }, + special: { + 0: { + text: t('headSpecial0Text'), + notes: t('headSpecial0Notes', { + int: 20 + }), + int: 20, + value: 150, + canOwn: (function(u) { + var _ref; + return +((_ref = u.backer) != null ? _ref.tier : void 0) >= 45; + }) + }, + 1: { + text: t('headSpecial1Text'), + notes: t('headSpecial1Notes', { + attrs: 6 + }), + con: 6, + str: 6, + per: 6, + int: 6, + value: 170, + canOwn: (function(u) { + var _ref; + return +((_ref = u.contributor) != null ? _ref.level : void 0) >= 3; + }) + }, + 2: { + text: t('headSpecial2Text'), + notes: t('headSpecial2Notes', { + attrs: 25 + }), + int: 25, + str: 25, + value: 200, + canOwn: (function(u) { + var _ref; + return (+((_ref = u.backer) != null ? _ref.tier : void 0) >= 300) || (u.items.gear.owned.head_special_2 != null); + }) + }, + nye: { + event: events.winter, + text: t('headSpecialNyeText'), + notes: t('headSpecialNyeNotes'), + value: 0 + }, + yeti: { + event: events.winter, + specialClass: 'warrior', + text: t('headSpecialYetiText'), + notes: t('headSpecialYetiNotes', { + str: 9 + }), + str: 9, + value: 60 + }, + ski: { + event: events.winter, + specialClass: 'rogue', + text: t('headSpecialSkiText'), + notes: t('headSpecialSkiNotes', { + per: 9 + }), + per: 9, + value: 60 + }, + candycane: { + event: events.winter, + specialClass: 'wizard', + text: t('headSpecialCandycaneText'), + notes: t('headSpecialCandycaneNotes', { + per: 7 + }), + per: 7, + value: 60 + }, + snowflake: { + event: events.winter, + specialClass: 'healer', + text: t('headSpecialSnowflakeText'), + notes: t('headSpecialSnowflakeNotes', { + int: 7 + }), + int: 7, + value: 60 + }, + springRogue: { + event: events.spring, + specialClass: 'rogue', + text: t('headSpecialSpringRogueText'), + notes: t('headSpecialSpringRogueNotes', { + per: 9 + }), + value: 60, + per: 9 + }, + springWarrior: { + event: events.spring, + specialClass: 'warrior', + text: t('headSpecialSpringWarriorText'), + notes: t('headSpecialSpringWarriorNotes', { + str: 9 + }), + value: 60, + str: 9 + }, + springMage: { + event: events.spring, + specialClass: 'wizard', + text: t('headSpecialSpringMageText'), + notes: t('headSpecialSpringMageNotes', { + per: 7 + }), + value: 60, + per: 7 + }, + springHealer: { + event: events.spring, + specialClass: 'healer', + text: t('headSpecialSpringHealerText'), + notes: t('headSpecialSpringHealerNotes', { + int: 7 + }), + value: 60, + int: 7 + }, + summerRogue: { + event: events.summer, + specialClass: 'rogue', + text: t('headSpecialSummerRogueText'), + notes: t('headSpecialSummerRogueNotes', { + per: 9 + }), + value: 60, + per: 9 + }, + summerWarrior: { + event: events.summer, + specialClass: 'warrior', + text: t('headSpecialSummerWarriorText'), + notes: t('headSpecialSummerWarriorNotes', { + str: 9 + }), + value: 60, + str: 9 + }, + summerMage: { + event: events.summer, + specialClass: 'wizard', + text: t('headSpecialSummerMageText'), + notes: t('headSpecialSummerMageNotes', { + per: 7 + }), + value: 60, + per: 7 + }, + summerHealer: { + event: events.summer, + specialClass: 'healer', + text: t('headSpecialSummerHealerText'), + notes: t('headSpecialSummerHealerNotes', { + int: 7 + }), + value: 60, + int: 7 + }, + fallRogue: { + event: events.fall, + specialClass: 'rogue', + text: t('headSpecialFallRogueText'), + notes: t('headSpecialFallRogueNotes', { + per: 9 + }), + value: 60, + per: 9 + }, + fallWarrior: { + event: events.fall, + specialClass: 'warrior', + text: t('headSpecialFallWarriorText'), + notes: t('headSpecialFallWarriorNotes', { + str: 9 + }), + value: 60, + str: 9 + }, + fallMage: { + event: events.fall, + specialClass: 'wizard', + text: t('headSpecialFallMageText'), + notes: t('headSpecialFallMageNotes', { + per: 7 + }), + value: 60, + per: 7 + }, + fallHealer: { + event: events.fall, + specialClass: 'healer', + text: t('headSpecialFallHealerText'), + notes: t('headSpecialFallHealerNotes', { + int: 7 + }), + value: 60, + int: 7 + }, + winter2015Rogue: { + event: events.winter2015, + specialClass: 'rogue', + text: t('headSpecialWinter2015RogueText'), + notes: t('headSpecialWinter2015RogueNotes', { + per: 9 + }), + value: 60, + per: 9 + }, + winter2015Warrior: { + event: events.winter2015, + specialClass: 'warrior', + text: t('headSpecialWinter2015WarriorText'), + notes: t('headSpecialWinter2015WarriorNotes', { + str: 9 + }), + value: 60, + str: 9 + }, + winter2015Mage: { + event: events.winter2015, + specialClass: 'wizard', + text: t('headSpecialWinter2015MageText'), + notes: t('headSpecialWinter2015MageNotes', { + per: 7 + }), + value: 60, + per: 7 + }, + winter2015Healer: { + event: events.winter2015, + specialClass: 'healer', + text: t('headSpecialWinter2015HealerText'), + notes: t('headSpecialWinter2015HealerNotes', { + int: 7 + }), + value: 60, + int: 7 + }, + nye2014: { + text: t('headSpecialNye2014Text'), + notes: t('headSpecialNye2014Notes'), + value: 0, + canOwn: (function(u) { + return u.items.gear.owned.head_special_nye2014 != null; + }) + }, + gaymerx: { + event: events.gaymerx, + text: t('headSpecialGaymerxText'), + notes: t('headSpecialGaymerxNotes'), + value: 0 + } + }, + mystery: { + 201402: { + text: t('headMystery201402Text'), + notes: t('headMystery201402Notes'), + mystery: '201402', + value: 0 + }, + 201405: { + text: t('headMystery201405Text'), + notes: t('headMystery201405Notes'), + mystery: '201405', + value: 0 + }, + 201406: { + text: t('headMystery201406Text'), + notes: t('headMystery201406Notes'), + mystery: '201406', + value: 0 + }, + 201407: { + text: t('headMystery201407Text'), + notes: t('headMystery201407Notes'), + mystery: '201407', + value: 0 + }, + 201408: { + text: t('headMystery201408Text'), + notes: t('headMystery201408Notes'), + mystery: '201408', + value: 0 + }, + 201411: { + text: t('headMystery201411Text'), + notes: t('headMystery201411Notes'), + mystery: '201411', + value: 0 + }, + 201412: { + text: t('headMystery201412Text'), + notes: t('headMystery201412Notes'), + mystery: '201412', + value: 0 + }, + 201501: { + text: t('headMystery201501Text'), + notes: t('headMystery201501Notes'), + mystery: '201501', + value: 0 + }, + 301404: { + text: t('headMystery301404Text'), + notes: t('headMystery301404Notes'), + mystery: '301404', + value: 0 + }, + 301405: { + text: t('headMystery301405Text'), + notes: t('headMystery301405Notes'), + mystery: '301405', + value: 0 + } + } + }, + shield: { + base: { + 0: { + text: t('shieldBase0Text'), + notes: t('shieldBase0Notes'), + value: 0 + } + }, + warrior: { + 1: { + text: t('shieldWarrior1Text'), + notes: t('shieldWarrior1Notes', { + con: 2 + }), + con: 2, + value: 20 + }, + 2: { + text: t('shieldWarrior2Text'), + notes: t('shieldWarrior2Notes', { + con: 3 + }), + con: 3, + value: 35 + }, + 3: { + text: t('shieldWarrior3Text'), + notes: t('shieldWarrior3Notes', { + con: 5 + }), + con: 5, + value: 50 + }, + 4: { + text: t('shieldWarrior4Text'), + notes: t('shieldWarrior4Notes', { + con: 7 + }), + con: 7, + value: 70 + }, + 5: { + text: t('shieldWarrior5Text'), + notes: t('shieldWarrior5Notes', { + con: 9 + }), + con: 9, + value: 90, + last: true + } + }, + rogue: { + 0: { + text: t('weaponRogue0Text'), + notes: t('weaponRogue0Notes'), + str: 0, + value: 0 + }, + 1: { + text: t('weaponRogue1Text'), + notes: t('weaponRogue1Notes', { + str: 2 + }), + str: 2, + value: 20 + }, + 2: { + text: t('weaponRogue2Text'), + notes: t('weaponRogue2Notes', { + str: 3 + }), + str: 3, + value: 35 + }, + 3: { + text: t('weaponRogue3Text'), + notes: t('weaponRogue3Notes', { + str: 4 + }), + str: 4, + value: 50 + }, + 4: { + text: t('weaponRogue4Text'), + notes: t('weaponRogue4Notes', { + str: 6 + }), + str: 6, + value: 70 + }, + 5: { + text: t('weaponRogue5Text'), + notes: t('weaponRogue5Notes', { + str: 8 + }), + str: 8, + value: 90 + }, + 6: { + text: t('weaponRogue6Text'), + notes: t('weaponRogue6Notes', { + str: 10 + }), + str: 10, + value: 120, + last: true + } + }, + wizard: {}, + healer: { + 1: { + text: t('shieldHealer1Text'), + notes: t('shieldHealer1Notes', { + con: 2 + }), + con: 2, + value: 20 + }, + 2: { + text: t('shieldHealer2Text'), + notes: t('shieldHealer2Notes', { + con: 4 + }), + con: 4, + value: 35 + }, + 3: { + text: t('shieldHealer3Text'), + notes: t('shieldHealer3Notes', { + con: 6 + }), + con: 6, + value: 50 + }, + 4: { + text: t('shieldHealer4Text'), + notes: t('shieldHealer4Notes', { + con: 9 + }), + con: 9, + value: 70 + }, + 5: { + text: t('shieldHealer5Text'), + notes: t('shieldHealer5Notes', { + con: 12 + }), + con: 12, + value: 90, + last: true + } + }, + special: { + 0: { + text: t('shieldSpecial0Text'), + notes: t('shieldSpecial0Notes', { + per: 20 + }), + per: 20, + value: 150, + canOwn: (function(u) { + var _ref; + return +((_ref = u.backer) != null ? _ref.tier : void 0) >= 45; + }) + }, + 1: { + text: t('shieldSpecial1Text'), + notes: t('shieldSpecial1Notes', { + attrs: 6 + }), + con: 6, + str: 6, + per: 6, + int: 6, + value: 170, + canOwn: (function(u) { + var _ref; + return +((_ref = u.contributor) != null ? _ref.level : void 0) >= 5; + }) + }, + goldenknight: { + text: t('shieldSpecialGoldenknightText'), + notes: t('shieldSpecialGoldenknightNotes', { + attrs: 25 + }), + con: 25, + per: 25, + value: 200, + canOwn: (function(u) { + return u.items.gear.owned.shield_special_goldenknight != null; + }) + }, + yeti: { + event: events.winter, + specialClass: 'warrior', + text: t('shieldSpecialYetiText'), + notes: t('shieldSpecialYetiNotes', { + con: 7 + }), + con: 7, + value: 70 + }, + ski: { + event: events.winter, + specialClass: 'rogue', + text: t('weaponSpecialSkiText'), + notes: t('weaponSpecialSkiNotes', { + str: 8 + }), + str: 8, + value: 90 + }, + snowflake: { + event: events.winter, + specialClass: 'healer', + text: t('shieldSpecialSnowflakeText'), + notes: t('shieldSpecialSnowflakeNotes', { + con: 9 + }), + con: 9, + value: 70 + }, + springRogue: { + event: events.spring, + specialClass: 'rogue', + text: t('shieldSpecialSpringRogueText'), + notes: t('shieldSpecialSpringRogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + springWarrior: { + event: events.spring, + specialClass: 'warrior', + text: t('shieldSpecialSpringWarriorText'), + notes: t('shieldSpecialSpringWarriorNotes', { + con: 7 + }), + value: 70, + con: 7 + }, + springHealer: { + event: events.spring, + specialClass: 'healer', + text: t('shieldSpecialSpringHealerText'), + notes: t('shieldSpecialSpringHealerNotes', { + con: 9 + }), + value: 70, + con: 9 + }, + summerRogue: { + event: events.summer, + specialClass: 'rogue', + text: t('shieldSpecialSummerRogueText'), + notes: t('shieldSpecialSummerRogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + summerWarrior: { + event: events.summer, + specialClass: 'warrior', + text: t('shieldSpecialSummerWarriorText'), + notes: t('shieldSpecialSummerWarriorNotes', { + con: 7 + }), + value: 70, + con: 7 + }, + summerHealer: { + event: events.summer, + specialClass: 'healer', + text: t('shieldSpecialSummerHealerText'), + notes: t('shieldSpecialSummerHealerNotes', { + con: 9 + }), + value: 70, + con: 9 + }, + fallRogue: { + event: events.fall, + specialClass: 'rogue', + text: t('shieldSpecialFallRogueText'), + notes: t('shieldSpecialFallRogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + fallWarrior: { + event: events.fall, + specialClass: 'warrior', + text: t('shieldSpecialFallWarriorText'), + notes: t('shieldSpecialFallWarriorNotes', { + con: 7 + }), + value: 70, + con: 7 + }, + fallHealer: { + event: events.fall, + specialClass: 'healer', + text: t('shieldSpecialFallHealerText'), + notes: t('shieldSpecialFallHealerNotes', { + con: 9 + }), + value: 70, + con: 9 + }, + winter2015Rogue: { + event: events.winter2015, + specialClass: 'rogue', + text: t('shieldSpecialWinter2015RogueText'), + notes: t('shieldSpecialWinter2015RogueNotes', { + str: 8 + }), + value: 80, + str: 8 + }, + winter2015Warrior: { + event: events.winter2015, + specialClass: 'warrior', + text: t('shieldSpecialWinter2015WarriorText'), + notes: t('shieldSpecialWinter2015WarriorNotes', { + con: 7 + }), + value: 70, + con: 7 + }, + winter2015Healer: { + event: events.winter2015, + specialClass: 'healer', + text: t('shieldSpecialWinter2015HealerText'), + notes: t('shieldSpecialWinter2015HealerNotes', { + con: 9 + }), + value: 70, + con: 9 + } + }, + mystery: { + 301405: { + text: t('shieldMystery301405Text'), + notes: t('shieldMystery301405Notes'), + mystery: '301405', + value: 0 + } + } + }, + back: { + base: { + 0: { + text: t('backBase0Text'), + notes: t('backBase0Notes'), + value: 0 + } + }, + mystery: { + 201402: { + text: t('backMystery201402Text'), + notes: t('backMystery201402Notes'), + mystery: '201402', + value: 0 + }, + 201404: { + text: t('backMystery201404Text'), + notes: t('backMystery201404Notes'), + mystery: '201404', + value: 0 + }, + 201410: { + text: t('backMystery201410Text'), + notes: t('backMystery201410Notes'), + mystery: '201410', + value: 0 + } + }, + special: { + wondercon_red: { + text: t('backSpecialWonderconRedText'), + notes: t('backSpecialWonderconRedNotes'), + value: 0, + mystery: 'wondercon' + }, + wondercon_black: { + text: t('backSpecialWonderconBlackText'), + notes: t('backSpecialWonderconBlackNotes'), + value: 0, + mystery: 'wondercon' + } + } + }, + body: { + base: { + 0: { + text: t('bodyBase0Text'), + notes: t('bodyBase0Notes'), + value: 0 + } + }, + special: { + wondercon_red: { + text: t('bodySpecialWonderconRedText'), + notes: t('bodySpecialWonderconRedNotes'), + value: 0, + mystery: 'wondercon' + }, + wondercon_gold: { + text: t('bodySpecialWonderconGoldText'), + notes: t('bodySpecialWonderconGoldNotes'), + value: 0, + mystery: 'wondercon' + }, + wondercon_black: { + text: t('bodySpecialWonderconBlackText'), + notes: t('bodySpecialWonderconBlackNotes'), + value: 0, + mystery: 'wondercon' + }, + summerHealer: { + event: events.summer, + specialClass: 'healer', + text: t('bodySpecialSummerHealerText'), + notes: t('bodySpecialSummerHealerNotes'), + value: 20 + }, + summerMage: { + event: events.summer, + specialClass: 'wizard', + text: t('bodySpecialSummerMageText'), + notes: t('bodySpecialSummerMageNotes'), + value: 20 + } + } + }, + headAccessory: { + base: { + 0: { + text: t('headAccessoryBase0Text'), + notes: t('headAccessoryBase0Notes'), + value: 0, + last: true + } + }, + special: { + springRogue: { + event: events.spring, + specialClass: 'rogue', + text: t('headAccessorySpecialSpringRogueText'), + notes: t('headAccessorySpecialSpringRogueNotes'), + value: 20 + }, + springWarrior: { + event: events.spring, + specialClass: 'warrior', + text: t('headAccessorySpecialSpringWarriorText'), + notes: t('headAccessorySpecialSpringWarriorNotes'), + value: 20 + }, + springMage: { + event: events.spring, + specialClass: 'wizard', + text: t('headAccessorySpecialSpringMageText'), + notes: t('headAccessorySpecialSpringMageNotes'), + value: 20 + }, + springHealer: { + event: events.spring, + specialClass: 'healer', + text: t('headAccessorySpecialSpringHealerText'), + notes: t('headAccessorySpecialSpringHealerNotes'), + value: 20 + } + }, + mystery: { + 201403: { + text: t('headAccessoryMystery201403Text'), + notes: t('headAccessoryMystery201403Notes'), + mystery: '201403', + value: 0 + }, + 201404: { + text: t('headAccessoryMystery201404Text'), + notes: t('headAccessoryMystery201404Notes'), + mystery: '201404', + value: 0 + }, + 201409: { + text: t('headAccessoryMystery201409Text'), + notes: t('headAccessoryMystery201409Notes'), + mystery: '201409', + value: 0 + }, + 301405: { + text: t('headAccessoryMystery301405Text'), + notes: t('headAccessoryMystery301405Notes'), + mystery: '301405', + value: 0 + } + } + }, + eyewear: { + base: { + 0: { + text: t('eyewearBase0Text'), + notes: t('eyewearBase0Notes'), + value: 0, + last: true + } + }, + special: { + wondercon_red: { + text: t('eyewearSpecialWonderconRedText'), + notes: t('eyewearSpecialWonderconRedNotes'), + value: 0, + mystery: 'wondercon' + }, + wondercon_black: { + text: t('eyewearSpecialWonderconBlackText'), + notes: t('eyewearSpecialWonderconBlackNotes'), + value: 0, + mystery: 'wondercon' + }, + summerRogue: { + event: events.summer, + specialClass: 'rogue', + text: t('eyewearSpecialSummerRogueText'), + notes: t('eyewearSpecialSummerRogueNotes'), + value: 20 + }, + summerWarrior: { + event: events.summer, + specialClass: 'warrior', + text: t('eyewearSpecialSummerWarriorText'), + notes: t('eyewearSpecialSummerWarriorNotes'), + value: 20 + } + }, + mystery: { + 301404: { + text: t('eyewearMystery301404Text'), + notes: t('eyewearMystery301404Notes'), + mystery: '301404', + value: 0 + }, + 301405: { + text: t('eyewearMystery301405Text'), + notes: t('eyewearMystery301405Notes'), + mystery: '301405', + value: 0 + } + } + } +}; + + +/* + The gear is exported as a tree (defined above), and a flat list (eg, {weapon_healer_1: .., shield_special_0: ...}) since + they are needed in different froms at different points in the app + */ + +api.gear = { + tree: gear, + flat: {} +}; + +_.each(gearTypes, function(type) { + return _.each(classes.concat(['base', 'special', 'mystery']), function(klass) { + return _.each(gear[type][klass], function(item, i) { + var key, _canOwn; + key = "" + type + "_" + klass + "_" + i; + _.defaults(item, { + type: type, + key: key, + klass: klass, + index: i, + str: 0, + int: 0, + per: 0, + con: 0 + }); + if (item.event) { + _canOwn = item.canOwn || (function() { + return true; + }); + item.canOwn = function(u) { + return _canOwn(u) && ((u.items.gear.owned[key] != null) || (moment().isAfter(item.event.start) && moment().isBefore(item.event.end))) && (item.specialClass ? u.stats["class"] === item.specialClass : true); + }; + } + if (item.mystery) { + item.canOwn = function(u) { + return u.items.gear.owned[key] != null; + }; + } + return api.gear.flat[key] = item; + }); + }); +}); + + +/* + Time Traveler Store, mystery sets need their items mapped in + */ + +_.each(api.mystery, function(v, k) { + return v.items = _.where(api.gear.flat, { + mystery: k + }); +}); + +api.timeTravelerStore = function(owned) { + var ownedKeys; + ownedKeys = _.keys((typeof owned.toObject === "function" ? owned.toObject() : void 0) || owned); + return _.reduce(api.mystery, function(m, v, k) { + if (k === 'wondercon' || ~ownedKeys.indexOf(v.items[0].key)) { + return m; + } + m[k] = v; + return m; + }, {}); +}; + + +/* + --------------------------------------------------------------- + Potion + --------------------------------------------------------------- + */ + +api.potion = { + type: 'potion', + text: t('potionText'), + notes: t('potionNotes'), + value: 25, + key: 'potion' +}; + + +/* + --------------------------------------------------------------- + Classes + --------------------------------------------------------------- + */ + +api.classes = classes; + + +/* + --------------------------------------------------------------- + Gear Types + --------------------------------------------------------------- + */ + +api.gearTypes = gearTypes; + + +/* + --------------------------------------------------------------- + Spells + --------------------------------------------------------------- + Text, notes, and mana are obvious. The rest: + + * {target}: one of [task, self, party, user]. This is very important, because if the cast() function is expecting one + thing and receives another, it will cause errors. `self` is used for self buffs, multi-task debuffs, AOEs (eg, meteor-shower), + etc. Basically, use self for anything that's not [task, party, user] and is an instant-cast + + * {cast}: the function that's run to perform the ability's action. This is pretty slick - because this is exported to the + web, this function can be performed on the client and on the server. `user` param is self (needed for determining your + own stats for effectiveness of cast), and `target` param is one of [task, party, user]. In the case of `self` spells, + you act on `user` instead of `target`. You can trust these are the correct objects, as long as the `target` attr of the + spell is correct. Take a look at habitrpg/src/models/user.js and habitrpg/src/models/task.js for what attributes are + available on each model. Note `task.value` is its "redness". If party is passed in, it's an array of users, + so you'll want to iterate over them like: `_.each(target,function(member){...})` + + Note, user.stats.mp is docked after automatically (it's appended to functions automatically down below in an _.each) + */ + +diminishingReturns = function(bonus, max, halfway) { + if (halfway == null) { + halfway = max / 2; + } + return max * (bonus / (bonus + halfway)); +}; + +api.spells = { + wizard: { + fireball: { + text: t('spellWizardFireballText'), + mana: 10, + lvl: 11, + target: 'task', + notes: t('spellWizardFireballNotes'), + cast: function(user, target) { + var bonus; + bonus = user._statsComputed.int * user.fns.crit('per'); + target.value += diminishingReturns(bonus * .02, 4); + bonus *= Math.ceil((target.value < 0 ? 1 : target.value + 1) * .075); + user.stats.exp += diminishingReturns(bonus, 75); + return user.party.quest.progress.up += diminishingReturns(bonus * .1, 50, 30); + } + }, + mpheal: { + text: t('spellWizardMPHealText'), + mana: 30, + lvl: 12, + target: 'party', + notes: t('spellWizardMPHealNotes'), + cast: function(user, target) { + return _.each(target, function(member) { + var bonus; + bonus = Math.ceil(user._statsComputed.int * .1); + if (bonus > 25) { + bonus = 25; + } + return member.stats.mp += bonus; + }); + } + }, + earth: { + text: t('spellWizardEarthText'), + mana: 35, + lvl: 13, + target: 'party', + notes: t('spellWizardEarthNotes'), + cast: function(user, target) { + return _.each(target, function(member) { + var _base; + if ((_base = member.stats.buffs).int == null) { + _base.int = 0; + } + return member.stats.buffs.int += Math.ceil(user._statsComputed.int * .05); + }); + } + }, + frost: { + text: t('spellWizardFrostText'), + mana: 40, + lvl: 14, + target: 'self', + notes: t('spellWizardFrostNotes'), + cast: function(user, target) { + return user.stats.buffs.streaks = true; + } + } + }, + warrior: { + smash: { + text: t('spellWarriorSmashText'), + mana: 10, + lvl: 11, + target: 'task', + notes: t('spellWarriorSmashNotes'), + cast: function(user, target) { + target.value += 2.5 * (user._statsComputed.str / (user._statsComputed.str + 50)) * user.fns.crit('con'); + return user.party.quest.progress.up += Math.ceil(user._statsComputed.str * .2); + } + }, + defensiveStance: { + text: t('spellWarriorDefensiveStanceText'), + mana: 25, + lvl: 12, + target: 'self', + notes: t('spellWarriorDefensiveStanceNotes'), + cast: function(user, target) { + var _base; + if ((_base = user.stats.buffs).con == null) { + _base.con = 0; + } + return user.stats.buffs.con += Math.ceil(user._statsComputed.con * .05); + } + }, + valorousPresence: { + text: t('spellWarriorValorousPresenceText'), + mana: 20, + lvl: 13, + target: 'party', + notes: t('spellWarriorValorousPresenceNotes'), + cast: function(user, target) { + return _.each(target, function(member) { + var _base; + if ((_base = member.stats.buffs).str == null) { + _base.str = 0; + } + return member.stats.buffs.str += Math.ceil(user._statsComputed.str * .05); + }); + } + }, + intimidate: { + text: t('spellWarriorIntimidateText'), + mana: 15, + lvl: 14, + target: 'party', + notes: t('spellWarriorIntimidateNotes'), + cast: function(user, target) { + return _.each(target, function(member) { + var _base; + if ((_base = member.stats.buffs).con == null) { + _base.con = 0; + } + return member.stats.buffs.con += Math.ceil(user._statsComputed.con * .03); + }); + } + } + }, + rogue: { + pickPocket: { + text: t('spellRoguePickPocketText'), + mana: 10, + lvl: 11, + target: 'task', + notes: t('spellRoguePickPocketNotes'), + cast: function(user, target) { + var bonus; + bonus = (target.value < 0 ? 1 : target.value + 2) + (user._statsComputed.per * 0.5); + return user.stats.gp += 25 * (bonus / (bonus + 75)); + } + }, + backStab: { + text: t('spellRogueBackStabText'), + mana: 15, + lvl: 12, + target: 'task', + notes: t('spellRogueBackStabNotes'), + cast: function(user, target) { + var bonus, _crit; + _crit = user.fns.crit('str', .3); + target.value += _crit * .03; + bonus = (target.value < 0 ? 1 : target.value + 1) * _crit; + user.stats.exp += bonus; + return user.stats.gp += bonus; + } + }, + toolsOfTrade: { + text: t('spellRogueToolsOfTradeText'), + mana: 25, + lvl: 13, + target: 'party', + notes: t('spellRogueToolsOfTradeNotes'), + cast: function(user, target) { + return _.each(target, function(member) { + var _base; + if ((_base = member.stats.buffs).per == null) { + _base.per = 0; + } + return member.stats.buffs.per += Math.ceil(user._statsComputed.per * .03); + }); + } + }, + stealth: { + text: t('spellRogueStealthText'), + mana: 45, + lvl: 14, + target: 'self', + notes: t('spellRogueStealthNotes'), + cast: function(user, target) { + var _base; + if ((_base = user.stats.buffs).stealth == null) { + _base.stealth = 0; + } + return user.stats.buffs.stealth += Math.ceil(user.dailys.length * user._statsComputed.per / 100); + } + } + }, + healer: { + heal: { + text: t('spellHealerHealText'), + mana: 15, + lvl: 11, + target: 'self', + notes: t('spellHealerHealNotes'), + cast: function(user, target) { + user.stats.hp += (user._statsComputed.con + user._statsComputed.int + 5) * .075; + if (user.stats.hp > 50) { + return user.stats.hp = 50; + } + } + }, + brightness: { + text: t('spellHealerBrightnessText'), + mana: 15, + lvl: 12, + target: 'self', + notes: t('spellHealerBrightnessNotes'), + cast: function(user, target) { + return _.each(user.tasks, function(target) { + if (target.type === 'reward') { + return; + } + return target.value += 1.5 * (user._statsComputed.int / (user._statsComputed.int + 40)); + }); + } + }, + protectAura: { + text: t('spellHealerProtectAuraText'), + mana: 30, + lvl: 13, + target: 'party', + notes: t('spellHealerProtectAuraNotes'), + cast: function(user, target) { + return _.each(target, function(member) { + var _base; + if ((_base = member.stats.buffs).con == null) { + _base.con = 0; + } + return member.stats.buffs.con += Math.ceil(user._statsComputed.con * .15); + }); + } + }, + heallAll: { + text: t('spellHealerHealAllText'), + mana: 25, + lvl: 14, + target: 'party', + notes: t('spellHealerHealAllNotes'), + cast: function(user, target) { + return _.each(target, function(member) { + member.stats.hp += (user._statsComputed.con + user._statsComputed.int + 5) * .04; + if (member.stats.hp > 50) { + return member.stats.hp = 50; + } + }); + } + } + }, + special: { + snowball: { + text: t('spellSpecialSnowballAuraText'), + mana: 0, + value: 15, + target: 'user', + notes: t('spellSpecialSnowballAuraNotes'), + cast: function(user, target) { + var _base; + target.stats.buffs.snowball = true; + if ((_base = target.achievements).snowball == null) { + _base.snowball = 0; + } + target.achievements.snowball++; + return user.items.special.snowball--; + } + }, + salt: { + text: t('spellSpecialSaltText'), + mana: 0, + value: 5, + immediateUse: true, + target: 'self', + notes: t('spellSpecialSaltNotes'), + cast: function(user, target) { + user.stats.buffs.snowball = false; + return user.stats.gp -= 5; + } + }, + spookDust: { + text: t('spellSpecialSpookDustText'), + mana: 0, + value: 15, + target: 'user', + notes: t('spellSpecialSpookDustNotes'), + cast: function(user, target) { + var _base; + target.stats.buffs.spookDust = true; + if ((_base = target.achievements).spookDust == null) { + _base.spookDust = 0; + } + target.achievements.spookDust++; + return user.items.special.spookDust--; + } + }, + opaquePotion: { + text: t('spellSpecialOpaquePotionText'), + mana: 0, + value: 5, + immediateUse: true, + target: 'self', + notes: t('spellSpecialOpaquePotionNotes'), + cast: function(user, target) { + user.stats.buffs.spookDust = false; + return user.stats.gp -= 5; + } + }, + nye: { + text: t('nyeCard'), + mana: 0, + value: 10, + immediateUse: true, + target: 'user', + notes: t('nyeCardNotes'), + cast: function(user, target) { + var _base; + if (user === target) { + if ((_base = user.achievements).nye == null) { + _base.nye = 0; + } + user.achievements.nye++; + } else { + _.each([user, target], function(t) { + var _base1; + if ((_base1 = t.achievements).nye == null) { + _base1.nye = 0; + } + return t.achievements.nye++; + }); + } + if (!target.items.special.nyeReceived) { + target.items.special.nyeReceived = []; + } + target.items.special.nyeReceived.push(user.profile.name); + if (typeof target.markModified === "function") { + target.markModified('items.special.nyeReceived'); + } + return user.stats.gp -= 10; + } + } + } +}; + +_.each(api.spells, function(spellClass) { + return _.each(spellClass, function(spell, key) { + var _cast; + spell.key = key; + _cast = spell.cast; + return spell.cast = function(user, target) { + _cast(user, target); + return user.stats.mp -= spell.mana; + }; + }); +}); + +api.special = api.spells.special; + + +/* + --------------------------------------------------------------- + Drops + --------------------------------------------------------------- + */ + +api.dropEggs = { + Wolf: { + text: t('dropEggWolfText'), + adjective: t('dropEggWolfAdjective') + }, + TigerCub: { + text: t('dropEggTigerCubText'), + mountText: t('dropEggTigerCubMountText'), + adjective: t('dropEggTigerCubAdjective') + }, + PandaCub: { + text: t('dropEggPandaCubText'), + mountText: t('dropEggPandaCubMountText'), + adjective: t('dropEggPandaCubAdjective') + }, + LionCub: { + text: t('dropEggLionCubText'), + mountText: t('dropEggLionCubMountText'), + adjective: t('dropEggLionCubAdjective') + }, + Fox: { + text: t('dropEggFoxText'), + adjective: t('dropEggFoxAdjective') + }, + FlyingPig: { + text: t('dropEggFlyingPigText'), + adjective: t('dropEggFlyingPigAdjective') + }, + Dragon: { + text: t('dropEggDragonText'), + adjective: t('dropEggDragonAdjective') + }, + Cactus: { + text: t('dropEggCactusText'), + adjective: t('dropEggCactusAdjective') + }, + BearCub: { + text: t('dropEggBearCubText'), + mountText: t('dropEggBearCubMountText'), + adjective: t('dropEggBearCubAdjective') + } +}; + +_.each(api.dropEggs, function(egg, key) { + return _.defaults(egg, { + canBuy: true, + value: 3, + key: key, + notes: t('eggNotes', { + eggText: egg.text, + eggAdjective: egg.adjective + }), + mountText: egg.text + }); +}); + +api.questEggs = { + Gryphon: { + text: t('questEggGryphonText'), + adjective: t('questEggGryphonAdjective'), + canBuy: false + }, + Hedgehog: { + text: t('questEggHedgehogText'), + adjective: t('questEggHedgehogAdjective'), + canBuy: false + }, + Deer: { + text: t('questEggDeerText'), + adjective: t('questEggDeerAdjective'), + canBuy: false + }, + Egg: { + text: t('questEggEggText'), + adjective: t('questEggEggAdjective'), + canBuy: false, + noMount: true + }, + Rat: { + text: t('questEggRatText'), + adjective: t('questEggRatAdjective'), + canBuy: false + }, + Octopus: { + text: t('questEggOctopusText'), + adjective: t('questEggOctopusAdjective'), + canBuy: false + }, + Seahorse: { + text: t('questEggSeahorseText'), + adjective: t('questEggSeahorseAdjective'), + canBuy: false + }, + Parrot: { + text: t('questEggParrotText'), + adjective: t('questEggParrotAdjective'), + canBuy: false + }, + Rooster: { + text: t('questEggRoosterText'), + adjective: t('questEggRoosterAdjective'), + canBuy: false + }, + Spider: { + text: t('questEggSpiderText'), + adjective: t('questEggSpiderAdjective'), + canBuy: false + }, + Owl: { + text: t('questEggOwlText'), + adjective: t('questEggOwlAdjective'), + canBuy: false + }, + Penguin: { + text: t('questEggPenguinText'), + adjective: t('questEggPenguinAdjective'), + canBuy: false + }, + TRex: { + text: t('questEggTRexText'), + adjective: t('questEggTRexAdjective'), + canBuy: false + } +}; + +_.each(api.questEggs, function(egg, key) { + return _.defaults(egg, { + canBuy: false, + value: 3, + key: key, + notes: t('eggNotes', { + eggText: egg.text, + eggAdjective: egg.adjective + }), + mountText: egg.text + }); +}); + +api.eggs = _.assign(_.cloneDeep(api.dropEggs), api.questEggs); + +api.specialPets = { + 'Wolf-Veteran': 'veteranWolf', + 'Wolf-Cerberus': 'cerberusPup', + 'Dragon-Hydra': 'hydra', + 'Turkey-Base': 'turkey', + 'BearCub-Polar': 'polarBearPup', + 'MantisShrimp-Base': 'mantisShrimp', + 'JackOLantern-Base': 'jackolantern', + 'Mammoth-Base': 'mammoth' +}; + +api.specialMounts = { + 'BearCub-Polar': 'polarBear', + 'LionCub-Ethereal': 'etherealLion', + 'MantisShrimp-Base': 'mantisShrimp', + 'Turkey-Base': 'turkey', + 'Mammoth-Base': 'mammoth' +}; + +api.hatchingPotions = { + Base: { + value: 2, + text: t('hatchingPotionBase') + }, + White: { + value: 2, + text: t('hatchingPotionWhite') + }, + Desert: { + value: 2, + text: t('hatchingPotionDesert') + }, + Red: { + value: 3, + text: t('hatchingPotionRed') + }, + Shade: { + value: 3, + text: t('hatchingPotionShade') + }, + Skeleton: { + value: 3, + text: t('hatchingPotionSkeleton') + }, + Zombie: { + value: 4, + text: t('hatchingPotionZombie') + }, + CottonCandyPink: { + value: 4, + text: t('hatchingPotionCottonCandyPink') + }, + CottonCandyBlue: { + value: 4, + text: t('hatchingPotionCottonCandyBlue') + }, + Golden: { + value: 5, + text: t('hatchingPotionGolden') + } +}; + +_.each(api.hatchingPotions, function(pot, key) { + return _.defaults(pot, { + key: key, + value: 2, + notes: t('hatchingPotionNotes', { + potText: pot.text + }) + }); +}); + +api.pets = _.transform(api.dropEggs, function(m, egg) { + return _.defaults(m, _.transform(api.hatchingPotions, function(m2, pot) { + return m2[egg.key + "-" + pot.key] = true; + })); +}); + +api.questPets = _.transform(api.questEggs, function(m, egg) { + return _.defaults(m, _.transform(api.hatchingPotions, function(m2, pot) { + return m2[egg.key + "-" + pot.key] = true; + })); +}); + +api.mounts = _.transform(api.dropEggs, function(m, egg) { + return _.defaults(m, _.transform(api.hatchingPotions, function(m2, pot) { + return m2[egg.key + "-" + pot.key] = true; + })); +}); + +api.questMounts = _.transform(api.questEggs, function(m, egg) { + return _.defaults(m, _.transform(api.hatchingPotions, function(m2, pot) { + return m2[egg.key + "-" + pot.key] = true; + })); +}); + +api.food = { + Meat: { + canBuy: false, + canDrop: false, + text: t('foodMeat'), + target: 'Base', + article: '' + }, + Milk: { + canBuy: false, + canDrop: false, + text: t('foodMilk'), + target: 'White', + article: '' + }, + Potatoe: { + canBuy: false, + canDrop: false, + text: t('foodPotatoe'), + target: 'Desert', + article: 'a ' + }, + Strawberry: { + canBuy: false, + canDrop: false, + text: t('foodStrawberry'), + target: 'Red', + article: 'a ' + }, + Chocolate: { + canBuy: false, + canDrop: false, + text: t('foodChocolate'), + target: 'Shade', + article: '' + }, + Fish: { + canBuy: false, + canDrop: false, + text: t('foodFish'), + target: 'Skeleton', + article: 'a ' + }, + RottenMeat: { + canBuy: false, + canDrop: false, + text: t('foodRottenMeat'), + target: 'Zombie', + article: '' + }, + CottonCandyPink: { + canBuy: false, + canDrop: false, + text: t('foodCottonCandyPink'), + target: 'CottonCandyPink', + article: '' + }, + CottonCandyBlue: { + canBuy: false, + canDrop: false, + text: t('foodCottonCandyBlue'), + target: 'CottonCandyBlue', + article: '' + }, + Honey: { + canBuy: false, + canDrop: false, + text: t('foodHoney'), + target: 'Golden', + article: '' + }, + Saddle: { + canBuy: true, + canDrop: false, + text: t('foodSaddleText'), + value: 5, + notes: t('foodSaddleNotes') + }, + Cake_Skeleton: { + canBuy: true, + canDrop: true, + text: t('foodCakeSkeleton'), + target: 'Skeleton', + article: '' + }, + Cake_Base: { + canBuy: true, + canDrop: true, + text: t('foodCakeBase'), + target: 'Base', + article: '' + }, + Cake_CottonCandyBlue: { + canBuy: true, + canDrop: true, + text: t('foodCakeCottonCandyBlue'), + target: 'CottonCandyBlue', + article: '' + }, + Cake_CottonCandyPink: { + canBuy: true, + canDrop: true, + text: t('foodCakeCottonCandyPink'), + target: 'CottonCandyPink', + article: '' + }, + Cake_Shade: { + canBuy: true, + canDrop: true, + text: t('foodCakeShade'), + target: 'Shade', + article: '' + }, + Cake_White: { + canBuy: true, + canDrop: true, + text: t('foodCakeWhite'), + target: 'White', + article: '' + }, + Cake_Golden: { + canBuy: true, + canDrop: true, + text: t('foodCakeGolden'), + target: 'Golden', + article: '' + }, + Cake_Zombie: { + canBuy: true, + canDrop: true, + text: t('foodCakeZombie'), + target: 'Zombie', + article: '' + }, + Cake_Desert: { + canBuy: true, + canDrop: true, + text: t('foodCakeDesert'), + target: 'Desert', + article: '' + }, + Cake_Red: { + canBuy: true, + canDrop: true, + text: t('foodCakeRed'), + target: 'Red', + article: '' + }, + Candy_Skeleton: { + canBuy: false, + canDrop: false, + text: t('foodCandySkeleton'), + target: 'Skeleton', + article: '' + }, + Candy_Base: { + canBuy: false, + canDrop: false, + text: t('foodCandyBase'), + target: 'Base', + article: '' + }, + Candy_CottonCandyBlue: { + canBuy: false, + canDrop: false, + text: t('foodCandyCottonCandyBlue'), + target: 'CottonCandyBlue', + article: '' + }, + Candy_CottonCandyPink: { + canBuy: false, + canDrop: false, + text: t('foodCandyCottonCandyPink'), + target: 'CottonCandyPink', + article: '' + }, + Candy_Shade: { + canBuy: false, + canDrop: false, + text: t('foodCandyShade'), + target: 'Shade', + article: '' + }, + Candy_White: { + canBuy: false, + canDrop: false, + text: t('foodCandyWhite'), + target: 'White', + article: '' + }, + Candy_Golden: { + canBuy: false, + canDrop: false, + text: t('foodCandyGolden'), + target: 'Golden', + article: '' + }, + Candy_Zombie: { + canBuy: false, + canDrop: false, + text: t('foodCandyZombie'), + target: 'Zombie', + article: '' + }, + Candy_Desert: { + canBuy: false, + canDrop: false, + text: t('foodCandyDesert'), + target: 'Desert', + article: '' + }, + Candy_Red: { + canBuy: false, + canDrop: false, + text: t('foodCandyRed'), + target: 'Red', + article: '' + } +}; + +_.each(api.food, function(food, key) { + return _.defaults(food, { + value: 1, + key: key, + notes: t('foodNotes') + }); +}); + +api.quests = { + dilatory: { + text: t("questDilatoryText"), + notes: t("questDilatoryNotes"), + completion: t("questDilatoryCompletion"), + value: 0, + canBuy: false, + boss: { + name: t("questDilatoryBoss"), + hp: 5000000, + str: 1, + def: 1, + rage: { + title: t("questDilatoryBossRageTitle"), + description: t("questDilatoryBossRageDescription"), + value: 4000000, + tavern: t('questDilatoryBossRageTavern'), + stables: t('questDilatoryBossRageStables'), + market: t('questDilatoryBossRageMarket') + } + }, + drop: { + items: [ + { + type: 'pets', + key: 'MantisShrimp-Base', + text: t('questDilatoryDropMantisShrimpPet') + }, { + type: 'mounts', + key: 'MantisShrimp-Base', + text: t('questDilatoryDropMantisShrimpMount') + }, { + type: 'food', + key: 'Meat', + text: t('foodMeat') + }, { + type: 'food', + key: 'Milk', + text: t('foodMilk') + }, { + type: 'food', + key: 'Potatoe', + text: t('foodPotatoe') + }, { + type: 'food', + key: 'Strawberry', + text: t('foodStrawberry') + }, { + type: 'food', + key: 'Chocolate', + text: t('foodChocolate') + }, { + type: 'food', + key: 'Fish', + text: t('foodFish') + }, { + type: 'food', + key: 'RottenMeat', + text: t('foodRottenMeat') + }, { + type: 'food', + key: 'CottonCandyPink', + text: t('foodCottonCandyPink') + }, { + type: 'food', + key: 'CottonCandyBlue', + text: t('foodCottonCandyBlue') + }, { + type: 'food', + key: 'Honey', + text: t('foodHoney') + } + ], + gp: 0, + exp: 0 + } + }, + stressbeast: { + text: t("questStressbeastText"), + notes: t("questStressbeastNotes"), + completion: t("questStressbeastCompletion"), + completionChat: t("questStressbeastCompletionChat"), + value: 0, + canBuy: false, + boss: { + name: t("questStressbeastBoss"), + hp: 2750000, + str: 1, + def: 1, + rage: { + title: t("questStressbeastBossRageTitle"), + description: t("questStressbeastBossRageDescription"), + value: 1450000, + healing: .3, + stables: t('questStressbeastBossRageStables'), + bailey: t('questStressbeastBossRageBailey'), + guide: t('questStressbeastBossRageGuide') + }, + desperation: { + threshold: 500000, + str: 3.5, + def: 2, + text: t('questStressbeastDesperation') + } + }, + drop: { + items: [ + { + type: 'pets', + key: 'Mammoth-Base', + text: t('questStressbeastDropMammothPet') + }, { + type: 'mounts', + key: 'Mammoth-Base', + text: t('questStressbeastDropMammothMount') + }, { + type: 'food', + key: 'Meat', + text: t('foodMeat') + }, { + type: 'food', + key: 'Milk', + text: t('foodMilk') + }, { + type: 'food', + key: 'Potatoe', + text: t('foodPotatoe') + }, { + type: 'food', + key: 'Strawberry', + text: t('foodStrawberry') + }, { + type: 'food', + key: 'Chocolate', + text: t('foodChocolate') + }, { + type: 'food', + key: 'Fish', + text: t('foodFish') + }, { + type: 'food', + key: 'RottenMeat', + text: t('foodRottenMeat') + }, { + type: 'food', + key: 'CottonCandyPink', + text: t('foodCottonCandyPink') + }, { + type: 'food', + key: 'CottonCandyBlue', + text: t('foodCottonCandyBlue') + }, { + type: 'food', + key: 'Honey', + text: t('foodHoney') + } + ], + gp: 0, + exp: 0 + } + }, + evilsanta: { + canBuy: false, + text: t('questEvilSantaText'), + notes: t('questEvilSantaNotes'), + completion: t('questEvilSantaCompletion'), + value: 4, + boss: { + name: t('questEvilSantaBoss'), + hp: 300, + str: 1 + }, + drop: { + items: [ + { + type: 'mounts', + key: 'BearCub-Polar', + text: t('questEvilSantaDropBearCubPolarMount') + } + ], + gp: 20, + exp: 100 + } + }, + evilsanta2: { + canBuy: false, + text: t('questEvilSanta2Text'), + notes: t('questEvilSanta2Notes'), + completion: t('questEvilSanta2Completion'), + value: 4, + previous: 'evilsanta', + collect: { + tracks: { + text: t('questEvilSanta2CollectTracks'), + count: 20 + }, + branches: { + text: t('questEvilSanta2CollectBranches'), + count: 10 + } + }, + drop: { + items: [ + { + type: 'pets', + key: 'BearCub-Polar', + text: t('questEvilSanta2DropBearCubPolarPet') + } + ], + gp: 20, + exp: 100 + } + }, + gryphon: { + text: t('questGryphonText'), + notes: t('questGryphonNotes'), + completion: t('questGryphonCompletion'), + value: 4, + boss: { + name: t('questGryphonBoss'), + hp: 300, + str: 1.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Gryphon', + text: t('questGryphonDropGryphonEgg') + }, { + type: 'eggs', + key: 'Gryphon', + text: t('questGryphonDropGryphonEgg') + }, { + type: 'eggs', + key: 'Gryphon', + text: t('questGryphonDropGryphonEgg') + } + ], + gp: 25, + exp: 125 + } + }, + hedgehog: { + text: t('questHedgehogText'), + notes: t('questHedgehogNotes'), + completion: t('questHedgehogCompletion'), + value: 4, + boss: { + name: t('questHedgehogBoss'), + hp: 400, + str: 1.25 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Hedgehog', + text: t('questHedgehogDropHedgehogEgg') + }, { + type: 'eggs', + key: 'Hedgehog', + text: t('questHedgehogDropHedgehogEgg') + }, { + type: 'eggs', + key: 'Hedgehog', + text: t('questHedgehogDropHedgehogEgg') + } + ], + gp: 30, + exp: 125 + } + }, + ghost_stag: { + text: t('questGhostStagText'), + notes: t('questGhostStagNotes'), + completion: t('questGhostStagCompletion'), + value: 4, + boss: { + name: t('questGhostStagBoss'), + hp: 1200, + str: 2.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Deer', + text: t('questGhostStagDropDeerEgg') + }, { + type: 'eggs', + key: 'Deer', + text: t('questGhostStagDropDeerEgg') + }, { + type: 'eggs', + key: 'Deer', + text: t('questGhostStagDropDeerEgg') + } + ], + gp: 80, + exp: 800 + } + }, + vice1: { + text: t('questVice1Text'), + notes: t('questVice1Notes'), + value: 4, + lvl: 30, + boss: { + name: t('questVice1Boss'), + hp: 750, + str: 1.5 + }, + drop: { + items: [ + { + type: 'quests', + key: "vice2", + text: t('questVice1DropVice2Quest') + } + ], + gp: 20, + exp: 100 + } + }, + vice2: { + text: t('questVice2Text'), + notes: t('questVice2Notes'), + value: 4, + lvl: 35, + previous: 'vice1', + collect: { + lightCrystal: { + text: t('questVice2CollectLightCrystal'), + count: 45 + } + }, + drop: { + items: [ + { + type: 'quests', + key: 'vice3', + text: t('questVice2DropVice3Quest') + } + ], + gp: 20, + exp: 75 + } + }, + vice3: { + text: t('questVice3Text'), + notes: t('questVice3Notes'), + completion: t('questVice3Completion'), + previous: 'vice2', + value: 4, + lvl: 40, + boss: { + name: t('questVice3Boss'), + hp: 1500, + str: 3 + }, + drop: { + items: [ + { + type: 'gear', + key: "weapon_special_2", + text: t('questVice3DropWeaponSpecial2') + }, { + type: 'eggs', + key: 'Dragon', + text: t('questVice3DropDragonEgg') + }, { + type: 'eggs', + key: 'Dragon', + text: t('questVice3DropDragonEgg') + }, { + type: 'hatchingPotions', + key: 'Shade', + text: t('questVice3DropShadeHatchingPotion') + }, { + type: 'hatchingPotions', + key: 'Shade', + text: t('questVice3DropShadeHatchingPotion') + } + ], + gp: 100, + exp: 1000 + } + }, + egg: { + text: t('questEggHuntText'), + notes: t('questEggHuntNotes'), + completion: t('questEggHuntCompletion'), + value: 1, + canBuy: false, + collect: { + plainEgg: { + text: t('questEggHuntCollectPlainEgg'), + count: 100 + } + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + }, { + type: 'eggs', + key: 'Egg', + text: t('questEggHuntDropPlainEgg') + } + ], + gp: 0, + exp: 0 + } + }, + rat: { + text: t('questRatText'), + notes: t('questRatNotes'), + completion: t('questRatCompletion'), + value: 4, + boss: { + name: t('questRatBoss'), + hp: 1200, + str: 2.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Rat', + text: t('questRatDropRatEgg') + }, { + type: 'eggs', + key: 'Rat', + text: t('questRatDropRatEgg') + }, { + type: 'eggs', + key: 'Rat', + text: t('questRatDropRatEgg') + } + ], + gp: 80, + exp: 800 + } + }, + octopus: { + text: t('questOctopusText'), + notes: t('questOctopusNotes'), + completion: t('questOctopusCompletion'), + value: 4, + boss: { + name: t('questOctopusBoss'), + hp: 1200, + str: 2.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Octopus', + text: t('questOctopusDropOctopusEgg') + }, { + type: 'eggs', + key: 'Octopus', + text: t('questOctopusDropOctopusEgg') + }, { + type: 'eggs', + key: 'Octopus', + text: t('questOctopusDropOctopusEgg') + } + ], + gp: 80, + exp: 800 + } + }, + dilatory_derby: { + text: t('questSeahorseText'), + notes: t('questSeahorseNotes'), + completion: t('questSeahorseCompletion'), + value: 4, + boss: { + name: t('questSeahorseBoss'), + hp: 300, + str: 1.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Seahorse', + text: t('questSeahorseDropSeahorseEgg') + }, { + type: 'eggs', + key: 'Seahorse', + text: t('questSeahorseDropSeahorseEgg') + }, { + type: 'eggs', + key: 'Seahorse', + text: t('questSeahorseDropSeahorseEgg') + } + ], + gp: 25, + exp: 125 + } + }, + atom1: { + text: t('questAtom1Text'), + notes: t('questAtom1Notes'), + value: 4, + lvl: 15, + collect: { + soapBars: { + text: t('questAtom1CollectSoapBars'), + count: 20 + } + }, + drop: { + items: [ + { + type: 'quests', + key: "atom2", + text: t('questAtom1Drop') + } + ], + gp: 7, + exp: 50 + } + }, + atom2: { + text: t('questAtom2Text'), + notes: t('questAtom2Notes'), + previous: 'atom1', + value: 4, + lvl: 15, + boss: { + name: t('questAtom2Boss'), + hp: 300, + str: 1 + }, + drop: { + items: [ + { + type: 'quests', + key: "atom3", + text: t('questAtom2Drop') + } + ], + gp: 20, + exp: 100 + } + }, + atom3: { + text: t('questAtom3Text'), + notes: t('questAtom3Notes'), + previous: 'atom2', + completion: t('questAtom3Completion'), + value: 4, + lvl: 15, + boss: { + name: t('questAtom3Boss'), + hp: 800, + str: 1.5 + }, + drop: { + items: [ + { + type: 'gear', + key: "head_special_2", + text: t('headSpecial2Text') + }, { + type: 'hatchingPotions', + key: "Base", + text: t('questAtom3DropPotion') + }, { + type: 'hatchingPotions', + key: "Base", + text: t('questAtom3DropPotion') + } + ], + gp: 25, + exp: 125 + } + }, + harpy: { + text: t('questHarpyText'), + notes: t('questHarpyNotes'), + completion: t('questHarpyCompletion'), + value: 4, + boss: { + name: t('questHarpyBoss'), + hp: 600, + str: 1.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Parrot', + text: t('questHarpyDropParrotEgg') + }, { + type: 'eggs', + key: 'Parrot', + text: t('questHarpyDropParrotEgg') + }, { + type: 'eggs', + key: 'Parrot', + text: t('questHarpyDropParrotEgg') + } + ], + gp: 43, + exp: 350 + } + }, + rooster: { + text: t('questRoosterText'), + notes: t('questRoosterNotes'), + completion: t('questRoosterCompletion'), + value: 4, + boss: { + name: t('questRoosterBoss'), + hp: 300, + str: 1.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Rooster', + text: t('questRoosterDropRoosterEgg') + }, { + type: 'eggs', + key: 'Rooster', + text: t('questRoosterDropRoosterEgg') + }, { + type: 'eggs', + key: 'Rooster', + text: t('questRoosterDropRoosterEgg') + } + ], + gp: 25, + exp: 125 + } + }, + spider: { + text: t('questSpiderText'), + notes: t('questSpiderNotes'), + completion: t('questSpiderCompletion'), + value: 4, + boss: { + name: t('questSpiderBoss'), + hp: 400, + str: 1.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Spider', + text: t('questSpiderDropSpiderEgg') + }, { + type: 'eggs', + key: 'Spider', + text: t('questSpiderDropSpiderEgg') + }, { + type: 'eggs', + key: 'Spider', + text: t('questSpiderDropSpiderEgg') + } + ], + gp: 31, + exp: 200 + } + }, + moonstone1: { + text: t('questMoonstone1Text'), + notes: t('questMoonstone1Notes'), + value: 4, + lvl: 60, + collect: { + moonstone: { + text: t('questMoonstone1CollectMoonstone'), + count: 500 + } + }, + drop: { + items: [ + { + type: 'quests', + key: "moonstone2", + text: t('questMoonstone1DropMoonstone2Quest') + } + ], + gp: 50, + exp: 100 + } + }, + moonstone2: { + text: t('questMoonstone2Text'), + notes: t('questMoonstone2Notes'), + value: 4, + lvl: 65, + previous: 'moonstone1', + boss: { + name: t('questMoonstone2Boss'), + hp: 1500, + str: 3 + }, + drop: { + items: [ + { + type: 'quests', + key: 'moonstone3', + text: t('questMoonstone2DropMoonstone3Quest') + } + ], + gp: 500, + exp: 1000 + } + }, + moonstone3: { + text: t('questMoonstone3Text'), + notes: t('questMoonstone3Notes'), + completion: t('questMoonstone3Completion'), + previous: 'moonstone2', + value: 4, + lvl: 70, + boss: { + name: t('questMoonstone3Boss'), + hp: 2000, + str: 3.5 + }, + drop: { + items: [ + { + type: 'gear', + key: "armor_special_2", + text: t('armorSpecial2Text') + }, { + type: 'food', + key: 'RottenMeat', + text: t('questMoonstone3DropRottenMeat') + }, { + type: 'food', + key: 'RottenMeat', + text: t('questMoonstone3DropRottenMeat') + }, { + type: 'food', + key: 'RottenMeat', + text: t('questMoonstone3DropRottenMeat') + }, { + type: 'food', + key: 'RottenMeat', + text: t('questMoonstone3DropRottenMeat') + }, { + type: 'food', + key: 'RottenMeat', + text: t('questMoonstone3DropRottenMeat') + }, { + type: 'hatchingPotions', + key: 'Zombie', + text: t('questMoonstone3DropZombiePotion') + }, { + type: 'hatchingPotions', + key: 'Zombie', + text: t('questMoonstone3DropZombiePotion') + }, { + type: 'hatchingPotions', + key: 'Zombie', + text: t('questMoonstone3DropZombiePotion') + } + ], + gp: 900, + exp: 1500 + } + }, + goldenknight1: { + text: t('questGoldenknight1Text'), + notes: t('questGoldenknight1Notes'), + value: 4, + lvl: 40, + collect: { + testimony: { + text: t('questGoldenknight1CollectTestimony'), + count: 300 + } + }, + drop: { + items: [ + { + type: 'quests', + key: "goldenknight2", + text: t('questGoldenknight1DropGoldenknight2Quest') + } + ], + gp: 15, + exp: 120 + } + }, + goldenknight2: { + text: t('questGoldenknight2Text'), + notes: t('questGoldenknight2Notes'), + value: 4, + previous: 'goldenknight1', + lvl: 45, + boss: { + name: t('questGoldenknight2Boss'), + hp: 1000, + str: 3 + }, + drop: { + items: [ + { + type: 'quests', + key: 'goldenknight3', + text: t('questGoldenknight2DropGoldenknight3Quest') + } + ], + gp: 75, + exp: 750 + } + }, + goldenknight3: { + text: t('questGoldenknight3Text'), + notes: t('questGoldenknight3Notes'), + completion: t('questGoldenknight3Completion'), + previous: 'goldenknight2', + value: 4, + lvl: 50, + boss: { + name: t('questGoldenknight3Boss'), + hp: 1700, + str: 3.5 + }, + drop: { + items: [ + { + type: 'food', + key: 'Honey', + text: t('questGoldenknight3DropHoney') + }, { + type: 'food', + key: 'Honey', + text: t('questGoldenknight3DropHoney') + }, { + type: 'food', + key: 'Honey', + text: t('questGoldenknight3DropHoney') + }, { + type: 'hatchingPotions', + key: 'Golden', + text: t('questGoldenknight3DropGoldenPotion') + }, { + type: 'hatchingPotions', + key: 'Golden', + text: t('questGoldenknight3DropGoldenPotion') + }, { + type: 'gear', + key: 'shield_special_goldenknight', + text: t('questGoldenknight3DropWeapon') + } + ], + gp: 900, + exp: 1500 + } + }, + basilist: { + text: t('questBasilistText'), + notes: t('questBasilistNotes'), + completion: t('questBasilistCompletion'), + canBuy: false, + value: 4, + boss: { + name: t('questBasilistBoss'), + hp: 100, + str: 0.5 + }, + drop: { + gp: 8, + exp: 42 + } + }, + owl: { + text: t('questOwlText'), + notes: t('questOwlNotes'), + completion: t('questOwlCompletion'), + value: 4, + boss: { + name: t('questOwlBoss'), + hp: 500, + str: 1.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Owl', + text: t('questOwlDropOwlEgg') + }, { + type: 'eggs', + key: 'Owl', + text: t('questOwlDropOwlEgg') + }, { + type: 'eggs', + key: 'Owl', + text: t('questOwlDropOwlEgg') + } + ], + gp: 37, + exp: 275 + } + }, + penguin: { + text: t('questPenguinText'), + notes: t('questPenguinNotes'), + completion: t('questPenguinCompletion'), + value: 4, + boss: { + name: t('questPenguinBoss'), + hp: 400, + str: 1.5 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'Penguin', + text: t('questPenguinDropPenguinEgg') + }, { + type: 'eggs', + key: 'Penguin', + text: t('questPenguinDropPenguinEgg') + }, { + type: 'eggs', + key: 'Penguin', + text: t('questPenguinDropPenguinEgg') + } + ], + gp: 31, + exp: 200 + } + }, + trex: { + text: t('questTRexText'), + notes: t('questTRexNotes'), + completion: t('questTRexCompletion'), + value: 4, + boss: { + name: t('questTRexBoss'), + hp: 800, + str: 2 + }, + drop: { + items: [ + { + type: 'eggs', + key: 'TRex', + text: t('questTRexDropTRexEgg') + }, { + type: 'eggs', + key: 'TRex', + text: t('questTRexDropTRexEgg') + }, { + type: 'eggs', + key: 'TRex', + text: t('questTRexDropTRexEgg') + } + ], + gp: 55, + exp: 500 + } + }, + trex_undead: { + text: t('questTRexUndeadText'), + notes: t('questTRexUndeadNotes'), + completion: t('questTRexUndeadCompletion'), + value: 4, + boss: { + name: t('questTRexUndeadBoss'), + hp: 500, + str: 2, + rage: { + title: t("questTRexUndeadRageTitle"), + description: t("questTRexUndeadRageDescription"), + value: 50, + healing: .3, + effect: t('questTRexUndeadRageEffect') + } + }, + drop: { + items: [ + { + type: 'eggs', + key: 'TRex', + text: t('questTRexDropTRexEgg') + }, { + type: 'eggs', + key: 'TRex', + text: t('questTRexDropTRexEgg') + }, { + type: 'eggs', + key: 'TRex', + text: t('questTRexDropTRexEgg') + } + ], + gp: 55, + exp: 500 + } + } +}; + +_.each(api.quests, function(v, key) { + var b; + _.defaults(v, { + key: key, + canBuy: true + }); + b = v.boss; + if (b) { + _.defaults(b, { + str: 1, + def: 1 + }); + if (b.rage) { + return _.defaults(b.rage, { + title: t('bossRageTitle'), + description: t('bossRageDescription') + }); + } + } +}); + +api.backgrounds = { + backgrounds062014: { + beach: { + text: t('backgroundBeachText'), + notes: t('backgroundBeachNotes') + }, + fairy_ring: { + text: t('backgroundFairyRingText'), + notes: t('backgroundFairyRingNotes') + }, + forest: { + text: t('backgroundForestText'), + notes: t('backgroundForestNotes') + } + }, + backgrounds072014: { + open_waters: { + text: t('backgroundOpenWatersText'), + notes: t('backgroundOpenWatersNotes') + }, + coral_reef: { + text: t('backgroundCoralReefText'), + notes: t('backgroundCoralReefNotes') + }, + seafarer_ship: { + text: t('backgroundSeafarerShipText'), + notes: t('backgroundSeafarerShipNotes') + } + }, + backgrounds082014: { + volcano: { + text: t('backgroundVolcanoText'), + notes: t('backgroundVolcanoNotes') + }, + clouds: { + text: t('backgroundCloudsText'), + notes: t('backgroundCloudsNotes') + }, + dusty_canyons: { + text: t('backgroundDustyCanyonsText'), + notes: t('backgroundDustyCanyonsNotes') + } + }, + backgrounds092014: { + thunderstorm: { + text: t('backgroundThunderstormText'), + notes: t('backgroundThunderstormNotes') + }, + autumn_forest: { + text: t('backgroundAutumnForestText'), + notes: t('backgroundAutumnForestNotes') + }, + harvest_fields: { + text: t('backgroundHarvestFieldsText'), + notes: t('backgroundHarvestFieldsNotes') + } + }, + backgrounds102014: { + graveyard: { + text: t('backgroundGraveyardText'), + notes: t('backgroundGraveyardNotes') + }, + haunted_house: { + text: t('backgroundHauntedHouseText'), + notes: t('backgroundHauntedHouseNotes') + }, + pumpkin_patch: { + text: t('backgroundPumpkinPatchText'), + notes: t('backgroundPumpkinPatchNotes') + } + }, + backgrounds112014: { + harvest_feast: { + text: t('backgroundHarvestFeastText'), + notes: t('backgroundHarvestFeastNotes') + }, + sunset_meadow: { + text: t('backgroundSunsetMeadowText'), + notes: t('backgroundSunsetMeadowNotes') + }, + starry_skies: { + text: t('backgroundStarrySkiesText'), + notes: t('backgroundStarrySkiesNotes') + } + }, + backgrounds122014: { + iceberg: { + text: t('backgroundIcebergText'), + notes: t('backgroundIcebergNotes') + }, + twinkly_lights: { + text: t('backgroundTwinklyLightsText'), + notes: t('backgroundTwinklyLightsNotes') + }, + south_pole: { + text: t('backgroundSouthPoleText'), + notes: t('backgroundSouthPoleNotes') + } + }, + backgrounds012015: { + ice_cave: { + text: t('backgroundIceCaveText'), + notes: t('backgroundIceCaveNotes') + }, + frigid_peak: { + text: t('backgroundFrigidPeakText'), + notes: t('backgroundFrigidPeakNotes') + }, + snowy_pines: { + text: t('backgroundSnowyPinesText'), + notes: t('backgroundSnowyPinesNotes') + } + } +}; + +api.subscriptionBlocks = { + basic_earned: { + months: 1, + price: 5 + }, + basic_3mo: { + months: 3, + price: 15 + }, + basic_6mo: { + months: 6, + price: 30 + }, + google_6mo: { + months: 6, + price: 24, + discount: true, + original: 30 + }, + basic_12mo: { + months: 12, + price: 48 + } +}; + +_.each(api.subscriptionBlocks, function(b, k) { + return b.key = k; +}); + +repeat = { + m: true, + t: true, + w: true, + th: true, + f: true, + s: true, + su: true +}; + +api.userDefaults = { + habits: [ + { + type: 'habit', + text: t('defaultHabit1Text'), + notes: t('defaultHabit1Notes'), + value: 0, + up: true, + down: false, + attribute: 'per' + }, { + type: 'habit', + text: t('defaultHabit2Text'), + notes: t('defaultHabit2Notes'), + value: 0, + up: false, + down: true, + attribute: 'con' + }, { + type: 'habit', + text: t('defaultHabit3Text'), + notes: t('defaultHabit3Notes'), + value: 0, + up: true, + down: true, + attribute: 'str' + } + ], + dailys: [ + { + type: 'daily', + text: t('defaultDaily1Text'), + notes: t('defaultDaily1Notes'), + value: 0, + completed: false, + repeat: repeat, + attribute: 'per' + }, { + type: 'daily', + text: t('defaultDaily2Text'), + notes: t('defaultDaily2Notes'), + value: 3, + completed: false, + repeat: repeat, + attribute: 'con' + }, { + type: 'daily', + text: t('defaultDaily3Text'), + notes: t('defaultDaily3Notes'), + value: -10, + completed: false, + repeat: repeat, + attribute: 'int' + }, { + type: 'daily', + text: t('defaultDaily4Text'), + notes: t('defaultDaily4Notes'), + checklist: [ + { + completed: true, + text: t('defaultDaily4Checklist1') + }, { + completed: false, + text: t('defaultDaily4Checklist2') + }, { + completed: false, + text: t('defaultDaily4Checklist3') + } + ], + completed: false, + repeat: repeat, + attribute: 'str' + } + ], + todos: [ + { + type: 'todo', + text: t('defaultTodo1Text'), + notes: t('defaultTodoNotes'), + completed: false, + attribute: 'int' + }, { + type: 'todo', + text: t('defaultTodo2Text'), + notes: t('defaultTodoNotes'), + checklist: [ + { + completed: false, + text: t('defaultTodo2Checklist1') + }, { + completed: false, + text: t('defaultTodo2Checklist2') + }, { + completed: false, + text: t('defaultTodo2Checklist3') + } + ], + completed: false, + attribute: 'per' + }, { + type: 'todo', + text: t('defaultTodo3Text'), + notes: t('defaultTodoNotes'), + checklist: [ + { + completed: false, + text: t('defaultTodo3Checklist1') + }, { + completed: false, + text: t('defaultTodo3Checklist2') + }, { + completed: false, + text: t('defaultTodo3Checklist3') + } + ], + completed: false, + attribute: 'per' + }, { + type: 'todo', + text: t('defaultTodo4Text'), + notes: t('defaultTodoNotes'), + checklist: [ + { + completed: false, + text: t('defaultTodo4Checklist1') + }, { + completed: false, + text: t('defaultTodo4Checklist2') + }, { + completed: false, + text: t('defaultTodo4Checklist3') + } + ], + completed: false, + attribute: 'per' + }, { + type: 'todo', + text: t('defaultTodo5Text'), + notes: t('defaultTodoNotes'), + completed: false, + attribute: 'per' + } + ], + rewards: [ + { + type: 'reward', + text: t('defaultReward1Text'), + notes: t('defaultReward1Notes'), + value: 20 + }, { + type: 'reward', + text: t('defaultReward2Text'), + notes: t('defaultReward2Notes'), + value: 10 + } + ], + tags: [ + { + name: t('defaultTag1') + }, { + name: t('defaultTag2') + }, { + name: t('defaultTag3') + } + ] +}; + + +},{"./i18n.coffee":3,"lodash":6,"moment":7}],3:[function(require,module,exports){ +var _; + +_ = require('lodash'); + +module.exports = { + strings: null, + translations: {}, + t: function(stringName) { + var e, locale, string, stringNotFound, vars; + vars = arguments[1]; + if (_.isString(arguments[1])) { + vars = null; + locale = arguments[1]; + } else if (arguments[2] != null) { + vars = arguments[1]; + locale = arguments[2]; + } + if ((locale == null) || (!module.exports.strings && !module.exports.translations[locale])) { + locale = 'en'; + } + string = !module.exports.strings ? module.exports.translations[locale][stringName] : module.exports.strings[stringName]; + if (string) { + try { + return _.template(string, vars || {}); + } catch (_error) { + e = _error; + return 'Error processing string. Please report to http://github.com/HabitRPG/habitrpg.'; + } + } else { + stringNotFound = !module.exports.strings ? module.exports.translations[locale].stringNotFound : module.exports.strings.stringNotFound; + try { + return _.template(stringNotFound, { + string: stringName + }); + } catch (_error) { + e = _error; + return 'Error processing string. Please report to http://github.com/HabitRPG/habitrpg.'; + } + } + } +}; + + +},{"lodash":6}],4:[function(require,module,exports){ +(function (process){ +var $w, api, content, i18n, moment, preenHistory, sanitizeOptions, sortOrder, _, + __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; }; + +moment = require('moment'); + +_ = require('lodash'); + +content = require('./content.coffee'); + +i18n = require('./i18n.coffee'); + +api = module.exports = {}; + +api.i18n = i18n; + +$w = api.$w = function(s) { + return s.split(' '); +}; + +api.dotSet = function(obj, path, val) { + var arr; + arr = path.split('.'); + return _.reduce(arr, (function(_this) { + return function(curr, next, index) { + if ((arr.length - 1) === index) { + curr[next] = val; + } + return curr[next] != null ? curr[next] : curr[next] = {}; + }; + })(this), obj); +}; + +api.dotGet = function(obj, path) { + return _.reduce(path.split('.'), ((function(_this) { + return function(curr, next) { + return curr != null ? curr[next] : void 0; + }; + })(this)), obj); +}; + + +/* + Reflists are arrays, but stored as objects. Mongoose has a helluvatime working with arrays (the main problem for our + syncing issues) - so the goal is to move away from arrays to objects, since mongoose can reference elements by ID + no problem. To maintain sorting, we use these helper functions: + */ + +api.refPush = function(reflist, item, prune) { + if (prune == null) { + prune = 0; + } + item.sort = _.isEmpty(reflist) ? 0 : _.max(reflist, 'sort').sort + 1; + if (!(item.id && !reflist[item.id])) { + item.id = api.uuid(); + } + return reflist[item.id] = item; +}; + +api.planGemLimits = { + convRate: 20, + convCap: 25 +}; + + +/* + ------------------------------------------------------ + Time / Day + ------------------------------------------------------ + */ + + +/* + Each time we're performing date math (cron, task-due-days, etc), we need to take user preferences into consideration. + Specifically {dayStart} (custom day start) and {timezoneOffset}. This function sanitizes / defaults those values. + {now} is also passed in for various purposes, one example being the test scripts scripts testing different "now" times + */ + +sanitizeOptions = function(o) { + var dayStart, now, timezoneOffset, _ref; + dayStart = !_.isNaN(+o.dayStart) && (0 <= (_ref = +o.dayStart) && _ref <= 24) ? +o.dayStart : 0; + timezoneOffset = o.timezoneOffset ? +o.timezoneOffset : +moment().zone(); + now = o.now ? moment(o.now).zone(timezoneOffset) : moment(+(new Date)).zone(timezoneOffset); + return { + dayStart: dayStart, + timezoneOffset: timezoneOffset, + now: now + }; +}; + +api.startOfWeek = api.startOfWeek = function(options) { + var o; + if (options == null) { + options = {}; + } + o = sanitizeOptions(options); + return moment(o.now).startOf('week'); +}; + +api.startOfDay = function(options) { + var dayStart, o; + if (options == null) { + options = {}; + } + o = sanitizeOptions(options); + dayStart = moment(o.now).startOf('day').add({ + hours: o.dayStart + }); + if (moment(o.now).hour() < o.dayStart) { + dayStart.subtract({ + days: 1 + }); + } + return dayStart; +}; + +api.dayMapping = { + 0: 'su', + 1: 'm', + 2: 't', + 3: 'w', + 4: 'th', + 5: 'f', + 6: 's' +}; + + +/* + Absolute diff from "yesterday" till now + */ + +api.daysSince = function(yesterday, options) { + var o; + if (options == null) { + options = {}; + } + o = sanitizeOptions(options); + return Math.abs(api.startOfDay(_.defaults({ + now: yesterday + }, o)).diff(api.startOfDay(_.defaults({ + now: o.now + }, o)), 'days')); +}; + + +/* + Should the user do this taks on this date, given the task's repeat options and user.preferences.dayStart? + */ + +api.shouldDo = function(day, repeat, options) { + var o, selected; + if (options == null) { + options = {}; + } + if (!repeat) { + return false; + } + o = sanitizeOptions(options); + selected = repeat[api.dayMapping[api.startOfDay(_.defaults({ + now: day + }, o)).day()]]; + return selected; +}; + + +/* + ------------------------------------------------------ + Scoring + ------------------------------------------------------ + */ + +api.tnl = function(lvl) { + return Math.round(((Math.pow(lvl, 2) * 0.25) + (10 * lvl) + 139.75) / 10) * 10; +}; + + +/* + A hyperbola function that creates diminishing returns, so you can't go to infinite (eg, with Exp gain). + {max} The asymptote + {bonus} All the numbers combined for your point bonus (eg, task.value * user.stats.int * critChance, etc) + {halfway} (optional) the point at which the graph starts bending + */ + +api.diminishingReturns = function(bonus, max, halfway) { + if (halfway == null) { + halfway = max / 2; + } + return max * (bonus / (bonus + halfway)); +}; + +api.monod = function(bonus, rateOfIncrease, max) { + return rateOfIncrease * max * bonus / (rateOfIncrease * bonus + max); +}; + + +/* +Preen history for users with > 7 history entries +This takes an infinite array of single day entries [day day day day day...], and turns it into a condensed array +of averages, condensing more the further back in time we go. Eg, 7 entries each for last 7 days; 1 entry each week +of this month; 1 entry for each month of this year; 1 entry per previous year: [day*7 week*4 month*12 year*infinite] + */ + +preenHistory = function(history) { + var newHistory, preen, thisMonth; + history = _.filter(history, function(h) { + return !!h; + }); + newHistory = []; + preen = function(amount, groupBy) { + var groups; + groups = _.chain(history).groupBy(function(h) { + return moment(h.date).format(groupBy); + }).sortBy(function(h, k) { + return k; + }).value(); + groups = groups.slice(-amount); + groups.pop(); + return _.each(groups, function(group) { + newHistory.push({ + date: moment(group[0].date).toDate(), + value: _.reduce(group, (function(m, obj) { + return m + obj.value; + }), 0) / group.length + }); + return true; + }); + }; + preen(50, "YYYY"); + preen(moment().format('MM'), "YYYYMM"); + thisMonth = moment().format('YYYYMM'); + newHistory = newHistory.concat(_.filter(history, function(h) { + return moment(h.date).format('YYYYMM') === thisMonth; + })); + return newHistory; +}; + + +/* + Update the in-browser store with new gear. FIXME this was in user.fns, but it was causing strange issues there + */ + +sortOrder = _.reduce(content.gearTypes, (function(m, v, k) { + m[v] = k; + return m; +}), {}); + +api.updateStore = function(user) { + var changes; + if (!user) { + return; + } + changes = []; + _.each(content.gearTypes, function(type) { + var found; + found = _.find(content.gear.tree[type][user.stats["class"]], function(item) { + return !user.items.gear.owned[item.key]; + }); + if (found) { + changes.push(found); + } + return true; + }); + changes = changes.concat(_.filter(content.gear.flat, function(v) { + var _ref; + return ((_ref = v.klass) === 'special' || _ref === 'mystery') && !user.items.gear.owned[v.key] && (typeof v.canOwn === "function" ? v.canOwn(user) : void 0); + })); + changes.push(content.potion); + return _.sortBy(changes, function(c) { + return sortOrder[c.type]; + }); +}; + + +/* +------------------------------------------------------ +Content +------------------------------------------------------ + */ + +api.content = content; + + +/* +------------------------------------------------------ +Misc Helpers +------------------------------------------------------ + */ + +api.uuid = function() { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) { + var r, v; + r = Math.random() * 16 | 0; + v = (c === "x" ? r : r & 0x3 | 0x8); + return v.toString(16); + }); +}; + +api.countExists = function(items) { + return _.reduce(items, (function(m, v) { + return m + (v ? 1 : 0); + }), 0); +}; + + +/* +Even though Mongoose handles task defaults, we want to make sure defaults are set on the client-side before +sending up to the server for performance + */ + +api.taskDefaults = function(task) { + var defaults, _ref, _ref1, _ref2; + if (task == null) { + task = {}; + } + if (!(task.type && ((_ref = task.type) === 'habit' || _ref === 'daily' || _ref === 'todo' || _ref === 'reward'))) { + task.type = 'habit'; + } + defaults = { + id: api.uuid(), + text: task.id != null ? task.id : '', + notes: '', + priority: 1, + challenge: {}, + attribute: 'str', + dateCreated: new Date() + }; + _.defaults(task, defaults); + if (task.type === 'habit') { + _.defaults(task, { + up: true, + down: true + }); + } + if ((_ref1 = task.type) === 'habit' || _ref1 === 'daily') { + _.defaults(task, { + history: [] + }); + } + if ((_ref2 = task.type) === 'daily' || _ref2 === 'todo') { + _.defaults(task, { + completed: false + }); + } + if (task.type === 'daily') { + _.defaults(task, { + streak: 0, + repeat: { + su: 1, + m: 1, + t: 1, + w: 1, + th: 1, + f: 1, + s: 1 + } + }); + } + task._id = task.id; + if (task.value == null) { + task.value = task.type === 'reward' ? 10 : 0; + } + if (!_.isNumber(task.priority)) { + task.priority = 1; + } + return task; +}; + +api.percent = function(x, y, dir) { + var roundFn; + switch (dir) { + case "up": + roundFn = Math.ceil; + break; + case "down": + roundFn = Math.floor; + break; + default: + roundFn = Math.round; + } + if (x === 0) { + x = 1; + } + return Math.max(0, roundFn(x / y * 100)); +}; + + +/* +Remove whitespace #FIXME are we using this anywwhere? Should we be? + */ + +api.removeWhitespace = function(str) { + if (!str) { + return ''; + } + return str.replace(/\s/g, ''); +}; + + +/* +Encode the download link for .ics iCal file + */ + +api.encodeiCalLink = function(uid, apiToken) { + var loc, _ref; + loc = (typeof window !== "undefined" && window !== null ? window.location.host : void 0) || (typeof process !== "undefined" && process !== null ? (_ref = process.env) != null ? _ref.BASE_URL : void 0 : void 0) || ''; + return encodeURIComponent("http://" + loc + "/v1/users/" + uid + "/calendar.ics?apiToken=" + apiToken); +}; + + +/* +Gold amount from their money + */ + +api.gold = function(num) { + if (num) { + return Math.floor(num); + } else { + return "0"; + } +}; + + +/* +Silver amount from their money + */ + +api.silver = function(num) { + if (num) { + return ("0" + Math.floor((num - Math.floor(num)) * 100)).slice(-2); + } else { + return "00"; + } +}; + + +/* +Task classes given everything about the class + */ + +api.taskClasses = function(task, filters, dayStart, lastCron, showCompleted, main) { + var classes, completed, enabled, filter, repeat, type, value, _ref; + if (filters == null) { + filters = []; + } + if (dayStart == null) { + dayStart = 0; + } + if (lastCron == null) { + lastCron = +(new Date); + } + if (showCompleted == null) { + showCompleted = false; + } + if (main == null) { + main = false; + } + if (!task) { + return; + } + type = task.type, completed = task.completed, value = task.value, repeat = task.repeat; + if (main) { + if (!task._editing) { + for (filter in filters) { + enabled = filters[filter]; + if (enabled && !((_ref = task.tags) != null ? _ref[filter] : void 0)) { + return 'hidden'; + } + } + } + } + classes = type; + if (task._editing) { + classes += " beingEdited"; + } + if (type === 'todo' || type === 'daily') { + if (completed || (type === 'daily' && !api.shouldDo(+(new Date), task.repeat, { + dayStart: dayStart + }))) { + classes += " completed"; + } else { + classes += " uncompleted"; + } + } else if (type === 'habit') { + if (task.down && task.up) { + classes += ' habit-wide'; + } + if (!task.down && !task.up) { + classes += ' habit-narrow'; + } + } + if (value < -20) { + classes += ' color-worst'; + } else if (value < -10) { + classes += ' color-worse'; + } else if (value < -1) { + classes += ' color-bad'; + } else if (value < 1) { + classes += ' color-neutral'; + } else if (value < 5) { + classes += ' color-good'; + } else if (value < 10) { + classes += ' color-better'; + } else { + classes += ' color-best'; + } + return classes; +}; + + +/* +Friendly timestamp + */ + +api.friendlyTimestamp = function(timestamp) { + return moment(timestamp).format('MM/DD h:mm:ss a'); +}; + + +/* +Does user have new chat messages? + */ + +api.newChatMessages = function(messages, lastMessageSeen) { + if (!((messages != null ? messages.length : void 0) > 0)) { + return false; + } + return (messages != null ? messages[0] : void 0) && (messages[0].id !== lastMessageSeen); +}; + + +/* +are any tags active? + */ + +api.noTags = function(tags) { + return _.isEmpty(tags) || _.isEmpty(_.filter(tags, function(t) { + return t; + })); +}; + + +/* +Are there tags applied? + */ + +api.appliedTags = function(userTags, taskTags) { + var arr; + arr = []; + _.each(userTags, function(t) { + if (t == null) { + return; + } + if (taskTags != null ? taskTags[t.id] : void 0) { + return arr.push(t.name); + } + }); + return arr.join(', '); +}; + +api.countPets = function(originalCount, pets) { + var count, pet; + count = originalCount != null ? originalCount : _.size(pets); + for (pet in content.questPets) { + if (pets[pet]) { + count--; + } + } + for (pet in content.specialPets) { + if (pets[pet]) { + count--; + } + } + return count; +}; + +api.countMounts = function(originalCount, mounts) { + var count2, mount; + count2 = originalCount != null ? originalCount : _.size(mounts); + for (mount in content.questPets) { + if (mounts[mount]) { + count2--; + } + } + for (mount in content.specialMounts) { + if (mounts[mount]) { + count2--; + } + } + return count2; +}; + +api.countTriad = function(pets) { + var count3, egg, potion; + count3 = 0; + for (egg in content.dropEggs) { + for (potion in content.hatchingPotions) { + if (pets[egg + "-" + potion] > 0) { + count3++; + } + } + } + return count3; +}; + + +/* +------------------------------------------------------ +User (prototype wrapper to give it ops, helper funcs, and virtuals +------------------------------------------------------ + */ + + +/* +User is now wrapped (both on client and server), adding a few new properties: + * getters (_statsComputed, tasks, etc) + * user.fns, which is a bunch of helper functions + These were originally up above, but they make more sense belonging to the user object so we don't have to pass + the user object all over the place. In fact, we should pull in more functions such as cron(), updateStats(), etc. + * user.ops, which is super important: + +If a function is inside user.ops, it has magical properties. If you call it on the client it updates the user object in +the browser and when it's done it automatically POSTs to the server, calling src/controllers/user.js#OP_NAME (the exact same name +of the op function). The first argument req is {query, body, params}, it's what the express controller function +expects. This means we call our functions as if we were calling an Express route. Eg, instead of score(task, direction), +we call score({params:{id:task.id,direction:direction}}). This also forces us to think about our routes (whether to use +params, query, or body for variables). see http://stackoverflow.com/questions/4024271/rest-api-best-practices-where-to-put-parameters + +If `src/controllers/user.js#OP_NAME` doesn't exist on the server, it's automatically added. It runs the code in user.ops.OP_NAME +to update the user model server-side, then performs `user.save()`. You can see this in action for `user.ops.buy`. That +function doesn't exist on the server - so the client calls it, it updates user in the browser, auto-POSTs to server, server +handles it by calling `user.ops.buy` again (to update user on the server), and then saves. We can do this for +everything that doesn't need any code difference from what's in user.ops.OP_NAME for special-handling server-side. If we +*do* need special handling, just add `src/controllers/user.js#OP_NAME` to override the user.ops.OP_NAME, and be +sure to call user.ops.OP_NAME at some point within the overridden function. + +TODO + * Is this the best way to wrap the user object? I thought of using user.prototype, but user is an object not a Function. + user on the server is a Mongoose model, so we can use prototype - but to do it on the client, we'd probably have to + move to $resource for user + * Move to $resource! + */ + +api.wrap = function(user, main) { + if (main == null) { + main = true; + } + if (user._wrapped) { + return; + } + user._wrapped = true; + if (main) { + user.ops = { + update: function(req, cb) { + _.each(req.body, function(v, k) { + user.fns.dotSet(k, v); + return true; + }); + return typeof cb === "function" ? cb(null, user) : void 0; + }, + sleep: function(req, cb) { + user.preferences.sleep = !user.preferences.sleep; + return typeof cb === "function" ? cb(null, {}) : void 0; + }, + revive: function(req, cb) { + var cl, gearOwned, item, losableItems, lostItem, lostStat, _base; + if (!(user.stats.hp <= 0)) { + return typeof cb === "function" ? cb({ + code: 400, + message: "Cannot revive if not dead" + }) : void 0; + } + _.merge(user.stats, { + hp: 50, + exp: 0, + gp: 0 + }); + if (user.stats.lvl > 1) { + user.stats.lvl--; + } + lostStat = user.fns.randomVal(_.reduce(['str', 'con', 'per', 'int'], (function(m, k) { + if (user.stats[k]) { + m[k] = k; + } + return m; + }), {})); + if (lostStat) { + user.stats[lostStat]--; + } + cl = user.stats["class"]; + gearOwned = (typeof (_base = user.items.gear.owned).toObject === "function" ? _base.toObject() : void 0) || user.items.gear.owned; + losableItems = {}; + _.each(gearOwned, function(v, k) { + var itm; + if (v) { + itm = content.gear.flat['' + k]; + if (itm) { + if ((itm.value > 0 || k === 'weapon_warrior_0') && (itm.klass === cl || (itm.klass === 'special' && (!itm.specialClass || itm.specialClass === cl)))) { + return losableItems['' + k] = '' + k; + } + } + } + }); + lostItem = user.fns.randomVal(losableItems); + if (item = content.gear.flat[lostItem]) { + user.items.gear.owned[lostItem] = false; + if (user.items.gear.equipped[item.type] === lostItem) { + user.items.gear.equipped[item.type] = "" + item.type + "_base_0"; + } + if (user.items.gear.costume[item.type] === lostItem) { + user.items.gear.costume[item.type] = "" + item.type + "_base_0"; + } + } + if (typeof user.markModified === "function") { + user.markModified('items.gear'); + } + return typeof cb === "function" ? cb((item ? { + code: 200, + message: i18n.t('messageLostItem', { + itemText: item.text(req.language) + }, req.language) + } : null), user) : void 0; + }, + reset: function(req, cb) { + var gear; + user.habits = []; + user.dailys = []; + user.todos = []; + user.rewards = []; + user.stats.hp = 50; + user.stats.lvl = 1; + user.stats.gp = 0; + user.stats.exp = 0; + gear = user.items.gear; + _.each(['equipped', 'costume'], function(type) { + gear[type].armor = 'armor_base_0'; + gear[type].weapon = 'weapon_base_0'; + gear[type].head = 'head_base_0'; + return gear[type].shield = 'shield_base_0'; + }); + if (typeof gear.owned === 'undefined') { + gear.owned = {}; + } + _.each(gear.owned, function(v, k) { + if (gear.owned[k]) { + gear.owned[k] = false; + } + return true; + }); + gear.owned.weapon_warrior_0 = true; + if (typeof user.markModified === "function") { + user.markModified('items.gear.owned'); + } + user.preferences.costume = false; + return typeof cb === "function" ? cb(null, user) : void 0; + }, + reroll: function(req, cb, ga) { + if (user.balance < 1) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } + user.balance--; + _.each(user.tasks, function(task) { + if (task.type !== 'reward') { + return task.value = 0; + } + }); + user.stats.hp = 50; + if (typeof cb === "function") { + cb(null, user); + } + return ga != null ? ga.event('purchase', 'reroll').send() : void 0; + }, + rebirth: function(req, cb, ga) { + var flags, gear, lvl, stats; + if (user.balance < 2 && user.stats.lvl < 100) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } + if (user.stats.lvl < 100) { + user.balance -= 2; + } + if (user.stats.lvl < 100) { + lvl = user.stats.lvl; + } else { + lvl = 100; + } + _.each(user.tasks, function(task) { + if (task.type !== 'reward') { + task.value = 0; + } + if (task.type === 'daily') { + return task.streak = 0; + } + }); + stats = user.stats; + stats.buffs = {}; + stats.hp = 50; + stats.lvl = 1; + stats["class"] = 'warrior'; + _.each(['per', 'int', 'con', 'str', 'points', 'gp', 'exp', 'mp'], function(value) { + return stats[value] = 0; + }); + gear = user.items.gear; + _.each(['equipped', 'costume'], function(type) { + gear[type] = {}; + gear[type].armor = 'armor_base_0'; + gear[type].weapon = 'weapon_warrior_0'; + gear[type].head = 'head_base_0'; + return gear[type].shield = 'shield_base_0'; + }); + if (user.items.currentPet) { + user.ops.equip({ + params: { + type: 'pet', + key: user.items.currentPet + } + }); + } + if (user.items.currentMount) { + user.ops.equip({ + params: { + type: 'mount', + key: user.items.currentMount + } + }); + } + _.each(gear.owned, function(v, k) { + if (gear.owned[k]) { + gear.owned[k] = false; + return true; + } + }); + gear.owned.weapon_warrior_0 = true; + if (typeof user.markModified === "function") { + user.markModified('items.gear.owned'); + } + user.preferences.costume = false; + flags = user.flags; + if (!(user.achievements.ultimateGear || user.achievements.beastMaster)) { + flags.rebirthEnabled = false; + } + flags.itemsEnabled = false; + flags.dropsEnabled = false; + flags.classSelected = false; + flags.levelDrops = {}; + if (!user.achievements.rebirths) { + user.achievements.rebirths = 1; + user.achievements.rebirthLevel = lvl; + } else if (lvl > user.achievements.rebirthLevel || lvl === 100) { + user.achievements.rebirths++; + user.achievements.rebirthLevel = lvl; + } + user.stats.buffs = {}; + if (typeof cb === "function") { + cb(null, user); + } + return ga != null ? ga.event('purchase', 'Rebirth').send() : void 0; + }, + allocateNow: function(req, cb) { + _.times(user.stats.points, user.fns.autoAllocate); + user.stats.points = 0; + if (typeof user.markModified === "function") { + user.markModified('stats'); + } + return typeof cb === "function" ? cb(null, user.stats) : void 0; + }, + clearCompleted: function(req, cb) { + _.remove(user.todos, function(t) { + var _ref; + return t.completed && !((_ref = t.challenge) != null ? _ref.id : void 0); + }); + if (typeof user.markModified === "function") { + user.markModified('todos'); + } + return typeof cb === "function" ? cb(null, user.todos) : void 0; + }, + sortTask: function(req, cb) { + var from, id, movedTask, task, tasks, to, _ref; + id = req.params.id; + _ref = req.query, to = _ref.to, from = _ref.from; + task = user.tasks[id]; + if (!task) { + return typeof cb === "function" ? cb({ + code: 404, + message: i18n.t('messageTaskNotFound', req.language) + }) : void 0; + } + if (!((to != null) && (from != null))) { + return typeof cb === "function" ? cb('?to=__&from=__ are required') : void 0; + } + tasks = user["" + task.type + "s"]; + movedTask = tasks.splice(from, 1)[0]; + if (to === -1) { + tasks.push(movedTask); + } else { + tasks.splice(to, 0, movedTask); + } + return typeof cb === "function" ? cb(null, tasks) : void 0; + }, + updateTask: function(req, cb) { + var task, _ref; + if (!(task = user.tasks[(_ref = req.params) != null ? _ref.id : void 0])) { + return typeof cb === "function" ? cb({ + code: 404, + message: i18n.t('messageTaskNotFound', req.language) + }) : void 0; + } + _.merge(task, _.omit(req.body, ['checklist', 'id', 'type'])); + if (req.body.checklist) { + task.checklist = req.body.checklist; + } + if (typeof task.markModified === "function") { + task.markModified('tags'); + } + return typeof cb === "function" ? cb(null, task) : void 0; + }, + deleteTask: function(req, cb) { + var i, task, _ref; + task = user.tasks[(_ref = req.params) != null ? _ref.id : void 0]; + if (!task) { + return typeof cb === "function" ? cb({ + code: 404, + message: i18n.t('messageTaskNotFound', req.language) + }) : void 0; + } + i = user[task.type + "s"].indexOf(task); + if (~i) { + user[task.type + "s"].splice(i, 1); + } + return typeof cb === "function" ? cb(null, {}) : void 0; + }, + addTask: function(req, cb) { + var task; + task = api.taskDefaults(req.body); + user["" + task.type + "s"].unshift(task); + if (user.preferences.newTaskEdit) { + task._editing = true; + } + if (user.preferences.tagsCollapsed) { + task._tags = true; + } + if (user.preferences.advancedCollapsed) { + task._advanced = true; + } + if (typeof cb === "function") { + cb(null, task); + } + return task; + }, + addTag: function(req, cb) { + if (user.tags == null) { + user.tags = []; + } + user.tags.push({ + name: req.body.name, + id: req.body.id || api.uuid() + }); + return typeof cb === "function" ? cb(null, user.tags) : void 0; + }, + sortTag: function(req, cb) { + var from, to, _ref; + _ref = req.query, to = _ref.to, from = _ref.from; + if (!((to != null) && (from != null))) { + return typeof cb === "function" ? cb('?to=__&from=__ are required') : void 0; + } + user.tags.splice(to, 0, user.tags.splice(from, 1)[0]); + return typeof cb === "function" ? cb(null, user.tags) : void 0; + }, + updateTag: function(req, cb) { + var i, tid; + tid = req.params.id; + i = _.findIndex(user.tags, { + id: tid + }); + if (!~i) { + return typeof cb === "function" ? cb({ + code: 404, + message: i18n.t('messageTagNotFound', req.language) + }) : void 0; + } + user.tags[i].name = req.body.name; + return typeof cb === "function" ? cb(null, user.tags[i]) : void 0; + }, + deleteTag: function(req, cb) { + var i, tag, tid; + tid = req.params.id; + i = _.findIndex(user.tags, { + id: tid + }); + if (!~i) { + return typeof cb === "function" ? cb({ + code: 404, + message: i18n.t('messageTagNotFound', req.language) + }) : void 0; + } + tag = user.tags[i]; + delete user.filters[tag.id]; + user.tags.splice(i, 1); + _.each(user.tasks, function(task) { + return delete task.tags[tag.id]; + }); + _.each(['habits', 'dailys', 'todos', 'rewards'], function(type) { + return typeof user.markModified === "function" ? user.markModified(type) : void 0; + }); + return typeof cb === "function" ? cb(null, user.tags) : void 0; + }, + addWebhook: function(req, cb) { + var wh; + wh = user.preferences.webhooks; + api.refPush(wh, { + url: req.body.url, + enabled: req.body.enabled || true, + id: req.body.id + }); + if (typeof user.markModified === "function") { + user.markModified('preferences.webhooks'); + } + return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0; + }, + updateWebhook: function(req, cb) { + _.merge(user.preferences.webhooks[req.params.id], req.body); + if (typeof user.markModified === "function") { + user.markModified('preferences.webhooks'); + } + return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0; + }, + deleteWebhook: function(req, cb) { + delete user.preferences.webhooks[req.params.id]; + if (typeof user.markModified === "function") { + user.markModified('preferences.webhooks'); + } + return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0; + }, + clearPMs: function(req, cb) { + user.inbox.messages = {}; + if (typeof user.markModified === "function") { + user.markModified('inbox.messages'); + } + return typeof cb === "function" ? cb(null, user.inbox.messages) : void 0; + }, + deletePM: function(req, cb) { + delete user.inbox.messages[req.params.id]; + if (typeof user.markModified === "function") { + user.markModified('inbox.messages.' + req.params.id); + } + return typeof cb === "function" ? cb(null, user.inbox.messages) : void 0; + }, + blockUser: function(req, cb) { + var i; + i = user.inbox.blocks.indexOf(req.params.uuid); + if (~i) { + user.inbox.blocks.splice(i, 1); + } else { + user.inbox.blocks.push(req.params.uuid); + } + if (typeof user.markModified === "function") { + user.markModified('inbox.blocks'); + } + return typeof cb === "function" ? cb(null, user.inbox.blocks) : void 0; + }, + feed: function(req, cb) { + var egg, evolve, food, message, pet, potion, userPets, _ref, _ref1, _ref2; + _ref = req.params, pet = _ref.pet, food = _ref.food; + food = content.food[food]; + _ref1 = pet.split('-'), egg = _ref1[0], potion = _ref1[1]; + userPets = user.items.pets; + if (!userPets[pet]) { + return typeof cb === "function" ? cb({ + code: 404, + message: i18n.t('messagePetNotFound', req.language) + }) : void 0; + } + if (!((_ref2 = user.items.food) != null ? _ref2[food.key] : void 0)) { + return typeof cb === "function" ? cb({ + code: 404, + message: i18n.t('messageFoodNotFound', req.language) + }) : void 0; + } + if (content.specialPets[pet] || (egg === "Egg")) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('messageCannotFeedPet', req.language) + }) : void 0; + } + if (user.items.mounts[pet]) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('messageAlreadyMount', req.language) + }) : void 0; + } + message = ''; + evolve = function() { + userPets[pet] = -1; + user.items.mounts[pet] = true; + if (pet === user.items.currentPet) { + user.items.currentPet = ""; + } + return message = i18n.t('messageEvolve', { + egg: egg + }, req.language); + }; + if (food.key === 'Saddle') { + evolve(); + } else { + if (food.target === potion) { + userPets[pet] += 5; + message = i18n.t('messageLikesFood', { + egg: egg, + foodText: food.text(req.language) + }, req.language); + } else { + userPets[pet] += 2; + message = i18n.t('messageDontEnjoyFood', { + egg: egg, + foodText: food.text(req.language) + }, req.language); + } + if (userPets[pet] >= 50 && !user.items.mounts[pet]) { + evolve(); + } + } + user.items.food[food.key]--; + return typeof cb === "function" ? cb({ + code: 200, + message: message + }, userPets[pet]) : void 0; + }, + buySpecialSpell: function(req, cb) { + var item, key, message, _base; + key = req.params.key; + item = content.special[key]; + if (user.stats.gp < item.value) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('messageNotEnoughGold', req.language) + }) : void 0; + } + user.stats.gp -= item.value; + if ((_base = user.items.special)[key] == null) { + _base[key] = 0; + } + user.items.special[key]++; + if (typeof user.markModified === "function") { + user.markModified('items.special'); + } + message = i18n.t('messageBought', { + itemText: item.text(req.language) + }, req.language); + return typeof cb === "function" ? cb({ + code: 200, + message: message + }, _.pick(user, $w('items stats'))) : void 0; + }, + purchase: function(req, cb, ga) { + var convCap, convRate, item, key, price, type, _ref, _ref1, _ref2, _ref3; + _ref = req.params, type = _ref.type, key = _ref.key; + if (type === 'gems' && key === 'gem') { + _ref1 = api.planGemLimits, convRate = _ref1.convRate, convCap = _ref1.convCap; + convCap += user.purchased.plan.consecutive.gemCapExtra; + if (!((_ref2 = user.purchased) != null ? (_ref3 = _ref2.plan) != null ? _ref3.customerId : void 0 : void 0)) { + return typeof cb === "function" ? cb({ + code: 401, + message: "Must subscribe to purchase gems with GP" + }, req) : void 0; + } + if (!(user.stats.gp >= convRate)) { + return typeof cb === "function" ? cb({ + code: 401, + message: "Not enough Gold" + }) : void 0; + } + if (user.purchased.plan.gemsBought >= convCap) { + return typeof cb === "function" ? cb({ + code: 401, + message: "You've reached the Gold=>Gem conversion cap (" + convCap + ") for this month. We have this to prevent abuse / farming. The cap will reset within the first three days of next month." + }) : void 0; + } + user.balance += .25; + user.purchased.plan.gemsBought++; + user.stats.gp -= convRate; + return typeof cb === "function" ? cb({ + code: 200, + message: "+1 Gems" + }, _.pick(user, $w('stats balance'))) : void 0; + } + if (type !== 'eggs' && type !== 'hatchingPotions' && type !== 'food' && type !== 'quests' && type !== 'gear') { + return typeof cb === "function" ? cb({ + code: 404, + message: ":type must be in [eggs,hatchingPotions,food,quests,gear]" + }, req) : void 0; + } + if (type === 'gear') { + item = content.gear.flat[key]; + if (user.items.gear.owned[key]) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('alreadyHave', req.language) + }) : void 0; + } + price = (item.twoHanded ? 2 : 1) / 4; + } else { + item = content[type][key]; + price = item.value / 4; + } + if (!item) { + return typeof cb === "function" ? cb({ + code: 404, + message: ":key not found for Content." + type + }, req) : void 0; + } + if (user.balance < price) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } + user.balance -= price; + if (type === 'gear') { + user.items.gear.owned[key] = true; + } else { + if (!(user.items[type][key] > 0)) { + user.items[type][key] = 0; + } + user.items[type][key]++; + } + if (typeof cb === "function") { + cb(null, _.pick(user, $w('items balance'))); + } + return ga != null ? ga.event('purchase', key).send() : void 0; + }, + releasePets: function(req, cb) { + var pet; + if (user.balance < 1) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } else { + user.balance--; + for (pet in content.pets) { + user.items.pets[pet] = 0; + } + if (!user.achievements.beastMasterCount) { + user.achievements.beastMasterCount = 0; + } + user.achievements.beastMasterCount++; + user.items.currentPet = ""; + } + return typeof cb === "function" ? cb(null, user) : void 0; + }, + releaseMounts: function(req, cb) { + var mount; + if (user.balance < 1) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } else { + user.balance -= 1; + user.items.currentMount = ""; + for (mount in content.pets) { + user.items.mounts[mount] = null; + } + if (!user.achievements.mountMasterCount) { + user.achievements.mountMasterCount = 0; + } + user.achievements.mountMasterCount++; + } + return typeof cb === "function" ? cb(null, user) : void 0; + }, + releaseBoth: function(req, cb) { + var animal, giveTriadBingo; + if (user.balance < 1.5) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } else { + giveTriadBingo = true; + user.balance -= 1.5; + user.items.currentMount = ""; + user.items.currentPet = ""; + for (animal in content.pets) { + if (user.items.pets[animal] === -1) { + giveTriadBingo = false; + } + user.items.pets[animal] = 0; + user.items.mounts[animal] = null; + } + if (!user.achievements.beastMasterCount) { + user.achievements.beastMasterCount = 0; + } + user.achievements.beastMasterCount++; + if (!user.achievements.mountMasterCount) { + user.achievements.mountMasterCount = 0; + } + user.achievements.mountMasterCount++; + if (giveTriadBingo) { + if (!user.achievements.triadBingoCount) { + user.achievements.triadBingoCount = 0; + } + user.achievements.triadBingoCount++; + } + } + return typeof cb === "function" ? cb(null, user) : void 0; + }, + buy: function(req, cb) { + var item, key, message; + key = req.params.key; + item = key === 'potion' ? content.potion : content.gear.flat[key]; + if (!item) { + return typeof cb === "function" ? cb({ + code: 404, + message: "Item '" + key + " not found (see https://github.com/HabitRPG/habitrpg-shared/blob/develop/script/content.coffee)" + }) : void 0; + } + if (user.stats.gp < item.value) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('messageNotEnoughGold', req.language) + }) : void 0; + } + if ((item.canOwn != null) && !item.canOwn(user)) { + return typeof cb === "function" ? cb({ + code: 401, + message: "You can't own this item" + }) : void 0; + } + if (item.key === 'potion') { + user.stats.hp += 15; + if (user.stats.hp > 50) { + user.stats.hp = 50; + } + } else { + user.items.gear.equipped[item.type] = item.key; + user.items.gear.owned[item.key] = true; + message = user.fns.handleTwoHanded(item, null, req); + if (message == null) { + message = i18n.t('messageBought', { + itemText: item.text(req.language) + }, req.language); + } + if (!user.achievements.ultimateGear && item.last) { + user.fns.ultimateGear(); + } + } + user.stats.gp -= item.value; + return typeof cb === "function" ? cb({ + code: 200, + message: message + }, _.pick(user, $w('items achievements stats'))) : void 0; + }, + buyMysterySet: function(req, cb) { + var mysterySet, _ref; + if (!(user.purchased.plan.consecutive.trinkets > 0)) { + return typeof cb === "function" ? cb({ + code: 401, + message: "You don't have enough Mystic Hourglasses" + }) : void 0; + } + mysterySet = (_ref = content.timeTravelerStore(user.items.gear.owned)) != null ? _ref[req.params.key] : void 0; + if ((typeof window !== "undefined" && window !== null ? window.confirm : void 0) != null) { + if (!window.confirm("Buy this full set of items for 1 Mystic Hourglass?")) { + return; + } + } + if (!mysterySet) { + return typeof cb === "function" ? cb({ + code: 404, + message: "Mystery set not found, or set already owned" + }) : void 0; + } + _.each(mysterySet.items, function(i) { + return user.items.gear.owned[i.key] = true; + }); + user.purchased.plan.consecutive.trinkets--; + return typeof cb === "function" ? cb(null, _.pick(user, $w('items purchased.plan.consecutive'))) : void 0; + }, + sell: function(req, cb) { + var key, type, _ref; + _ref = req.params, key = _ref.key, type = _ref.type; + if (type !== 'eggs' && type !== 'hatchingPotions' && type !== 'food') { + return typeof cb === "function" ? cb({ + code: 404, + message: ":type not found. Must bes in [eggs, hatchingPotions, food]" + }) : void 0; + } + if (!user.items[type][key]) { + return typeof cb === "function" ? cb({ + code: 404, + message: ":key not found for user.items." + type + }) : void 0; + } + user.items[type][key]--; + user.stats.gp += content[type][key].value; + return typeof cb === "function" ? cb(null, _.pick(user, $w('stats items'))) : void 0; + }, + equip: function(req, cb) { + var item, key, message, type, _ref; + _ref = [req.params.type || 'equipped', req.params.key], type = _ref[0], key = _ref[1]; + switch (type) { + case 'mount': + if (!user.items.mounts[key]) { + return typeof cb === "function" ? cb({ + code: 404, + message: ":You do not own this mount." + }) : void 0; + } + user.items.currentMount = user.items.currentMount === key ? '' : key; + break; + case 'pet': + if (!user.items.pets[key]) { + return typeof cb === "function" ? cb({ + code: 404, + message: ":You do not own this pet." + }) : void 0; + } + user.items.currentPet = user.items.currentPet === key ? '' : key; + break; + case 'costume': + case 'equipped': + item = content.gear.flat[key]; + if (!user.items.gear.owned[key]) { + return typeof cb === "function" ? cb({ + code: 404, + message: ":You do not own this gear." + }) : void 0; + } + if (user.items.gear[type][item.type] === key) { + user.items.gear[type][item.type] = "" + item.type + "_base_0"; + message = i18n.t('messageUnEquipped', { + itemText: item.text(req.language) + }, req.language); + } else { + user.items.gear[type][item.type] = item.key; + message = user.fns.handleTwoHanded(item, type, req); + } + if (typeof user.markModified === "function") { + user.markModified("items.gear." + type); + } + } + return typeof cb === "function" ? cb((message ? { + code: 200, + message: message + } : null), user.items) : void 0; + }, + hatch: function(req, cb) { + var egg, hatchingPotion, pet, _ref; + _ref = req.params, egg = _ref.egg, hatchingPotion = _ref.hatchingPotion; + if (!(egg && hatchingPotion)) { + return typeof cb === "function" ? cb({ + code: 404, + message: "Please specify query.egg & query.hatchingPotion" + }) : void 0; + } + if (!(user.items.eggs[egg] > 0 && user.items.hatchingPotions[hatchingPotion] > 0)) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('messageMissingEggPotion', req.language) + }) : void 0; + } + pet = "" + egg + "-" + hatchingPotion; + if (user.items.pets[pet] && user.items.pets[pet] > 0) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('messageAlreadyPet', req.language) + }) : void 0; + } + user.items.pets[pet] = 5; + user.items.eggs[egg]--; + user.items.hatchingPotions[hatchingPotion]--; + return typeof cb === "function" ? cb({ + code: 200, + message: i18n.t('messageHatched', req.language) + }, user.items) : void 0; + }, + unlock: function(req, cb, ga) { + var alreadyOwns, cost, fullSet, k, path, split, v; + path = req.query.path; + fullSet = ~path.indexOf(","); + cost = ~path.indexOf('background.') ? fullSet ? 3.75 : 1.75 : fullSet ? 1.25 : 0.5; + alreadyOwns = !fullSet && user.fns.dotGet("purchased." + path) === true; + if (user.balance < cost && !alreadyOwns) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } + if (fullSet) { + _.each(path.split(","), function(p) { + user.fns.dotSet("purchased." + p, true); + return true; + }); + } else { + if (alreadyOwns) { + split = path.split('.'); + v = split.pop(); + k = split.join('.'); + if (k === 'background' && v === user.preferences.background) { + v = ''; + } + user.fns.dotSet("preferences." + k, v); + return typeof cb === "function" ? cb(null, req) : void 0; + } + user.fns.dotSet("purchased." + path, true); + } + user.balance -= cost; + if (typeof user.markModified === "function") { + user.markModified('purchased'); + } + if (typeof cb === "function") { + cb(null, _.pick(user, $w('purchased preferences'))); + } + return ga != null ? ga.event('purchase', path).send() : void 0; + }, + changeClass: function(req, cb, ga) { + var klass, _ref; + klass = (_ref = req.query) != null ? _ref["class"] : void 0; + if (klass === 'warrior' || klass === 'rogue' || klass === 'wizard' || klass === 'healer') { + user.stats["class"] = klass; + user.flags.classSelected = true; + _.each(["weapon", "armor", "shield", "head"], function(type) { + var foundKey; + foundKey = false; + _.findLast(user.items.gear.owned, function(v, k) { + if (~k.indexOf(type + "_" + klass) && v === true) { + return foundKey = k; + } + }); + user.items.gear.equipped[type] = foundKey ? foundKey : type === "weapon" ? "weapon_" + klass + "_0" : type === "shield" && klass === "rogue" ? "shield_rogue_0" : "" + type + "_base_0"; + if (type === "weapon" || (type === "shield" && klass === "rogue")) { + user.items.gear.owned["" + type + "_" + klass + "_0"] = true; + } + return true; + }); + } else { + if (user.preferences.disableClasses) { + user.preferences.disableClasses = false; + user.preferences.autoAllocate = false; + } else { + if (!(user.balance >= .75)) { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('notEnoughGems', req.language) + }) : void 0; + } + user.balance -= .75; + } + _.merge(user.stats, { + str: 0, + con: 0, + per: 0, + int: 0, + points: user.stats.lvl + }); + user.flags.classSelected = false; + if (ga != null) { + ga.event('purchase', 'changeClass').send(); + } + } + return typeof cb === "function" ? cb(null, _.pick(user, $w('stats flags items preferences'))) : void 0; + }, + disableClasses: function(req, cb) { + user.stats["class"] = 'warrior'; + user.flags.classSelected = true; + user.preferences.disableClasses = true; + user.preferences.autoAllocate = true; + user.stats.str = user.stats.lvl; + user.stats.points = 0; + return typeof cb === "function" ? cb(null, _.pick(user, $w('stats flags preferences'))) : void 0; + }, + allocate: function(req, cb) { + var stat; + stat = req.query.stat || 'str'; + if (user.stats.points > 0) { + user.stats[stat]++; + user.stats.points--; + if (stat === 'int') { + user.stats.mp++; + } + } + return typeof cb === "function" ? cb(null, _.pick(user, $w('stats'))) : void 0; + }, + readValentine: function(req, cb) { + user.items.special.valentineReceived.shift(); + if (typeof user.markModified === "function") { + user.markModified('items.special.valentineReceived'); + } + return typeof cb === "function" ? cb(null, 'items.special') : void 0; + }, + openMysteryItem: function(req, cb, ga) { + var item, _ref, _ref1; + item = (_ref = user.purchased.plan) != null ? (_ref1 = _ref.mysteryItems) != null ? _ref1.shift() : void 0 : void 0; + if (!item) { + return typeof cb === "function" ? cb({ + code: 400, + message: "Empty" + }) : void 0; + } + item = content.gear.flat[item]; + user.items.gear.owned[item.key] = true; + if (typeof user.markModified === "function") { + user.markModified('purchased.plan.mysteryItems'); + } + if (typeof window !== 'undefined') { + (user._tmp != null ? user._tmp : user._tmp = {}).drop = { + type: 'gear', + dialog: "" + (item.text(req.language)) + " inside!" + }; + } + return typeof cb === "function" ? cb(null, user.items.gear.owned) : void 0; + }, + readNYE: function(req, cb) { + user.items.special.nyeReceived.shift(); + if (typeof user.markModified === "function") { + user.markModified('items.special.nyeReceived'); + } + return typeof cb === "function" ? cb(null, 'items.special') : void 0; + }, + score: function(req, cb) { + var addPoints, calculateDelta, calculateReverseDelta, changeTaskValue, delta, direction, id, mpDelta, multiplier, num, options, stats, subtractPoints, task, th, _ref; + _ref = req.params, id = _ref.id, direction = _ref.direction; + task = user.tasks[id]; + options = req.query || {}; + _.defaults(options, { + times: 1, + cron: false + }); + user._tmp = {}; + stats = { + gp: +user.stats.gp, + hp: +user.stats.hp, + exp: +user.stats.exp + }; + task.value = +task.value; + task.streak = ~~task.streak; + if (task.priority == null) { + task.priority = 1; + } + if (task.value > stats.gp && task.type === 'reward') { + return typeof cb === "function" ? cb({ + code: 401, + message: i18n.t('messageNotEnoughGold', req.language) + }) : void 0; + } + delta = 0; + calculateDelta = function() { + var currVal, nextDelta, _ref1; + currVal = task.value < -47.27 ? -47.27 : task.value > 21.27 ? 21.27 : task.value; + nextDelta = Math.pow(0.9747, currVal) * (direction === 'down' ? -1 : 1); + if (((_ref1 = task.checklist) != null ? _ref1.length : void 0) > 0) { + if (direction === 'down' && task.type === 'daily' && options.cron) { + nextDelta *= 1 - _.reduce(task.checklist, (function(m, i) { + return m + (i.completed ? 1 : 0); + }), 0) / task.checklist.length; + } + if (task.type === 'todo') { + nextDelta *= 1 + _.reduce(task.checklist, (function(m, i) { + return m + (i.completed ? 1 : 0); + }), 0); + } + } + return nextDelta; + }; + calculateReverseDelta = function() { + var calc, closeEnough, currVal, diff, nextDelta, testVal, _ref1; + currVal = task.value < -47.27 ? -47.27 : task.value > 21.27 ? 21.27 : task.value; + testVal = currVal + Math.pow(0.9747, currVal) * (direction === 'down' ? -1 : 1); + closeEnough = 0.00001; + while (true) { + calc = testVal + Math.pow(0.9747, testVal); + diff = currVal - calc; + if (Math.abs(diff) < closeEnough) { + break; + } + if (diff > 0) { + testVal -= diff; + } else { + testVal += diff; + } + } + nextDelta = testVal - currVal; + if (((_ref1 = task.checklist) != null ? _ref1.length : void 0) > 0) { + if (task.type === 'todo') { + nextDelta *= 1 + _.reduce(task.checklist, (function(m, i) { + return m + (i.completed ? 1 : 0); + }), 0); + } + } + return nextDelta; + }; + changeTaskValue = function() { + return _.times(options.times, function() { + var nextDelta, _ref1; + nextDelta = !options.cron && direction === 'down' ? calculateReverseDelta() : calculateDelta(); + if (task.type !== 'reward') { + if (user.preferences.automaticAllocation === true && user.preferences.allocationMode === 'taskbased' && !(task.type === 'todo' && direction === 'down')) { + user.stats.training[task.attribute] += nextDelta; + } + if (direction === 'up' && !(task.type === 'habit' && !task.down)) { + user.party.quest.progress.up = user.party.quest.progress.up || 0; + if ((_ref1 = task.type) === 'daily' || _ref1 === 'todo') { + user.party.quest.progress.up += nextDelta * (1 + (user._statsComputed.str / 200)); + } + } + task.value += nextDelta; + } + return delta += nextDelta; + }); + }; + addPoints = function() { + var afterStreak, currStreak, gpMod, intBonus, perBonus, streakBonus, _crit; + _crit = (delta > 0 ? user.fns.crit() : 1); + if (_crit > 1) { + user._tmp.crit = _crit; + } + intBonus = 1 + (user._statsComputed.int * .025); + stats.exp += Math.round(delta * intBonus * task.priority * _crit * 6); + perBonus = 1 + user._statsComputed.per * .02; + gpMod = delta * task.priority * _crit * perBonus; + return stats.gp += task.streak ? (currStreak = direction === 'down' ? task.streak - 1 : task.streak, streakBonus = currStreak / 100 + 1, afterStreak = gpMod * streakBonus, currStreak > 0 ? gpMod > 0 ? user._tmp.streakBonus = afterStreak - gpMod : void 0 : void 0, afterStreak) : gpMod; + }; + subtractPoints = function() { + var conBonus, hpMod; + conBonus = 1 - (user._statsComputed.con / 250); + if (conBonus < .1) { + conBonus = 0.1; + } + hpMod = delta * conBonus * task.priority * 2; + return stats.hp += Math.round(hpMod * 10) / 10; + }; + switch (task.type) { + case 'habit': + changeTaskValue(); + if (delta > 0) { + addPoints(); + } else { + subtractPoints(); + } + th = (task.history != null ? task.history : task.history = []); + if (th[th.length - 1] && moment(th[th.length - 1].date).isSame(new Date, 'day')) { + th[th.length - 1].value = task.value; + } else { + th.push({ + date: +(new Date), + value: task.value + }); + } + if (typeof user.markModified === "function") { + user.markModified("habits." + (_.findIndex(user.habits, { + id: task.id + })) + ".history"); + } + break; + case 'daily': + if (options.cron) { + changeTaskValue(); + subtractPoints(); + if (!user.stats.buffs.streaks) { + task.streak = 0; + } + } else { + changeTaskValue(); + if (direction === 'down') { + delta = calculateDelta(); + } + addPoints(); + if (direction === 'up') { + task.streak = task.streak ? task.streak + 1 : 1; + if ((task.streak % 21) === 0) { + user.achievements.streak = user.achievements.streak ? user.achievements.streak + 1 : 1; + } + } else { + if ((task.streak % 21) === 0) { + user.achievements.streak = user.achievements.streak ? user.achievements.streak - 1 : 0; + } + task.streak = task.streak ? task.streak - 1 : 0; + } + } + break; + case 'todo': + if (options.cron) { + changeTaskValue(); + } else { + task.dateCompleted = direction === 'up' ? new Date : void 0; + changeTaskValue(); + if (direction === 'down') { + delta = calculateDelta(); + } + addPoints(); + multiplier = _.max([ + _.reduce(task.checklist, (function(m, i) { + return m + (i.completed ? 1 : 0); + }), 1), 1 + ]); + mpDelta = _.max([multiplier, .01 * user._statsComputed.maxMP * multiplier]); + mpDelta *= user._tmp.crit || 1; + if (direction === 'down') { + mpDelta *= -1; + } + user.stats.mp += mpDelta; + if (user.stats.mp >= user._statsComputed.maxMP) { + user.stats.mp = user._statsComputed.maxMP; + } + if (user.stats.mp < 0) { + user.stats.mp = 0; + } + } + break; + case 'reward': + changeTaskValue(); + stats.gp -= Math.abs(task.value); + num = parseFloat(task.value).toFixed(2); + if (stats.gp < 0) { + stats.hp += stats.gp; + stats.gp = 0; + } + } + user.fns.updateStats(stats, req); + if (typeof window === 'undefined') { + if (direction === 'up') { + user.fns.randomDrop({ + task: task, + delta: delta + }, req); + } + } + if (typeof cb === "function") { + cb(null, user); + } + return delta; + } + }; + } + user.fns = { + getItem: function(type) { + var item; + item = content.gear.flat[user.items.gear.equipped[type]]; + if (!item) { + return content.gear.flat["" + type + "_base_0"]; + } + return item; + }, + handleTwoHanded: function(item, type, req) { + var message, weapon, _ref; + if (type == null) { + type = 'equipped'; + } + if (item.type === "shield" && ((_ref = (weapon = content.gear.flat[user.items.gear[type].weapon])) != null ? _ref.twoHanded : void 0)) { + user.items.gear[type].weapon = 'weapon_base_0'; + message = i18n.t('messageTwoHandled', { + gearText: weapon.text(req.language) + }, req.language); + } + if (item.twoHanded) { + user.items.gear[type].shield = "shield_base_0"; + message = i18n.t('messageTwoHandled', { + gearText: item.text(req.language) + }, req.language); + } + return message; + }, + + /* + Because the same op needs to be performed on the client and the server (critical hits, item drops, etc), + we need things to be "random", but technically predictable so that they don't go out-of-sync + */ + predictableRandom: function(seed) { + var x; + if (!seed || seed === Math.PI) { + seed = _.reduce(user.stats, (function(m, v) { + if (_.isNumber(v)) { + return m + v; + } else { + return m; + } + }), 0); + } + x = Math.sin(seed++) * 10000; + return x - Math.floor(x); + }, + crit: function(stat, chance) { + if (stat == null) { + stat = 'str'; + } + if (chance == null) { + chance = .03; + } + if (user.fns.predictableRandom() <= chance * (1 + user._statsComputed[stat] / 100)) { + return 1.5 + (.02 * user._statsComputed[stat]); + } else { + return 1; + } + }, + + /* + Get a random property from an object + returns random property (the value) + */ + randomVal: function(obj, options) { + var array, rand; + array = (options != null ? options.key : void 0) ? _.keys(obj) : _.values(obj); + rand = user.fns.predictableRandom(options != null ? options.seed : void 0); + array.sort(); + return array[Math.floor(rand * array.length)]; + }, + + /* + This allows you to set object properties by dot-path. Eg, you can run pathSet('stats.hp',50,user) which is the same as + user.stats.hp = 50. This is useful because in our habitrpg-shared functions we're returning changesets as {path:value}, + so that different consumers can implement setters their own way. Derby needs model.set(path, value) for example, where + Angular sets object properties directly - in which case, this function will be used. + */ + dotSet: function(path, val) { + return api.dotSet(user, path, val); + }, + dotGet: function(path) { + return api.dotGet(user, path); + }, + randomDrop: function(modifiers, req) { + var acceptableDrops, chance, drop, dropK, dropMultiplier, quest, rarity, task, _base, _base1, _base2, _name, _name1, _name2, _ref, _ref1, _ref2, _ref3; + task = modifiers.task; + chance = _.min([Math.abs(task.value - 21.27), 37.5]) / 150 + .02; + chance *= task.priority * (1 + (task.streak / 100 || 0)) * (1 + (user._statsComputed.per / 100)) * (1 + (user.contributor.level / 40 || 0)) * (1 + (user.achievements.rebirths / 20 || 0)) * (1 + (user.achievements.streak / 200 || 0)) * (user._tmp.crit || 1) * (1 + .5 * (_.reduce(task.checklist, (function(m, i) { + return m + (i.completed ? 1 : 0); + }), 0) || 0)); + chance = api.diminishingReturns(chance, 0.75); + quest = content.quests[(_ref = user.party.quest) != null ? _ref.key : void 0]; + if ((quest != null ? quest.collect : void 0) && user.fns.predictableRandom(user.stats.gp) < chance) { + dropK = user.fns.randomVal(quest.collect, { + key: true + }); + user.party.quest.progress.collect[dropK]++; + if (typeof user.markModified === "function") { + user.markModified('party.quest.progress'); + } + } + dropMultiplier = ((_ref1 = user.purchased) != null ? (_ref2 = _ref1.plan) != null ? _ref2.customerId : void 0 : void 0) ? 2 : 1; + if ((api.daysSince(user.items.lastDrop.date, user.preferences) === 0) && (user.items.lastDrop.count >= dropMultiplier * (5 + Math.floor(user._statsComputed.per / 25) + (user.contributor.level || 0)))) { + return; + } + if (((_ref3 = user.flags) != null ? _ref3.dropsEnabled : void 0) && user.fns.predictableRandom(user.stats.exp) < chance) { + rarity = user.fns.predictableRandom(user.stats.gp); + if (rarity > .6) { + drop = user.fns.randomVal(_.where(content.food, { + canDrop: true + })); + if ((_base = user.items.food)[_name = drop.key] == null) { + _base[_name] = 0; + } + user.items.food[drop.key] += 1; + drop.type = 'Food'; + drop.dialog = i18n.t('messageDropFood', { + dropArticle: drop.article, + dropText: drop.text(req.language), + dropNotes: drop.notes(req.language) + }, req.language); + } else if (rarity > .3) { + drop = user.fns.randomVal(_.where(content.eggs, { + canBuy: true + })); + if ((_base1 = user.items.eggs)[_name1 = drop.key] == null) { + _base1[_name1] = 0; + } + user.items.eggs[drop.key]++; + drop.type = 'Egg'; + drop.dialog = i18n.t('messageDropEgg', { + dropText: drop.text(req.language), + dropNotes: drop.notes(req.language) + }, req.language); + } else { + acceptableDrops = rarity < .02 ? ['Golden'] : rarity < .09 ? ['Zombie', 'CottonCandyPink', 'CottonCandyBlue'] : rarity < .18 ? ['Red', 'Shade', 'Skeleton'] : ['Base', 'White', 'Desert']; + drop = user.fns.randomVal(_.pick(content.hatchingPotions, (function(v, k) { + return __indexOf.call(acceptableDrops, k) >= 0; + }))); + if ((_base2 = user.items.hatchingPotions)[_name2 = drop.key] == null) { + _base2[_name2] = 0; + } + user.items.hatchingPotions[drop.key]++; + drop.type = 'HatchingPotion'; + drop.dialog = i18n.t('messageDropPotion', { + dropText: drop.text(req.language), + dropNotes: drop.notes(req.language) + }, req.language); + } + user._tmp.drop = drop; + user.items.lastDrop.date = +(new Date); + return user.items.lastDrop.count++; + } + }, + + /* + Updates user stats with new stats. Handles death, leveling up, etc + {stats} new stats + {update} if aggregated changes, pass in userObj as update. otherwise commits will be made immediately + */ + autoAllocate: function() { + return user.stats[(function() { + var diff, ideal, preference, stats, suggested; + switch (user.preferences.allocationMode) { + case "flat": + stats = _.pick(user.stats, $w('con str per int')); + return _.invert(stats)[_.min(stats)]; + case "classbased": + ideal = [user.stats.lvl / 7 * 3, user.stats.lvl / 7 * 2, user.stats.lvl / 7, user.stats.lvl / 7]; + preference = (function() { + switch (user.stats["class"]) { + case "wizard": + return ["int", "per", "con", "str"]; + case "rogue": + return ["per", "str", "int", "con"]; + case "healer": + return ["con", "int", "str", "per"]; + default: + return ["str", "con", "per", "int"]; + } + })(); + diff = [user.stats[preference[0]] - ideal[0], user.stats[preference[1]] - ideal[1], user.stats[preference[2]] - ideal[2], user.stats[preference[3]] - ideal[3]]; + suggested = _.findIndex(diff, (function(val) { + if (val === _.min(diff)) { + return true; + } + })); + if (~suggested) { + return preference[suggested]; + } else { + return "str"; + } + case "taskbased": + suggested = _.invert(user.stats.training)[_.max(user.stats.training)]; + _.merge(user.stats.training, { + str: 0, + int: 0, + con: 0, + per: 0 + }); + return suggested || "str"; + default: + return "str"; + } + })()]++; + }, + updateStats: function(stats, req) { + var tnl; + if (stats.hp <= 0) { + return user.stats.hp = 0; + } + user.stats.hp = stats.hp; + user.stats.gp = stats.gp >= 0 ? stats.gp : 0; + tnl = api.tnl(user.stats.lvl); + if (stats.exp >= tnl) { + user.stats.exp = stats.exp; + while (stats.exp >= tnl) { + stats.exp -= tnl; + user.stats.lvl++; + tnl = api.tnl(user.stats.lvl); + if (user.preferences.automaticAllocation) { + user.fns.autoAllocate(); + } else { + user.stats.points = user.stats.lvl - (user.stats.con + user.stats.str + user.stats.per + user.stats.int); + } + user.stats.hp = 50; + } + } + user.stats.exp = stats.exp; + if (user.flags == null) { + user.flags = {}; + } + if (!user.flags.customizationsNotification && (user.stats.exp > 5 || user.stats.lvl > 1)) { + user.flags.customizationsNotification = true; + } + if (!user.flags.itemsEnabled && (user.stats.exp > 10 || user.stats.lvl > 1)) { + user.flags.itemsEnabled = true; + } + if (!user.flags.partyEnabled && user.stats.lvl >= 3) { + user.flags.partyEnabled = true; + } + if (!user.flags.dropsEnabled && user.stats.lvl >= 4) { + user.flags.dropsEnabled = true; + if (user.items.eggs["Wolf"] > 0) { + user.items.eggs["Wolf"]++; + } else { + user.items.eggs["Wolf"] = 1; + } + } + if (!user.flags.classSelected && user.stats.lvl >= 10) { + user.flags.classSelected; + } + _.each({ + vice1: 30, + atom1: 15, + moonstone1: 60, + goldenknight1: 40 + }, function(lvl, k) { + var _base, _base1, _ref; + if (!((_ref = user.flags.levelDrops) != null ? _ref[k] : void 0) && user.stats.lvl >= lvl) { + if ((_base = user.items.quests)[k] == null) { + _base[k] = 0; + } + user.items.quests[k]++; + ((_base1 = user.flags).levelDrops != null ? _base1.levelDrops : _base1.levelDrops = {})[k] = true; + if (typeof user.markModified === "function") { + user.markModified('flags.levelDrops'); + } + return user._tmp.drop = _.defaults(content.quests[k], { + type: 'Quest', + dialog: i18n.t('messageFoundQuest', { + questText: content.quests[k].text(req.language) + }, req.language) + }); + } + }); + if (!user.flags.rebirthEnabled && (user.stats.lvl >= 50 || user.achievements.ultimateGear || user.achievements.beastMaster)) { + user.flags.rebirthEnabled = true; + } + if (user.stats.lvl >= 100 && !user.flags.freeRebirth) { + return user.flags.freeRebirth = true; + } + }, + + /* + ------------------------------------------------------ + Cron + ------------------------------------------------------ + */ + + /* + At end of day, add value to all incomplete Daily & Todo tasks (further incentive) + For incomplete Dailys, deduct experience + Make sure to run this function once in a while as server will not take care of overnight calculations. + And you have to run it every time client connects. + {user} + */ + cron: function(options) { + var clearBuffs, daysMissed, expTally, lvl, lvlDiv2, now, perfect, plan, progress, todoTally, _base, _base1, _base2, _base3, _progress, _ref, _ref1, _ref2; + if (options == null) { + options = {}; + } + now = +options.now || +(new Date); + daysMissed = api.daysSince(user.lastCron, _.defaults({ + now: now + }, user.preferences)); + if (!(daysMissed > 0)) { + return; + } + user.auth.timestamps.loggedin = new Date(); + user.lastCron = now; + if (user.items.lastDrop.count > 0) { + user.items.lastDrop.count = 0; + } + perfect = true; + clearBuffs = { + str: 0, + int: 0, + per: 0, + con: 0, + stealth: 0, + streaks: false + }; + plan = (_ref = user.purchased) != null ? _ref.plan : void 0; + if (plan != null ? plan.customerId : void 0) { + if (moment(plan.dateUpdated).format('MMYYYY') !== moment().format('MMYYYY')) { + plan.gemsBought = 0; + plan.dateUpdated = new Date(); + _.defaults(plan.consecutive, { + count: 0, + offset: 0, + trinkets: 0, + gemCapExtra: 0 + }); + plan.consecutive.count++; + if (plan.consecutive.offset > 0) { + plan.consecutive.offset--; + } else if (plan.consecutive.count % 3 === 0) { + plan.consecutive.trinkets++; + plan.consecutive.gemCapExtra += 5; + if (plan.consecutive.gemCapExtra > 25) { + plan.consecutive.gemCapExtra = 25; + } + } + } + if (plan.dateTerminated && moment(plan.dateTerminated).isBefore(+(new Date))) { + _.merge(plan, { + planId: null, + customerId: null, + paymentMethod: null + }); + _.merge(plan.consecutive, { + count: 0, + offset: 0, + gemCapExtra: 0 + }); + if (typeof user.markModified === "function") { + user.markModified('purchased.plan'); + } + } + } + if (user.preferences.sleep === true) { + user.stats.buffs = clearBuffs; + return; + } + todoTally = 0; + if ((_base = user.party.quest.progress).down == null) { + _base.down = 0; + } + user.todos.concat(user.dailys).forEach(function(task) { + var absVal, completed, delta, id, repeat, scheduleMisses, type; + if (!task) { + return; + } + id = task.id, type = task.type, completed = task.completed, repeat = task.repeat; + if ((type === 'daily') && !completed && user.stats.buffs.stealth && user.stats.buffs.stealth--) { + return; + } + if (!completed) { + scheduleMisses = daysMissed; + if ((type === 'daily') && repeat) { + scheduleMisses = 0; + _.times(daysMissed, function(n) { + var thatDay; + thatDay = moment(now).subtract({ + days: n + 1 + }); + if (api.shouldDo(thatDay, repeat, user.preferences)) { + return scheduleMisses++; + } + }); + } + if (scheduleMisses > 0) { + if (type === 'daily') { + perfect = false; + } + delta = user.ops.score({ + params: { + id: task.id, + direction: 'down' + }, + query: { + times: scheduleMisses, + cron: true + } + }); + if (type === 'daily') { + user.party.quest.progress.down += delta; + } + } + } + switch (type) { + case 'daily': + (task.history != null ? task.history : task.history = []).push({ + date: +(new Date), + value: task.value + }); + task.completed = false; + return _.each(task.checklist, (function(i) { + i.completed = false; + return true; + })); + case 'todo': + absVal = completed ? Math.abs(task.value) : task.value; + return todoTally += absVal; + } + }); + user.habits.forEach(function(task) { + if (task.up === false || task.down === false) { + if (Math.abs(task.value) < 0.1) { + return task.value = 0; + } else { + return task.value = task.value / 2; + } + } + }); + ((_base1 = (user.history != null ? user.history : user.history = {})).todos != null ? _base1.todos : _base1.todos = []).push({ + date: now, + value: todoTally + }); + expTally = user.stats.exp; + lvl = 0; + while (lvl < (user.stats.lvl - 1)) { + lvl++; + expTally += api.tnl(lvl); + } + ((_base2 = user.history).exp != null ? _base2.exp : _base2.exp = []).push({ + date: now, + value: expTally + }); + if (!((_ref1 = user.purchased) != null ? (_ref2 = _ref1.plan) != null ? _ref2.customerId : void 0 : void 0)) { + user.fns.preenUserHistory(); + if (typeof user.markModified === "function") { + user.markModified('history'); + } + if (typeof user.markModified === "function") { + user.markModified('dailys'); + } + } + user.stats.buffs = perfect ? ((_base3 = user.achievements).perfect != null ? _base3.perfect : _base3.perfect = 0, user.achievements.perfect++, user.stats.lvl < 100 ? lvlDiv2 = Math.ceil(user.stats.lvl / 2) : lvlDiv2 = 50, { + str: lvlDiv2, + int: lvlDiv2, + per: lvlDiv2, + con: lvlDiv2, + stealth: 0, + streaks: false + }) : clearBuffs; + user.stats.mp += _.max([10, .1 * user._statsComputed.maxMP]); + if (user.stats.mp > user._statsComputed.maxMP) { + user.stats.mp = user._statsComputed.maxMP; + } + progress = user.party.quest.progress; + _progress = _.cloneDeep(progress); + _.merge(progress, { + down: 0, + up: 0 + }); + progress.collect = _.transform(progress.collect, (function(m, v, k) { + return m[k] = 0; + })); + return _progress; + }, + preenUserHistory: function(minHistLen) { + if (minHistLen == null) { + minHistLen = 7; + } + _.each(user.habits.concat(user.dailys), function(task) { + var _ref; + if (((_ref = task.history) != null ? _ref.length : void 0) > minHistLen) { + task.history = preenHistory(task.history); + } + return true; + }); + _.defaults(user.history, { + todos: [], + exp: [] + }); + if (user.history.exp.length > minHistLen) { + user.history.exp = preenHistory(user.history.exp); + } + if (user.history.todos.length > minHistLen) { + return user.history.todos = preenHistory(user.history.todos); + } + }, + ultimateGear: function() { + var gear, lastGearClassTypeMatrix, ownedLastGear, shouldGrant; + gear = typeof window !== "undefined" && window !== null ? user.items.gear.owned : user.items.gear.owned.toObject(); + ownedLastGear = _.chain(content.gear.flat).pick(_.keys(gear)).values().filter(function(gear) { + return gear.last; + }); + lastGearClassTypeMatrix = {}; + _.each(content.classes, function(klass) { + lastGearClassTypeMatrix[klass] = {}; + return _.each(['armor', 'weapon', 'shield', 'head'], function(type) { + lastGearClassTypeMatrix[klass][type] = false; + return true; + }); + }); + ownedLastGear.each(function(gear) { + if (gear.twoHanded) { + lastGearClassTypeMatrix[gear.klass]["shield"] = true; + } + return lastGearClassTypeMatrix[gear.klass][gear.type] = true; + }); + shouldGrant = _(lastGearClassTypeMatrix).values().reduce((function(ans, klass) { + return ans || _(klass).values().reduce((function(ans, gearType) { + return ans && gearType; + }), true); + }), false).valueOf(); + return user.achievements.ultimateGear = shouldGrant; + }, + nullify: function() { + user.ops = null; + user.fns = null; + return user = null; + } + }; + Object.defineProperty(user, '_statsComputed', { + get: function() { + var computed; + computed = _.reduce(['per', 'con', 'str', 'int'], (function(_this) { + return function(m, stat) { + m[stat] = _.reduce($w('stats stats.buffs items.gear.equipped.weapon items.gear.equipped.armor items.gear.equipped.head items.gear.equipped.shield'), function(m2, path) { + var item, val; + val = user.fns.dotGet(path); + return m2 + (~path.indexOf('items.gear') ? (item = content.gear.flat[val], (+(item != null ? item[stat] : void 0) || 0) * ((item != null ? item.klass : void 0) === user.stats["class"] || (item != null ? item.specialClass : void 0) === user.stats["class"] ? 1.5 : 1)) : +val[stat] || 0); + }, 0); + if (user.stats.lvl < 100) { + m[stat] += (user.stats.lvl - 1) / 2; + } else { + m[stat] += 50; + } + return m; + }; + })(this), {}); + computed.maxMP = computed.int * 2 + 30; + return computed; + } + }); + return Object.defineProperty(user, 'tasks', { + get: function() { + var tasks; + tasks = user.habits.concat(user.dailys).concat(user.todos).concat(user.rewards); + return _.object(_.pluck(tasks, "id"), tasks); + } + }); +}; + + +}).call(this,require("/Users/blade/habitrpg/habitrpg/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js")) +},{"./content.coffee":2,"./i18n.coffee":3,"/Users/blade/habitrpg/habitrpg/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":5,"lodash":6,"moment":7}],5:[function(require,module,exports){ +// shim for using process in browser + +var process = module.exports = {}; + +process.nextTick = (function () { + var canSetImmediate = typeof window !== 'undefined' + && window.setImmediate; + var canPost = typeof window !== 'undefined' + && window.postMessage && window.addEventListener + ; + + if (canSetImmediate) { + return function (f) { return window.setImmediate(f) }; + } + + if (canPost) { + var queue = []; + window.addEventListener('message', function (ev) { + var source = ev.source; + if ((source === window || source === null) && ev.data === 'process-tick') { + ev.stopPropagation(); + if (queue.length > 0) { + var fn = queue.shift(); + fn(); + } + } + }, true); + + return function nextTick(fn) { + queue.push(fn); + window.postMessage('process-tick', '*'); + }; + } + + return function nextTick(fn) { + setTimeout(fn, 0); + }; +})(); + +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +} + +// TODO(shtylman) +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; + +},{}],6:[function(require,module,exports){ +(function (global){ +/** + * @license + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modern -o ./dist/lodash.js` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre ES5 environments */ + var undefined; + + /** Used to pool arrays and objects used internally */ + var arrayPool = [], + objectPool = []; + + /** Used to generate unique IDs */ + var idCounter = 0; + + /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */ + var keyPrefix = +new Date + ''; + + /** Used as the size when optimizations are enabled for large arrays */ + var largeArraySize = 75; + + /** Used as the max size of the `arrayPool` and `objectPool` */ + var maxPoolSize = 40; + + /** Used to detect and test whitespace */ + var whitespace = ( + // whitespace + ' \t\x0B\f\xA0\ufeff' + + + // line terminators + '\n\r\u2028\u2029' + + + // unicode category "Zs" space separators + '\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000' + ); + + /** Used to match empty string literals in compiled template source */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** + * Used to match ES6 template delimiters + * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match regexp flags from their coerced string values */ + var reFlags = /\w*$/; + + /** Used to detected named functions */ + var reFuncName = /^\s*function[ \n\r\t]+\w/; + + /** Used to match "interpolate" template delimiters */ + var reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match leading whitespace and zeros to be removed */ + var reLeadingSpacesAndZeros = RegExp('^[' + whitespace + ']*0+(?=.$)'); + + /** Used to ensure capturing order of template delimiters */ + var reNoMatch = /($^)/; + + /** Used to detect functions containing a `this` reference */ + var reThis = /\bthis\b/; + + /** Used to match unescaped characters in compiled string literals */ + var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g; + + /** Used to assign default `context` object properties */ + var contextProps = [ + 'Array', 'Boolean', 'Date', 'Function', 'Math', 'Number', 'Object', + 'RegExp', 'String', '_', 'attachEvent', 'clearTimeout', 'isFinite', 'isNaN', + 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify */ + var templateCounter = 0; + + /** `Object#toString` result shortcuts */ + var argsClass = '[object Arguments]', + arrayClass = '[object Array]', + boolClass = '[object Boolean]', + dateClass = '[object Date]', + funcClass = '[object Function]', + numberClass = '[object Number]', + objectClass = '[object Object]', + regexpClass = '[object RegExp]', + stringClass = '[object String]'; + + /** Used to identify object classifications that `_.clone` supports */ + var cloneableClasses = {}; + cloneableClasses[funcClass] = false; + cloneableClasses[argsClass] = cloneableClasses[arrayClass] = + cloneableClasses[boolClass] = cloneableClasses[dateClass] = + cloneableClasses[numberClass] = cloneableClasses[objectClass] = + cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true; + + /** Used as an internal `_.debounce` options object */ + var debounceOptions = { + 'leading': false, + 'maxWait': 0, + 'trailing': false + }; + + /** Used as the property descriptor for `__bindData__` */ + var descriptor = { + 'configurable': false, + 'enumerable': false, + 'value': null, + 'writable': false + }; + + /** Used to determine if values are of the language type Object */ + var objectTypes = { + 'boolean': false, + 'function': true, + 'object': true, + 'number': false, + 'string': false, + 'undefined': false + }; + + /** Used to escape characters for inclusion in compiled string literals */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\t': 't', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Used as a reference to the global object */ + var root = (objectTypes[typeof window] && window) || this; + + /** Detect free variable `exports` */ + var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports; + + /** Detect free variable `module` */ + var freeModule = objectTypes[typeof module] && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports` */ + var moduleExports = freeModule && freeModule.exports === freeExports && freeExports; + + /** Detect free variable `global` from Node.js or Browserified code and use it as `root` */ + var freeGlobal = objectTypes[typeof global] && global; + if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) { + root = freeGlobal; + } + + /*--------------------------------------------------------------------------*/ + + /** + * The base implementation of `_.indexOf` without support for binary searches + * or `fromIndex` constraints. + * + * @private + * @param {Array} array The array to search. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value or `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + var index = (fromIndex || 0) - 1, + length = array ? array.length : 0; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * An implementation of `_.contains` for cache objects that mimics the return + * signature of `_.indexOf` by returning `0` if the value is found, else `-1`. + * + * @private + * @param {Object} cache The cache object to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns `0` if `value` is found, else `-1`. + */ + function cacheIndexOf(cache, value) { + var type = typeof value; + cache = cache.cache; + + if (type == 'boolean' || value == null) { + return cache[value] ? 0 : -1; + } + if (type != 'number' && type != 'string') { + type = 'object'; + } + var key = type == 'number' ? value : keyPrefix + value; + cache = (cache = cache[type]) && cache[key]; + + return type == 'object' + ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1) + : (cache ? 0 : -1); + } + + /** + * Adds a given value to the corresponding cache object. + * + * @private + * @param {*} value The value to add to the cache. + */ + function cachePush(value) { + var cache = this.cache, + type = typeof value; + + if (type == 'boolean' || value == null) { + cache[value] = true; + } else { + if (type != 'number' && type != 'string') { + type = 'object'; + } + var key = type == 'number' ? value : keyPrefix + value, + typeCache = cache[type] || (cache[type] = {}); + + if (type == 'object') { + (typeCache[key] || (typeCache[key] = [])).push(value); + } else { + typeCache[key] = true; + } + } + } + + /** + * Used by `_.max` and `_.min` as the default callback when a given + * collection is a string value. + * + * @private + * @param {string} value The character to inspect. + * @returns {number} Returns the code unit of given character. + */ + function charAtCallback(value) { + return value.charCodeAt(0); + } + + /** + * Used by `sortBy` to compare transformed `collection` elements, stable sorting + * them in ascending order. + * + * @private + * @param {Object} a The object to compare to `b`. + * @param {Object} b The object to compare to `a`. + * @returns {number} Returns the sort order indicator of `1` or `-1`. + */ + function compareAscending(a, b) { + var ac = a.criteria, + bc = b.criteria, + index = -1, + length = ac.length; + + while (++index < length) { + var value = ac[index], + other = bc[index]; + + if (value !== other) { + if (value > other || typeof value == 'undefined') { + return 1; + } + if (value < other || typeof other == 'undefined') { + return -1; + } + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to return the same value for + // `a` and `b`. See https://github.com/jashkenas/underscore/pull/1247 + // + // This also ensures a stable sort in V8 and other engines. + // See http://code.google.com/p/v8/issues/detail?id=90 + return a.index - b.index; + } + + /** + * Creates a cache object to optimize linear searches of large arrays. + * + * @private + * @param {Array} [array=[]] The array to search. + * @returns {null|Object} Returns the cache object or `null` if caching should not be used. + */ + function createCache(array) { + var index = -1, + length = array.length, + first = array[0], + mid = array[(length / 2) | 0], + last = array[length - 1]; + + if (first && typeof first == 'object' && + mid && typeof mid == 'object' && last && typeof last == 'object') { + return false; + } + var cache = getObject(); + cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false; + + var result = getObject(); + result.array = array; + result.cache = cache; + result.push = cachePush; + + while (++index < length) { + result.push(array[index]); + } + return result; + } + + /** + * Used by `template` to escape characters for inclusion in compiled + * string literals. + * + * @private + * @param {string} match The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(match) { + return '\\' + stringEscapes[match]; + } + + /** + * Gets an array from the array pool or creates a new one if the pool is empty. + * + * @private + * @returns {Array} The array from the pool. + */ + function getArray() { + return arrayPool.pop() || []; + } + + /** + * Gets an object from the object pool or creates a new one if the pool is empty. + * + * @private + * @returns {Object} The object from the pool. + */ + function getObject() { + return objectPool.pop() || { + 'array': null, + 'cache': null, + 'criteria': null, + 'false': false, + 'index': 0, + 'null': false, + 'number': null, + 'object': null, + 'push': null, + 'string': null, + 'true': false, + 'undefined': false, + 'value': null + }; + } + + /** + * Releases the given array back to the array pool. + * + * @private + * @param {Array} [array] The array to release. + */ + function releaseArray(array) { + array.length = 0; + if (arrayPool.length < maxPoolSize) { + arrayPool.push(array); + } + } + + /** + * Releases the given object back to the object pool. + * + * @private + * @param {Object} [object] The object to release. + */ + function releaseObject(object) { + var cache = object.cache; + if (cache) { + releaseObject(cache); + } + object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null; + if (objectPool.length < maxPoolSize) { + objectPool.push(object); + } + } + + /** + * Slices the `collection` from the `start` index up to, but not including, + * the `end` index. + * + * Note: This function is used instead of `Array#slice` to support node lists + * in IE < 9 and to ensure dense arrays are returned. + * + * @private + * @param {Array|Object|string} collection The collection to slice. + * @param {number} start The start index. + * @param {number} end The end index. + * @returns {Array} Returns the new array. + */ + function slice(array, start, end) { + start || (start = 0); + if (typeof end == 'undefined') { + end = array ? array.length : 0; + } + var index = -1, + length = end - start || 0, + result = Array(length < 0 ? 0 : length); + + while (++index < length) { + result[index] = array[start + index]; + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new `lodash` function using the given context object. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Object} [context=root] The context object. + * @returns {Function} Returns the `lodash` function. + */ + function runInContext(context) { + // Avoid issues with some ES3 environments that attempt to use values, named + // after built-in constructors like `Object`, for the creation of literals. + // ES5 clears this up by stating that literals must use built-in constructors. + // See http://es5.github.io/#x11.1.5. + context = context ? _.defaults(root.Object(), context, _.pick(root, contextProps)) : root; + + /** Native constructor references */ + var Array = context.Array, + Boolean = context.Boolean, + Date = context.Date, + Function = context.Function, + Math = context.Math, + Number = context.Number, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** + * Used for `Array` method references. + * + * Normally `Array.prototype` would suffice, however, using an array literal + * avoids issues in Narwhal. + */ + var arrayRef = []; + + /** Used for native method references */ + var objectProto = Object.prototype; + + /** Used to restore the original `_` reference in `noConflict` */ + var oldDash = context._; + + /** Used to resolve the internal [[Class]] of values */ + var toString = objectProto.toString; + + /** Used to detect if a method is native */ + var reNative = RegExp('^' + + String(toString) + .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + .replace(/toString| for [^\]]+/g, '.*?') + '$' + ); + + /** Native method shortcuts */ + var ceil = Math.ceil, + clearTimeout = context.clearTimeout, + floor = Math.floor, + fnToString = Function.prototype.toString, + getPrototypeOf = isNative(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf, + hasOwnProperty = objectProto.hasOwnProperty, + push = arrayRef.push, + setTimeout = context.setTimeout, + splice = arrayRef.splice, + unshift = arrayRef.unshift; + + /** Used to set meta data on functions */ + var defineProperty = (function() { + // IE 8 only accepts DOM elements + try { + var o = {}, + func = isNative(func = Object.defineProperty) && func, + result = func(o, o, o) && func; + } catch(e) { } + return result; + }()); + + /* Native method shortcuts for methods with the same name as other `lodash` methods */ + var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate, + nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray, + nativeIsFinite = context.isFinite, + nativeIsNaN = context.isNaN, + nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys, + nativeMax = Math.max, + nativeMin = Math.min, + nativeParseInt = context.parseInt, + nativeRandom = Math.random; + + /** Used to lookup a built-in constructor by [[Class]] */ + var ctorByClass = {}; + ctorByClass[arrayClass] = Array; + ctorByClass[boolClass] = Boolean; + ctorByClass[dateClass] = Date; + ctorByClass[funcClass] = Function; + ctorByClass[objectClass] = Object; + ctorByClass[numberClass] = Number; + ctorByClass[regexpClass] = RegExp; + ctorByClass[stringClass] = String; + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps the given value to enable intuitive + * method chaining. + * + * In addition to Lo-Dash methods, wrappers also have the following `Array` methods: + * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`, + * and `unshift` + * + * Chaining is supported in custom builds as long as the `value` method is + * implicitly or explicitly included in the build. + * + * The chainable wrapper functions are: + * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`, + * `compose`, `concat`, `countBy`, `create`, `createCallback`, `curry`, + * `debounce`, `defaults`, `defer`, `delay`, `difference`, `filter`, `flatten`, + * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, + * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, + * `invoke`, `keys`, `map`, `max`, `memoize`, `merge`, `min`, `object`, `omit`, + * `once`, `pairs`, `partial`, `partialRight`, `pick`, `pluck`, `pull`, `push`, + * `range`, `reject`, `remove`, `rest`, `reverse`, `shuffle`, `slice`, `sort`, + * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `transform`, + * `union`, `uniq`, `unshift`, `unzip`, `values`, `where`, `without`, `wrap`, + * and `zip` + * + * The non-chainable wrapper functions are: + * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `findIndex`, + * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `has`, `identity`, + * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`, + * `isEmpty`, `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`, + * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`, + * `lastIndexOf`, `mixin`, `noConflict`, `parseInt`, `pop`, `random`, `reduce`, + * `reduceRight`, `result`, `shift`, `size`, `some`, `sortedIndex`, `runInContext`, + * `template`, `unescape`, `uniqueId`, and `value` + * + * The wrapper functions `first` and `last` return wrapped values when `n` is + * provided, otherwise they return unwrapped values. + * + * Explicit chaining can be enabled by using the `_.chain` method. + * + * @name _ + * @constructor + * @category Chaining + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns a `lodash` instance. + * @example + * + * var wrapped = _([1, 2, 3]); + * + * // returns an unwrapped value + * wrapped.reduce(function(sum, num) { + * return sum + num; + * }); + * // => 6 + * + * // returns a wrapped value + * var squares = wrapped.map(function(num) { + * return num * num; + * }); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor + return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__')) + ? value + : new lodashWrapper(value); + } + + /** + * A fast path for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap in a `lodash` instance. + * @param {boolean} chainAll A flag to enable chaining for all methods + * @returns {Object} Returns a `lodash` instance. + */ + function lodashWrapper(value, chainAll) { + this.__chain__ = !!chainAll; + this.__wrapped__ = value; + } + // ensure `new lodashWrapper` is an instance of `lodash` + lodashWrapper.prototype = lodash.prototype; + + /** + * An object used to flag environments features. + * + * @static + * @memberOf _ + * @type Object + */ + var support = lodash.support = {}; + + /** + * Detect if functions can be decompiled by `Function#toString` + * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps). + * + * @memberOf _.support + * @type boolean + */ + support.funcDecomp = !isNative(context.WinRTError) && reThis.test(runInContext); + + /** + * Detect if `Function#name` is supported (all but IE). + * + * @memberOf _.support + * @type boolean + */ + support.funcNames = typeof Function.name == 'string'; + + /** + * By default, the template delimiters used by Lo-Dash are similar to those in + * embedded Ruby (ERB). Change the following template settings to use alternative + * delimiters. + * + * @static + * @memberOf _ + * @type Object + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'escape': /<%-([\s\S]+?)%>/g, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'evaluate': /<%([\s\S]+?)%>/g, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type string + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type Object + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type Function + */ + '_': lodash + } + }; + + /*--------------------------------------------------------------------------*/ + + /** + * The base implementation of `_.bind` that creates the bound function and + * sets its meta data. + * + * @private + * @param {Array} bindData The bind data array. + * @returns {Function} Returns the new bound function. + */ + function baseBind(bindData) { + var func = bindData[0], + partialArgs = bindData[2], + thisArg = bindData[4]; + + function bound() { + // `Function#bind` spec + // http://es5.github.io/#x15.3.4.5 + if (partialArgs) { + // avoid `arguments` object deoptimizations by using `slice` instead + // of `Array.prototype.slice.call` and not assigning `arguments` to a + // variable as a ternary expression + var args = slice(partialArgs); + push.apply(args, arguments); + } + // mimic the constructor's `return` behavior + // http://es5.github.io/#x13.2.2 + if (this instanceof bound) { + // ensure `new bound` is an instance of `func` + var thisBinding = baseCreate(func.prototype), + result = func.apply(thisBinding, args || arguments); + return isObject(result) ? result : thisBinding; + } + return func.apply(thisArg, args || arguments); + } + setBindData(bound, bindData); + return bound; + } + + /** + * The base implementation of `_.clone` without argument juggling or support + * for `thisArg` binding. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} [isDeep=false] Specify a deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates clones with source counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, isDeep, callback, stackA, stackB) { + if (callback) { + var result = callback(value); + if (typeof result != 'undefined') { + return result; + } + } + // inspect [[Class]] + var isObj = isObject(value); + if (isObj) { + var className = toString.call(value); + if (!cloneableClasses[className]) { + return value; + } + var ctor = ctorByClass[className]; + switch (className) { + case boolClass: + case dateClass: + return new ctor(+value); + + case numberClass: + case stringClass: + return new ctor(value); + + case regexpClass: + result = ctor(value.source, reFlags.exec(value)); + result.lastIndex = value.lastIndex; + return result; + } + } else { + return value; + } + var isArr = isArray(value); + if (isDeep) { + // check for circular references and return corresponding clone + var initedStack = !stackA; + stackA || (stackA = getArray()); + stackB || (stackB = getArray()); + + var length = stackA.length; + while (length--) { + if (stackA[length] == value) { + return stackB[length]; + } + } + result = isArr ? ctor(value.length) : {}; + } + else { + result = isArr ? slice(value) : assign({}, value); + } + // add array properties assigned by `RegExp#exec` + if (isArr) { + if (hasOwnProperty.call(value, 'index')) { + result.index = value.index; + } + if (hasOwnProperty.call(value, 'input')) { + result.input = value.input; + } + } + // exit for shallow clone + if (!isDeep) { + return result; + } + // add the source value to the stack of traversed objects + // and associate it with its clone + stackA.push(value); + stackB.push(result); + + // recursively populate clone (susceptible to call stack limits) + (isArr ? forEach : forOwn)(value, function(objValue, key) { + result[key] = baseClone(objValue, isDeep, callback, stackA, stackB); + }); + + if (initedStack) { + releaseArray(stackA); + releaseArray(stackB); + } + return result; + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} prototype The object to inherit from. + * @returns {Object} Returns the new object. + */ + function baseCreate(prototype, properties) { + return isObject(prototype) ? nativeCreate(prototype) : {}; + } + // fallback for browsers without `Object.create` + if (!nativeCreate) { + baseCreate = (function() { + function Object() {} + return function(prototype) { + if (isObject(prototype)) { + Object.prototype = prototype; + var result = new Object; + Object.prototype = null; + } + return result || context.Object(); + }; + }()); + } + + /** + * The base implementation of `_.createCallback` without support for creating + * "_.pluck" or "_.where" style callbacks. + * + * @private + * @param {*} [func=identity] The value to convert to a callback. + * @param {*} [thisArg] The `this` binding of the created callback. + * @param {number} [argCount] The number of arguments the callback accepts. + * @returns {Function} Returns a callback function. + */ + function baseCreateCallback(func, thisArg, argCount) { + if (typeof func != 'function') { + return identity; + } + // exit early for no `thisArg` or already bound by `Function#bind` + if (typeof thisArg == 'undefined' || !('prototype' in func)) { + return func; + } + var bindData = func.__bindData__; + if (typeof bindData == 'undefined') { + if (support.funcNames) { + bindData = !func.name; + } + bindData = bindData || !support.funcDecomp; + if (!bindData) { + var source = fnToString.call(func); + if (!support.funcNames) { + bindData = !reFuncName.test(source); + } + if (!bindData) { + // checks if `func` references the `this` keyword and stores the result + bindData = reThis.test(source); + setBindData(func, bindData); + } + } + } + // exit early if there are no `this` references or `func` is bound + if (bindData === false || (bindData !== true && bindData[1] & 1)) { + return func; + } + switch (argCount) { + case 1: return function(value) { + return func.call(thisArg, value); + }; + case 2: return function(a, b) { + return func.call(thisArg, a, b); + }; + case 3: return function(value, index, collection) { + return func.call(thisArg, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(thisArg, accumulator, value, index, collection); + }; + } + return bind(func, thisArg); + } + + /** + * The base implementation of `createWrapper` that creates the wrapper and + * sets its meta data. + * + * @private + * @param {Array} bindData The bind data array. + * @returns {Function} Returns the new function. + */ + function baseCreateWrapper(bindData) { + var func = bindData[0], + bitmask = bindData[1], + partialArgs = bindData[2], + partialRightArgs = bindData[3], + thisArg = bindData[4], + arity = bindData[5]; + + var isBind = bitmask & 1, + isBindKey = bitmask & 2, + isCurry = bitmask & 4, + isCurryBound = bitmask & 8, + key = func; + + function bound() { + var thisBinding = isBind ? thisArg : this; + if (partialArgs) { + var args = slice(partialArgs); + push.apply(args, arguments); + } + if (partialRightArgs || isCurry) { + args || (args = slice(arguments)); + if (partialRightArgs) { + push.apply(args, partialRightArgs); + } + if (isCurry && args.length < arity) { + bitmask |= 16 & ~32; + return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]); + } + } + args || (args = arguments); + if (isBindKey) { + func = thisBinding[key]; + } + if (this instanceof bound) { + thisBinding = baseCreate(func.prototype); + var result = func.apply(thisBinding, args); + return isObject(result) ? result : thisBinding; + } + return func.apply(thisBinding, args); + } + setBindData(bound, bindData); + return bound; + } + + /** + * The base implementation of `_.difference` that accepts a single array + * of values to exclude. + * + * @private + * @param {Array} array The array to process. + * @param {Array} [values] The array of values to exclude. + * @returns {Array} Returns a new array of filtered values. + */ + function baseDifference(array, values) { + var index = -1, + indexOf = getIndexOf(), + length = array ? array.length : 0, + isLarge = length >= largeArraySize && indexOf === baseIndexOf, + result = []; + + if (isLarge) { + var cache = createCache(values); + if (cache) { + indexOf = cacheIndexOf; + values = cache; + } else { + isLarge = false; + } + } + while (++index < length) { + var value = array[index]; + if (indexOf(values, value) < 0) { + result.push(value); + } + } + if (isLarge) { + releaseObject(values); + } + return result; + } + + /** + * The base implementation of `_.flatten` without support for callback + * shorthands or `thisArg` binding. + * + * @private + * @param {Array} array The array to flatten. + * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level. + * @param {boolean} [isStrict=false] A flag to restrict flattening to arrays and `arguments` objects. + * @param {number} [fromIndex=0] The index to start from. + * @returns {Array} Returns a new flattened array. + */ + function baseFlatten(array, isShallow, isStrict, fromIndex) { + var index = (fromIndex || 0) - 1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + + if (value && typeof value == 'object' && typeof value.length == 'number' + && (isArray(value) || isArguments(value))) { + // recursively flatten arrays (susceptible to call stack limits) + if (!isShallow) { + value = baseFlatten(value, isShallow, isStrict); + } + var valIndex = -1, + valLength = value.length, + resIndex = result.length; + + result.length += valLength; + while (++valIndex < valLength) { + result[resIndex++] = value[valIndex]; + } + } else if (!isStrict) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.isEqual`, without support for `thisArg` binding, + * that allows partial "_.where" style comparisons. + * + * @private + * @param {*} a The value to compare. + * @param {*} b The other value to compare. + * @param {Function} [callback] The function to customize comparing values. + * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons. + * @param {Array} [stackA=[]] Tracks traversed `a` objects. + * @param {Array} [stackB=[]] Tracks traversed `b` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(a, b, callback, isWhere, stackA, stackB) { + // used to indicate that when comparing objects, `a` has at least the properties of `b` + if (callback) { + var result = callback(a, b); + if (typeof result != 'undefined') { + return !!result; + } + } + // exit early for identical values + if (a === b) { + // treat `+0` vs. `-0` as not equal + return a !== 0 || (1 / a == 1 / b); + } + var type = typeof a, + otherType = typeof b; + + // exit early for unlike primitive values + if (a === a && + !(a && objectTypes[type]) && + !(b && objectTypes[otherType])) { + return false; + } + // exit early for `null` and `undefined` avoiding ES3's Function#call behavior + // http://es5.github.io/#x15.3.4.4 + if (a == null || b == null) { + return a === b; + } + // compare [[Class]] names + var className = toString.call(a), + otherClass = toString.call(b); + + if (className == argsClass) { + className = objectClass; + } + if (otherClass == argsClass) { + otherClass = objectClass; + } + if (className != otherClass) { + return false; + } + switch (className) { + case boolClass: + case dateClass: + // coerce dates and booleans to numbers, dates to milliseconds and booleans + // to `1` or `0` treating invalid dates coerced to `NaN` as not equal + return +a == +b; + + case numberClass: + // treat `NaN` vs. `NaN` as equal + return (a != +a) + ? b != +b + // but treat `+0` vs. `-0` as not equal + : (a == 0 ? (1 / a == 1 / b) : a == +b); + + case regexpClass: + case stringClass: + // coerce regexes to strings (http://es5.github.io/#x15.10.6.4) + // treat string primitives and their corresponding object instances as equal + return a == String(b); + } + var isArr = className == arrayClass; + if (!isArr) { + // unwrap any `lodash` wrapped values + var aWrapped = hasOwnProperty.call(a, '__wrapped__'), + bWrapped = hasOwnProperty.call(b, '__wrapped__'); + + if (aWrapped || bWrapped) { + return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB); + } + // exit for functions and DOM nodes + if (className != objectClass) { + return false; + } + // in older versions of Opera, `arguments` objects have `Array` constructors + var ctorA = a.constructor, + ctorB = b.constructor; + + // non `Object` object instances with different constructors are not equal + if (ctorA != ctorB && + !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) && + ('constructor' in a && 'constructor' in b) + ) { + return false; + } + } + // assume cyclic structures are equal + // the algorithm for detecting cyclic structures is adapted from ES 5.1 + // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3) + var initedStack = !stackA; + stackA || (stackA = getArray()); + stackB || (stackB = getArray()); + + var length = stackA.length; + while (length--) { + if (stackA[length] == a) { + return stackB[length] == b; + } + } + var size = 0; + result = true; + + // add `a` and `b` to the stack of traversed objects + stackA.push(a); + stackB.push(b); + + // recursively compare objects and arrays (susceptible to call stack limits) + if (isArr) { + // compare lengths to determine if a deep comparison is necessary + length = a.length; + size = b.length; + result = size == length; + + if (result || isWhere) { + // deep compare the contents, ignoring non-numeric properties + while (size--) { + var index = length, + value = b[size]; + + if (isWhere) { + while (index--) { + if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) { + break; + } + } + } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) { + break; + } + } + } + } + else { + // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys` + // which, in this case, is more costly + forIn(b, function(value, key, b) { + if (hasOwnProperty.call(b, key)) { + // count the number of properties. + size++; + // deep compare each property value. + return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB)); + } + }); + + if (result && !isWhere) { + // ensure both objects have the same number of properties + forIn(a, function(value, key, a) { + if (hasOwnProperty.call(a, key)) { + // `size` will be `-1` if `a` has more properties than `b` + return (result = --size > -1); + } + }); + } + } + stackA.pop(); + stackB.pop(); + + if (initedStack) { + releaseArray(stackA); + releaseArray(stackB); + } + return result; + } + + /** + * The base implementation of `_.merge` without argument juggling or support + * for `thisArg` binding. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {Function} [callback] The function to customize merging properties. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates values with source counterparts. + */ + function baseMerge(object, source, callback, stackA, stackB) { + (isArray(source) ? forEach : forOwn)(source, function(source, key) { + var found, + isArr, + result = source, + value = object[key]; + + if (source && ((isArr = isArray(source)) || isPlainObject(source))) { + // avoid merging previously merged cyclic sources + var stackLength = stackA.length; + while (stackLength--) { + if ((found = stackA[stackLength] == source)) { + value = stackB[stackLength]; + break; + } + } + if (!found) { + var isShallow; + if (callback) { + result = callback(value, source); + if ((isShallow = typeof result != 'undefined')) { + value = result; + } + } + if (!isShallow) { + value = isArr + ? (isArray(value) ? value : []) + : (isPlainObject(value) ? value : {}); + } + // add `source` and associated `value` to the stack of traversed objects + stackA.push(source); + stackB.push(value); + + // recursively merge objects and arrays (susceptible to call stack limits) + if (!isShallow) { + baseMerge(value, source, callback, stackA, stackB); + } + } + } + else { + if (callback) { + result = callback(value, source); + if (typeof result == 'undefined') { + result = source; + } + } + if (typeof result != 'undefined') { + value = result; + } + } + object[key] = value; + }); + } + + /** + * The base implementation of `_.random` without argument juggling or support + * for returning floating-point numbers. + * + * @private + * @param {number} min The minimum possible value. + * @param {number} max The maximum possible value. + * @returns {number} Returns a random number. + */ + function baseRandom(min, max) { + return min + floor(nativeRandom() * (max - min + 1)); + } + + /** + * The base implementation of `_.uniq` without support for callback shorthands + * or `thisArg` binding. + * + * @private + * @param {Array} array The array to process. + * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. + * @param {Function} [callback] The function called per iteration. + * @returns {Array} Returns a duplicate-value-free array. + */ + function baseUniq(array, isSorted, callback) { + var index = -1, + indexOf = getIndexOf(), + length = array ? array.length : 0, + result = []; + + var isLarge = !isSorted && length >= largeArraySize && indexOf === baseIndexOf, + seen = (callback || isLarge) ? getArray() : result; + + if (isLarge) { + var cache = createCache(seen); + indexOf = cacheIndexOf; + seen = cache; + } + while (++index < length) { + var value = array[index], + computed = callback ? callback(value, index, array) : value; + + if (isSorted + ? !index || seen[seen.length - 1] !== computed + : indexOf(seen, computed) < 0 + ) { + if (callback || isLarge) { + seen.push(computed); + } + result.push(value); + } + } + if (isLarge) { + releaseArray(seen.array); + releaseObject(seen); + } else if (callback) { + releaseArray(seen); + } + return result; + } + + /** + * Creates a function that aggregates a collection, creating an object composed + * of keys generated from the results of running each element of the collection + * through a callback. The given `setter` function sets the keys and values + * of the composed object. + * + * @private + * @param {Function} setter The setter function. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter) { + return function(collection, callback, thisArg) { + var result = {}; + callback = lodash.createCallback(callback, thisArg, 3); + + var index = -1, + length = collection ? collection.length : 0; + + if (typeof length == 'number') { + while (++index < length) { + var value = collection[index]; + setter(result, value, callback(value, index, collection), collection); + } + } else { + forOwn(collection, function(value, key, collection) { + setter(result, value, callback(value, key, collection), collection); + }); + } + return result; + }; + } + + /** + * Creates a function that, when called, either curries or invokes `func` + * with an optional `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to reference. + * @param {number} bitmask The bitmask of method flags to compose. + * The bitmask may be composed of the following flags: + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` + * 8 - `_.curry` (bound) + * 16 - `_.partial` + * 32 - `_.partialRight` + * @param {Array} [partialArgs] An array of arguments to prepend to those + * provided to the new function. + * @param {Array} [partialRightArgs] An array of arguments to append to those + * provided to the new function. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new function. + */ + function createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) { + var isBind = bitmask & 1, + isBindKey = bitmask & 2, + isCurry = bitmask & 4, + isCurryBound = bitmask & 8, + isPartial = bitmask & 16, + isPartialRight = bitmask & 32; + + if (!isBindKey && !isFunction(func)) { + throw new TypeError; + } + if (isPartial && !partialArgs.length) { + bitmask &= ~16; + isPartial = partialArgs = false; + } + if (isPartialRight && !partialRightArgs.length) { + bitmask &= ~32; + isPartialRight = partialRightArgs = false; + } + var bindData = func && func.__bindData__; + if (bindData && bindData !== true) { + // clone `bindData` + bindData = slice(bindData); + if (bindData[2]) { + bindData[2] = slice(bindData[2]); + } + if (bindData[3]) { + bindData[3] = slice(bindData[3]); + } + // set `thisBinding` is not previously bound + if (isBind && !(bindData[1] & 1)) { + bindData[4] = thisArg; + } + // set if previously bound but not currently (subsequent curried functions) + if (!isBind && bindData[1] & 1) { + bitmask |= 8; + } + // set curried arity if not yet set + if (isCurry && !(bindData[1] & 4)) { + bindData[5] = arity; + } + // append partial left arguments + if (isPartial) { + push.apply(bindData[2] || (bindData[2] = []), partialArgs); + } + // append partial right arguments + if (isPartialRight) { + unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs); + } + // merge flags + bindData[1] |= bitmask; + return createWrapper.apply(null, bindData); + } + // fast path for `_.bind` + var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper; + return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]); + } + + /** + * Used by `escape` to convert characters to HTML entities. + * + * @private + * @param {string} match The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeHtmlChar(match) { + return htmlEscapes[match]; + } + + /** + * Gets the appropriate "indexOf" function. If the `_.indexOf` method is + * customized, this method returns the custom method, otherwise it returns + * the `baseIndexOf` function. + * + * @private + * @returns {Function} Returns the "indexOf" function. + */ + function getIndexOf() { + var result = (result = lodash.indexOf) === indexOf ? baseIndexOf : result; + return result; + } + + /** + * Checks if `value` is a native function. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a native function, else `false`. + */ + function isNative(value) { + return typeof value == 'function' && reNative.test(value); + } + + /** + * Sets `this` binding data on a given function. + * + * @private + * @param {Function} func The function to set data on. + * @param {Array} value The data array to set. + */ + var setBindData = !defineProperty ? noop : function(func, value) { + descriptor.value = value; + defineProperty(func, '__bindData__', descriptor); + }; + + /** + * A fallback implementation of `isPlainObject` which checks if a given value + * is an object created by the `Object` constructor, assuming objects created + * by the `Object` constructor have no inherited enumerable properties and that + * there are no `Object.prototype` extensions. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + */ + function shimIsPlainObject(value) { + var ctor, + result; + + // avoid non Object objects, `arguments` objects, and DOM elements + if (!(value && toString.call(value) == objectClass) || + (ctor = value.constructor, isFunction(ctor) && !(ctor instanceof ctor))) { + return false; + } + // In most environments an object's own properties are iterated before + // its inherited properties. If the last iterated property is an object's + // own property then there are no inherited enumerable properties. + forIn(value, function(value, key) { + result = key; + }); + return typeof result == 'undefined' || hasOwnProperty.call(value, result); + } + + /** + * Used by `unescape` to convert HTML entities to characters. + * + * @private + * @param {string} match The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + function unescapeHtmlChar(match) { + return htmlUnescapes[match]; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Checks if `value` is an `arguments` object. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`. + * @example + * + * (function() { return _.isArguments(arguments); })(1, 2, 3); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + function isArguments(value) { + return value && typeof value == 'object' && typeof value.length == 'number' && + toString.call(value) == argsClass || false; + } + + /** + * Checks if `value` is an array. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is an array, else `false`. + * @example + * + * (function() { return _.isArray(arguments); })(); + * // => false + * + * _.isArray([1, 2, 3]); + * // => true + */ + var isArray = nativeIsArray || function(value) { + return value && typeof value == 'object' && typeof value.length == 'number' && + toString.call(value) == arrayClass || false; + }; + + /** + * A fallback implementation of `Object.keys` which produces an array of the + * given object's own enumerable property names. + * + * @private + * @type Function + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property names. + */ + var shimKeys = function(object) { + var index, iterable = object, result = []; + if (!iterable) return result; + if (!(objectTypes[typeof object])) return result; + for (index in iterable) { + if (hasOwnProperty.call(iterable, index)) { + result.push(index); + } + } + return result + }; + + /** + * Creates an array composed of the own enumerable property names of an object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property names. + * @example + * + * _.keys({ 'one': 1, 'two': 2, 'three': 3 }); + * // => ['one', 'two', 'three'] (property order is not guaranteed across environments) + */ + var keys = !nativeKeys ? shimKeys : function(object) { + if (!isObject(object)) { + return []; + } + return nativeKeys(object); + }; + + /** + * Used to convert characters to HTML entities: + * + * Though the `>` character is escaped for symmetry, characters like `>` and `/` + * don't require escaping in HTML and have no special meaning unless they're part + * of a tag or an unquoted attribute value. + * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact") + */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to convert HTML entities to characters */ + var htmlUnescapes = invert(htmlEscapes); + + /** Used to match HTML entities and HTML characters */ + var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'), + reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g'); + + /*--------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable properties of source object(s) to the destination + * object. Subsequent sources will overwrite property assignments of previous + * sources. If a callback is provided it will be executed to produce the + * assigned values. The callback is bound to `thisArg` and invoked with two + * arguments; (objectValue, sourceValue). + * + * @static + * @memberOf _ + * @type Function + * @alias extend + * @category Objects + * @param {Object} object The destination object. + * @param {...Object} [source] The source objects. + * @param {Function} [callback] The function to customize assigning values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the destination object. + * @example + * + * _.assign({ 'name': 'fred' }, { 'employer': 'slate' }); + * // => { 'name': 'fred', 'employer': 'slate' } + * + * var defaults = _.partialRight(_.assign, function(a, b) { + * return typeof a == 'undefined' ? b : a; + * }); + * + * var object = { 'name': 'barney' }; + * defaults(object, { 'name': 'fred', 'employer': 'slate' }); + * // => { 'name': 'barney', 'employer': 'slate' } + */ + var assign = function(object, source, guard) { + var index, iterable = object, result = iterable; + if (!iterable) return result; + var args = arguments, + argsIndex = 0, + argsLength = typeof guard == 'number' ? 2 : args.length; + if (argsLength > 3 && typeof args[argsLength - 2] == 'function') { + var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2); + } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') { + callback = args[--argsLength]; + } + while (++argsIndex < argsLength) { + iterable = args[argsIndex]; + if (iterable && objectTypes[typeof iterable]) { + var ownIndex = -1, + ownProps = objectTypes[typeof iterable] && keys(iterable), + length = ownProps ? ownProps.length : 0; + + while (++ownIndex < length) { + index = ownProps[ownIndex]; + result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]; + } + } + } + return result + }; + + /** + * Creates a clone of `value`. If `isDeep` is `true` nested objects will also + * be cloned, otherwise they will be assigned by reference. If a callback + * is provided it will be executed to produce the cloned values. If the + * callback returns `undefined` cloning will be handled by the method instead. + * The callback is bound to `thisArg` and invoked with one argument; (value). + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to clone. + * @param {boolean} [isDeep=false] Specify a deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the cloned value. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * var shallow = _.clone(characters); + * shallow[0] === characters[0]; + * // => true + * + * var deep = _.clone(characters, true); + * deep[0] === characters[0]; + * // => false + * + * _.mixin({ + * 'clone': _.partialRight(_.clone, function(value) { + * return _.isElement(value) ? value.cloneNode(false) : undefined; + * }) + * }); + * + * var clone = _.clone(document.body); + * clone.childNodes.length; + * // => 0 + */ + function clone(value, isDeep, callback, thisArg) { + // allows working with "Collections" methods without using their `index` + // and `collection` arguments for `isDeep` and `callback` + if (typeof isDeep != 'boolean' && isDeep != null) { + thisArg = callback; + callback = isDeep; + isDeep = false; + } + return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1)); + } + + /** + * Creates a deep clone of `value`. If a callback is provided it will be + * executed to produce the cloned values. If the callback returns `undefined` + * cloning will be handled by the method instead. The callback is bound to + * `thisArg` and invoked with one argument; (value). + * + * Note: This method is loosely based on the structured clone algorithm. Functions + * and DOM nodes are **not** cloned. The enumerable properties of `arguments` objects and + * objects created by constructors other than `Object` are cloned to plain `Object` objects. + * See http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the deep cloned value. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * var deep = _.cloneDeep(characters); + * deep[0] === characters[0]; + * // => false + * + * var view = { + * 'label': 'docs', + * 'node': element + * }; + * + * var clone = _.cloneDeep(view, function(value) { + * return _.isElement(value) ? value.cloneNode(true) : undefined; + * }); + * + * clone.node == view.node; + * // => false + */ + function cloneDeep(value, callback, thisArg) { + return baseClone(value, true, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1)); + } + + /** + * Creates an object that inherits from the given `prototype` object. If a + * `properties` object is provided its own enumerable properties are assigned + * to the created object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { 'constructor': Circle }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties ? assign(result, properties) : result; + } + + /** + * Assigns own enumerable properties of source object(s) to the destination + * object for all destination properties that resolve to `undefined`. Once a + * property is set, additional defaults of the same property will be ignored. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The destination object. + * @param {...Object} [source] The source objects. + * @param- {Object} [guard] Allows working with `_.reduce` without using its + * `key` and `object` arguments as sources. + * @returns {Object} Returns the destination object. + * @example + * + * var object = { 'name': 'barney' }; + * _.defaults(object, { 'name': 'fred', 'employer': 'slate' }); + * // => { 'name': 'barney', 'employer': 'slate' } + */ + var defaults = function(object, source, guard) { + var index, iterable = object, result = iterable; + if (!iterable) return result; + var args = arguments, + argsIndex = 0, + argsLength = typeof guard == 'number' ? 2 : args.length; + while (++argsIndex < argsLength) { + iterable = args[argsIndex]; + if (iterable && objectTypes[typeof iterable]) { + var ownIndex = -1, + ownProps = objectTypes[typeof iterable] && keys(iterable), + length = ownProps ? ownProps.length : 0; + + while (++ownIndex < length) { + index = ownProps[ownIndex]; + if (typeof result[index] == 'undefined') result[index] = iterable[index]; + } + } + } + return result + }; + + /** + * This method is like `_.findIndex` except that it returns the key of the + * first element that passes the callback check, instead of the element itself. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to search. + * @param {Function|Object|string} [callback=identity] The function called per + * iteration. If a property name or object is provided it will be used to + * create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {string|undefined} Returns the key of the found element, else `undefined`. + * @example + * + * var characters = { + * 'barney': { 'age': 36, 'blocked': false }, + * 'fred': { 'age': 40, 'blocked': true }, + * 'pebbles': { 'age': 1, 'blocked': false } + * }; + * + * _.findKey(characters, function(chr) { + * return chr.age < 40; + * }); + * // => 'barney' (property order is not guaranteed across environments) + * + * // using "_.where" callback shorthand + * _.findKey(characters, { 'age': 1 }); + * // => 'pebbles' + * + * // using "_.pluck" callback shorthand + * _.findKey(characters, 'blocked'); + * // => 'fred' + */ + function findKey(object, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + forOwn(object, function(value, key, object) { + if (callback(value, key, object)) { + result = key; + return false; + } + }); + return result; + } + + /** + * This method is like `_.findKey` except that it iterates over elements + * of a `collection` in the opposite order. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to search. + * @param {Function|Object|string} [callback=identity] The function called per + * iteration. If a property name or object is provided it will be used to + * create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {string|undefined} Returns the key of the found element, else `undefined`. + * @example + * + * var characters = { + * 'barney': { 'age': 36, 'blocked': true }, + * 'fred': { 'age': 40, 'blocked': false }, + * 'pebbles': { 'age': 1, 'blocked': true } + * }; + * + * _.findLastKey(characters, function(chr) { + * return chr.age < 40; + * }); + * // => returns `pebbles`, assuming `_.findKey` returns `barney` + * + * // using "_.where" callback shorthand + * _.findLastKey(characters, { 'age': 40 }); + * // => 'fred' + * + * // using "_.pluck" callback shorthand + * _.findLastKey(characters, 'blocked'); + * // => 'pebbles' + */ + function findLastKey(object, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + forOwnRight(object, function(value, key, object) { + if (callback(value, key, object)) { + result = key; + return false; + } + }); + return result; + } + + /** + * Iterates over own and inherited enumerable properties of an object, + * executing the callback for each property. The callback is bound to `thisArg` + * and invoked with three arguments; (value, key, object). Callbacks may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * Shape.prototype.move = function(x, y) { + * this.x += x; + * this.y += y; + * }; + * + * _.forIn(new Shape, function(value, key) { + * console.log(key); + * }); + * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments) + */ + var forIn = function(collection, callback, thisArg) { + var index, iterable = collection, result = iterable; + if (!iterable) return result; + if (!objectTypes[typeof iterable]) return result; + callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); + for (index in iterable) { + if (callback(iterable[index], index, collection) === false) return result; + } + return result + }; + + /** + * This method is like `_.forIn` except that it iterates over elements + * of a `collection` in the opposite order. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * Shape.prototype.move = function(x, y) { + * this.x += x; + * this.y += y; + * }; + * + * _.forInRight(new Shape, function(value, key) { + * console.log(key); + * }); + * // => logs 'move', 'y', and 'x' assuming `_.forIn ` logs 'x', 'y', and 'move' + */ + function forInRight(object, callback, thisArg) { + var pairs = []; + + forIn(object, function(value, key) { + pairs.push(key, value); + }); + + var length = pairs.length; + callback = baseCreateCallback(callback, thisArg, 3); + while (length--) { + if (callback(pairs[length--], pairs[length], object) === false) { + break; + } + } + return object; + } + + /** + * Iterates over own enumerable properties of an object, executing the callback + * for each property. The callback is bound to `thisArg` and invoked with three + * arguments; (value, key, object). Callbacks may exit iteration early by + * explicitly returning `false`. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { + * console.log(key); + * }); + * // => logs '0', '1', and 'length' (property order is not guaranteed across environments) + */ + var forOwn = function(collection, callback, thisArg) { + var index, iterable = collection, result = iterable; + if (!iterable) return result; + if (!objectTypes[typeof iterable]) return result; + callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); + var ownIndex = -1, + ownProps = objectTypes[typeof iterable] && keys(iterable), + length = ownProps ? ownProps.length : 0; + + while (++ownIndex < length) { + index = ownProps[ownIndex]; + if (callback(iterable[index], index, collection) === false) return result; + } + return result + }; + + /** + * This method is like `_.forOwn` except that it iterates over elements + * of a `collection` in the opposite order. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * _.forOwnRight({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { + * console.log(key); + * }); + * // => logs 'length', '1', and '0' assuming `_.forOwn` logs '0', '1', and 'length' + */ + function forOwnRight(object, callback, thisArg) { + var props = keys(object), + length = props.length; + + callback = baseCreateCallback(callback, thisArg, 3); + while (length--) { + var key = props[length]; + if (callback(object[key], key, object) === false) { + break; + } + } + return object; + } + + /** + * Creates a sorted array of property names of all enumerable properties, + * own and inherited, of `object` that have function values. + * + * @static + * @memberOf _ + * @alias methods + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property names that have function values. + * @example + * + * _.functions(_); + * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...] + */ + function functions(object) { + var result = []; + forIn(object, function(value, key) { + if (isFunction(value)) { + result.push(key); + } + }); + return result.sort(); + } + + /** + * Checks if the specified property name exists as a direct property of `object`, + * instead of an inherited property. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @param {string} key The name of the property to check. + * @returns {boolean} Returns `true` if key is a direct property, else `false`. + * @example + * + * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b'); + * // => true + */ + function has(object, key) { + return object ? hasOwnProperty.call(object, key) : false; + } + + /** + * Creates an object composed of the inverted keys and values of the given object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to invert. + * @returns {Object} Returns the created inverted object. + * @example + * + * _.invert({ 'first': 'fred', 'second': 'barney' }); + * // => { 'fred': 'first', 'barney': 'second' } + */ + function invert(object) { + var index = -1, + props = keys(object), + length = props.length, + result = {}; + + while (++index < length) { + var key = props[index]; + result[object[key]] = key; + } + return result; + } + + /** + * Checks if `value` is a boolean value. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a boolean value, else `false`. + * @example + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + value && typeof value == 'object' && toString.call(value) == boolClass || false; + } + + /** + * Checks if `value` is a date. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a date, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + */ + function isDate(value) { + return value && typeof value == 'object' && toString.call(value) == dateClass || false; + } + + /** + * Checks if `value` is a DOM element. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + */ + function isElement(value) { + return value && value.nodeType === 1 || false; + } + + /** + * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a + * length of `0` and objects with no own enumerable properties are considered + * "empty". + * + * @static + * @memberOf _ + * @category Objects + * @param {Array|Object|string} value The value to inspect. + * @returns {boolean} Returns `true` if the `value` is empty, else `false`. + * @example + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({}); + * // => true + * + * _.isEmpty(''); + * // => true + */ + function isEmpty(value) { + var result = true; + if (!value) { + return result; + } + var className = toString.call(value), + length = value.length; + + if ((className == arrayClass || className == stringClass || className == argsClass ) || + (className == objectClass && typeof length == 'number' && isFunction(value.splice))) { + return !length; + } + forOwn(value, function() { + return (result = false); + }); + return result; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent to each other. If a callback is provided it will be executed + * to compare values. If the callback returns `undefined` comparisons will + * be handled by the method instead. The callback is bound to `thisArg` and + * invoked with two arguments; (a, b). + * + * @static + * @memberOf _ + * @category Objects + * @param {*} a The value to compare. + * @param {*} b The other value to compare. + * @param {Function} [callback] The function to customize comparing values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'name': 'fred' }; + * var copy = { 'name': 'fred' }; + * + * object == copy; + * // => false + * + * _.isEqual(object, copy); + * // => true + * + * var words = ['hello', 'goodbye']; + * var otherWords = ['hi', 'goodbye']; + * + * _.isEqual(words, otherWords, function(a, b) { + * var reGreet = /^(?:hello|hi)$/i, + * aGreet = _.isString(a) && reGreet.test(a), + * bGreet = _.isString(b) && reGreet.test(b); + * + * return (aGreet || bGreet) ? (aGreet == bGreet) : undefined; + * }); + * // => true + */ + function isEqual(a, b, callback, thisArg) { + return baseIsEqual(a, b, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 2)); + } + + /** + * Checks if `value` is, or can be coerced to, a finite number. + * + * Note: This is not the same as native `isFinite` which will return true for + * booleans and empty strings. See http://es5.github.io/#x15.1.2.5. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is finite, else `false`. + * @example + * + * _.isFinite(-101); + * // => true + * + * _.isFinite('10'); + * // => true + * + * _.isFinite(true); + * // => false + * + * _.isFinite(''); + * // => false + * + * _.isFinite(Infinity); + * // => false + */ + function isFinite(value) { + return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value)); + } + + /** + * Checks if `value` is a function. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + */ + function isFunction(value) { + return typeof value == 'function'; + } + + /** + * Checks if `value` is the language type of Object. + * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(1); + * // => false + */ + function isObject(value) { + // check if the value is the ECMAScript language type of Object + // http://es5.github.io/#x8 + // and avoid a V8 bug + // http://code.google.com/p/v8/issues/detail?id=2291 + return !!(value && objectTypes[typeof value]); + } + + /** + * Checks if `value` is `NaN`. + * + * Note: This is not the same as native `isNaN` which will return `true` for + * `undefined` and other non-numeric values. See http://es5.github.io/#x15.1.2.4. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // `NaN` as a primitive is the only value that is not equal to itself + // (perform the [[Class]] check first to avoid errors with some host objects in IE) + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(undefined); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is a number. + * + * Note: `NaN` is considered a number. See http://es5.github.io/#x8.5. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a number, else `false`. + * @example + * + * _.isNumber(8.4 * 5); + * // => true + */ + function isNumber(value) { + return typeof value == 'number' || + value && typeof value == 'object' && toString.call(value) == numberClass || false; + } + + /** + * Checks if `value` is an object created by the `Object` constructor. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * _.isPlainObject(new Shape); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + */ + var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) { + if (!(value && toString.call(value) == objectClass)) { + return false; + } + var valueOf = value.valueOf, + objProto = isNative(valueOf) && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto); + + return objProto + ? (value == objProto || getPrototypeOf(value) == objProto) + : shimIsPlainObject(value); + }; + + /** + * Checks if `value` is a regular expression. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a regular expression, else `false`. + * @example + * + * _.isRegExp(/fred/); + * // => true + */ + function isRegExp(value) { + return value && typeof value == 'object' && toString.call(value) == regexpClass || false; + } + + /** + * Checks if `value` is a string. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a string, else `false`. + * @example + * + * _.isString('fred'); + * // => true + */ + function isString(value) { + return typeof value == 'string' || + value && typeof value == 'object' && toString.call(value) == stringClass || false; + } + + /** + * Checks if `value` is `undefined`. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + */ + function isUndefined(value) { + return typeof value == 'undefined'; + } + + /** + * Creates an object with the same keys as `object` and values generated by + * running each own enumerable property of `object` through the callback. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, key, object). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new object with values of the results of each `callback` execution. + * @example + * + * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; }); + * // => { 'a': 3, 'b': 6, 'c': 9 } + * + * var characters = { + * 'fred': { 'name': 'fred', 'age': 40 }, + * 'pebbles': { 'name': 'pebbles', 'age': 1 } + * }; + * + * // using "_.pluck" callback shorthand + * _.mapValues(characters, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } + */ + function mapValues(object, callback, thisArg) { + var result = {}; + callback = lodash.createCallback(callback, thisArg, 3); + + forOwn(object, function(value, key, object) { + result[key] = callback(value, key, object); + }); + return result; + } + + /** + * Recursively merges own enumerable properties of the source object(s), that + * don't resolve to `undefined` into the destination object. Subsequent sources + * will overwrite property assignments of previous sources. If a callback is + * provided it will be executed to produce the merged values of the destination + * and source properties. If the callback returns `undefined` merging will + * be handled by the method instead. The callback is bound to `thisArg` and + * invoked with two arguments; (objectValue, sourceValue). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The destination object. + * @param {...Object} [source] The source objects. + * @param {Function} [callback] The function to customize merging properties. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the destination object. + * @example + * + * var names = { + * 'characters': [ + * { 'name': 'barney' }, + * { 'name': 'fred' } + * ] + * }; + * + * var ages = { + * 'characters': [ + * { 'age': 36 }, + * { 'age': 40 } + * ] + * }; + * + * _.merge(names, ages); + * // => { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] } + * + * var food = { + * 'fruits': ['apple'], + * 'vegetables': ['beet'] + * }; + * + * var otherFood = { + * 'fruits': ['banana'], + * 'vegetables': ['carrot'] + * }; + * + * _.merge(food, otherFood, function(a, b) { + * return _.isArray(a) ? a.concat(b) : undefined; + * }); + * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] } + */ + function merge(object) { + var args = arguments, + length = 2; + + if (!isObject(object)) { + return object; + } + // allows working with `_.reduce` and `_.reduceRight` without using + // their `index` and `collection` arguments + if (typeof args[2] != 'number') { + length = args.length; + } + if (length > 3 && typeof args[length - 2] == 'function') { + var callback = baseCreateCallback(args[--length - 1], args[length--], 2); + } else if (length > 2 && typeof args[length - 1] == 'function') { + callback = args[--length]; + } + var sources = slice(arguments, 1, length), + index = -1, + stackA = getArray(), + stackB = getArray(); + + while (++index < length) { + baseMerge(object, sources[index], callback, stackA, stackB); + } + releaseArray(stackA); + releaseArray(stackB); + return object; + } + + /** + * Creates a shallow clone of `object` excluding the specified properties. + * Property names may be specified as individual arguments or as arrays of + * property names. If a callback is provided it will be executed for each + * property of `object` omitting the properties the callback returns truey + * for. The callback is bound to `thisArg` and invoked with three arguments; + * (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Function|...string|string[]} [callback] The properties to omit or the + * function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object without the omitted properties. + * @example + * + * _.omit({ 'name': 'fred', 'age': 40 }, 'age'); + * // => { 'name': 'fred' } + * + * _.omit({ 'name': 'fred', 'age': 40 }, function(value) { + * return typeof value == 'number'; + * }); + * // => { 'name': 'fred' } + */ + function omit(object, callback, thisArg) { + var result = {}; + if (typeof callback != 'function') { + var props = []; + forIn(object, function(value, key) { + props.push(key); + }); + props = baseDifference(props, baseFlatten(arguments, true, false, 1)); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + result[key] = object[key]; + } + } else { + callback = lodash.createCallback(callback, thisArg, 3); + forIn(object, function(value, key, object) { + if (!callback(value, key, object)) { + result[key] = value; + } + }); + } + return result; + } + + /** + * Creates a two dimensional array of an object's key-value pairs, + * i.e. `[[key1, value1], [key2, value2]]`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns new array of key-value pairs. + * @example + * + * _.pairs({ 'barney': 36, 'fred': 40 }); + * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments) + */ + function pairs(object) { + var index = -1, + props = keys(object), + length = props.length, + result = Array(length); + + while (++index < length) { + var key = props[index]; + result[index] = [key, object[key]]; + } + return result; + } + + /** + * Creates a shallow clone of `object` composed of the specified properties. + * Property names may be specified as individual arguments or as arrays of + * property names. If a callback is provided it will be executed for each + * property of `object` picking the properties the callback returns truey + * for. The callback is bound to `thisArg` and invoked with three arguments; + * (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Function|...string|string[]} [callback] The function called per + * iteration or property names to pick, specified as individual property + * names or arrays of property names. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object composed of the picked properties. + * @example + * + * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name'); + * // => { 'name': 'fred' } + * + * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) { + * return key.charAt(0) != '_'; + * }); + * // => { 'name': 'fred' } + */ + function pick(object, callback, thisArg) { + var result = {}; + if (typeof callback != 'function') { + var index = -1, + props = baseFlatten(arguments, true, false, 1), + length = isObject(object) ? props.length : 0; + + while (++index < length) { + var key = props[index]; + if (key in object) { + result[key] = object[key]; + } + } + } else { + callback = lodash.createCallback(callback, thisArg, 3); + forIn(object, function(value, key, object) { + if (callback(value, key, object)) { + result[key] = value; + } + }); + } + return result; + } + + /** + * An alternative to `_.reduce` this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable properties through a callback, with each callback execution + * potentially mutating the `accumulator` object. The callback is bound to + * `thisArg` and invoked with four arguments; (accumulator, value, key, object). + * Callbacks may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Array|Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the accumulated value. + * @example + * + * var squares = _.transform([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function(result, num) { + * num *= num; + * if (num % 2) { + * return result.push(num) < 3; + * } + * }); + * // => [1, 9, 25] + * + * var mapped = _.transform({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) { + * result[key] = num * 3; + * }); + * // => { 'a': 3, 'b': 6, 'c': 9 } + */ + function transform(object, callback, accumulator, thisArg) { + var isArr = isArray(object); + if (accumulator == null) { + if (isArr) { + accumulator = []; + } else { + var ctor = object && object.constructor, + proto = ctor && ctor.prototype; + + accumulator = baseCreate(proto); + } + } + if (callback) { + callback = lodash.createCallback(callback, thisArg, 4); + (isArr ? forEach : forOwn)(object, function(value, index, object) { + return callback(accumulator, value, index, object); + }); + } + return accumulator; + } + + /** + * Creates an array composed of the own enumerable property values of `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property values. + * @example + * + * _.values({ 'one': 1, 'two': 2, 'three': 3 }); + * // => [1, 2, 3] (property order is not guaranteed across environments) + */ + function values(object) { + var index = -1, + props = keys(object), + length = props.length, + result = Array(length); + + while (++index < length) { + result[index] = object[props[index]]; + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates an array of elements from the specified indexes, or keys, of the + * `collection`. Indexes may be specified as individual arguments or as arrays + * of indexes. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {...(number|number[]|string|string[])} [index] The indexes of `collection` + * to retrieve, specified as individual indexes or arrays of indexes. + * @returns {Array} Returns a new array of elements corresponding to the + * provided indexes. + * @example + * + * _.at(['a', 'b', 'c', 'd', 'e'], [0, 2, 4]); + * // => ['a', 'c', 'e'] + * + * _.at(['fred', 'barney', 'pebbles'], 0, 2); + * // => ['fred', 'pebbles'] + */ + function at(collection) { + var args = arguments, + index = -1, + props = baseFlatten(args, true, false, 1), + length = (args[2] && args[2][args[1]] === collection) ? 1 : props.length, + result = Array(length); + + while(++index < length) { + result[index] = collection[props[index]]; + } + return result; + } + + /** + * Checks if a given value is present in a collection using strict equality + * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the + * offset from the end of the collection. + * + * @static + * @memberOf _ + * @alias include + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {*} target The value to check for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {boolean} Returns `true` if the `target` element is found, else `false`. + * @example + * + * _.contains([1, 2, 3], 1); + * // => true + * + * _.contains([1, 2, 3], 1, 2); + * // => false + * + * _.contains({ 'name': 'fred', 'age': 40 }, 'fred'); + * // => true + * + * _.contains('pebbles', 'eb'); + * // => true + */ + function contains(collection, target, fromIndex) { + var index = -1, + indexOf = getIndexOf(), + length = collection ? collection.length : 0, + result = false; + + fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0; + if (isArray(collection)) { + result = indexOf(collection, target, fromIndex) > -1; + } else if (typeof length == 'number') { + result = (isString(collection) ? collection.indexOf(target, fromIndex) : indexOf(collection, target, fromIndex)) > -1; + } else { + forOwn(collection, function(value) { + if (++index >= fromIndex) { + return !(result = value === target); + } + }); + } + return result; + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` through the callback. The corresponding value + * of each key is the number of times the key was returned by the callback. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': 1, '6': 2 } + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': 1, '6': 2 } + * + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1); + }); + + /** + * Checks if the given callback returns truey value for **all** elements of + * a collection. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias all + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {boolean} Returns `true` if all elements passed the callback check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes']); + * // => false + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.every(characters, 'age'); + * // => true + * + * // using "_.where" callback shorthand + * _.every(characters, { 'age': 36 }); + * // => false + */ + function every(collection, callback, thisArg) { + var result = true; + callback = lodash.createCallback(callback, thisArg, 3); + + var index = -1, + length = collection ? collection.length : 0; + + if (typeof length == 'number') { + while (++index < length) { + if (!(result = !!callback(collection[index], index, collection))) { + break; + } + } + } else { + forOwn(collection, function(value, index, collection) { + return (result = !!callback(value, index, collection)); + }); + } + return result; + } + + /** + * Iterates over elements of a collection, returning an array of all elements + * the callback returns truey for. The callback is bound to `thisArg` and + * invoked with three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias select + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that passed the callback check. + * @example + * + * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [2, 4, 6] + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.filter(characters, 'blocked'); + * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }] + * + * // using "_.where" callback shorthand + * _.filter(characters, { 'age': 36 }); + * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }] + */ + function filter(collection, callback, thisArg) { + var result = []; + callback = lodash.createCallback(callback, thisArg, 3); + + var index = -1, + length = collection ? collection.length : 0; + + if (typeof length == 'number') { + while (++index < length) { + var value = collection[index]; + if (callback(value, index, collection)) { + result.push(value); + } + } + } else { + forOwn(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result.push(value); + } + }); + } + return result; + } + + /** + * Iterates over elements of a collection, returning the first element that + * the callback returns truey for. The callback is bound to `thisArg` and + * invoked with three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias detect, findWhere + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the found element, else `undefined`. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true }, + * { 'name': 'pebbles', 'age': 1, 'blocked': false } + * ]; + * + * _.find(characters, function(chr) { + * return chr.age < 40; + * }); + * // => { 'name': 'barney', 'age': 36, 'blocked': false } + * + * // using "_.where" callback shorthand + * _.find(characters, { 'age': 1 }); + * // => { 'name': 'pebbles', 'age': 1, 'blocked': false } + * + * // using "_.pluck" callback shorthand + * _.find(characters, 'blocked'); + * // => { 'name': 'fred', 'age': 40, 'blocked': true } + */ + function find(collection, callback, thisArg) { + callback = lodash.createCallback(callback, thisArg, 3); + + var index = -1, + length = collection ? collection.length : 0; + + if (typeof length == 'number') { + while (++index < length) { + var value = collection[index]; + if (callback(value, index, collection)) { + return value; + } + } + } else { + var result; + forOwn(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result = value; + return false; + } + }); + return result; + } + } + + /** + * This method is like `_.find` except that it iterates over elements + * of a `collection` from right to left. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the found element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(num) { + * return num % 2 == 1; + * }); + * // => 3 + */ + function findLast(collection, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + forEachRight(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result = value; + return false; + } + }); + return result; + } + + /** + * Iterates over elements of a collection, executing the callback for each + * element. The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). Callbacks may exit iteration early by + * explicitly returning `false`. + * + * Note: As with other "Collections" methods, objects with a `length` property + * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` + * may be used for object iteration. + * + * @static + * @memberOf _ + * @alias each + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|string} Returns `collection`. + * @example + * + * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(','); + * // => logs each number and returns '1,2,3' + * + * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); }); + * // => logs each number and returns the object (property order is not guaranteed across environments) + */ + function forEach(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0; + + callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); + if (typeof length == 'number') { + while (++index < length) { + if (callback(collection[index], index, collection) === false) { + break; + } + } + } else { + forOwn(collection, callback); + } + return collection; + } + + /** + * This method is like `_.forEach` except that it iterates over elements + * of a `collection` from right to left. + * + * @static + * @memberOf _ + * @alias eachRight + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|string} Returns `collection`. + * @example + * + * _([1, 2, 3]).forEachRight(function(num) { console.log(num); }).join(','); + * // => logs each number from right to left and returns '3,2,1' + */ + function forEachRight(collection, callback, thisArg) { + var length = collection ? collection.length : 0; + callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); + if (typeof length == 'number') { + while (length--) { + if (callback(collection[length], length, collection) === false) { + break; + } + } + } else { + var props = keys(collection); + length = props.length; + forOwn(collection, function(value, key, collection) { + key = props ? props[--length] : --length; + return callback(collection[key], key, collection); + }); + } + return collection; + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of a collection through the callback. The corresponding value + * of each key is an array of the elements responsible for generating the key. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false` + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * // using "_.pluck" callback shorthand + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value); + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of the collection through the given callback. The corresponding + * value of each key is the last element responsible for generating the key. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var keys = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.indexBy(keys, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + * + * _.indexBy(keys, function(key) { return String.fromCharCode(key.code); }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.indexBy(characters, function(key) { this.fromCharCode(key.code); }, String); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + */ + var indexBy = createAggregator(function(result, value, key) { + result[key] = value; + }); + + /** + * Invokes the method named by `methodName` on each element in the `collection` + * returning an array of the results of each invoked method. Additional arguments + * will be provided to each invoked method. If `methodName` is a function it + * will be invoked for, and `this` bound to, each element in the `collection`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|string} methodName The name of the method to invoke or + * the function invoked per iteration. + * @param {...*} [arg] Arguments to invoke the method with. + * @returns {Array} Returns a new array of the results of each invoked method. + * @example + * + * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invoke([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + function invoke(collection, methodName) { + var args = slice(arguments, 2), + index = -1, + isFunc = typeof methodName == 'function', + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + forEach(collection, function(value) { + result[++index] = (isFunc ? methodName : value[methodName]).apply(value, args); + }); + return result; + } + + /** + * Creates an array of values by running each element in the collection + * through the callback. The callback is bound to `thisArg` and invoked with + * three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias collect + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of the results of each `callback` execution. + * @example + * + * _.map([1, 2, 3], function(num) { return num * 3; }); + * // => [3, 6, 9] + * + * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; }); + * // => [3, 6, 9] (property order is not guaranteed across environments) + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.map(characters, 'name'); + * // => ['barney', 'fred'] + */ + function map(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0; + + callback = lodash.createCallback(callback, thisArg, 3); + if (typeof length == 'number') { + var result = Array(length); + while (++index < length) { + result[index] = callback(collection[index], index, collection); + } + } else { + result = []; + forOwn(collection, function(value, key, collection) { + result[++index] = callback(value, key, collection); + }); + } + return result; + } + + /** + * Retrieves the maximum value of a collection. If the collection is empty or + * falsey `-Infinity` is returned. If a callback is provided it will be executed + * for each value in the collection to generate the criterion by which the value + * is ranked. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * _.max(characters, function(chr) { return chr.age; }); + * // => { 'name': 'fred', 'age': 40 }; + * + * // using "_.pluck" callback shorthand + * _.max(characters, 'age'); + * // => { 'name': 'fred', 'age': 40 }; + */ + function max(collection, callback, thisArg) { + var computed = -Infinity, + result = computed; + + // allows working with functions like `_.map` without using + // their `index` argument as a callback + if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) { + callback = null; + } + if (callback == null && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (value > result) { + result = value; + } + } + } else { + callback = (callback == null && isString(collection)) + ? charAtCallback + : lodash.createCallback(callback, thisArg, 3); + + forEach(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current > computed) { + computed = current; + result = value; + } + }); + } + return result; + } + + /** + * Retrieves the minimum value of a collection. If the collection is empty or + * falsey `Infinity` is returned. If a callback is provided it will be executed + * for each value in the collection to generate the criterion by which the value + * is ranked. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * _.min(characters, function(chr) { return chr.age; }); + * // => { 'name': 'barney', 'age': 36 }; + * + * // using "_.pluck" callback shorthand + * _.min(characters, 'age'); + * // => { 'name': 'barney', 'age': 36 }; + */ + function min(collection, callback, thisArg) { + var computed = Infinity, + result = computed; + + // allows working with functions like `_.map` without using + // their `index` argument as a callback + if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) { + callback = null; + } + if (callback == null && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (value < result) { + result = value; + } + } + } else { + callback = (callback == null && isString(collection)) + ? charAtCallback + : lodash.createCallback(callback, thisArg, 3); + + forEach(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current < computed) { + computed = current; + result = value; + } + }); + } + return result; + } + + /** + * Retrieves the value of a specified property from all elements in the collection. + * + * @static + * @memberOf _ + * @type Function + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {string} property The name of the property to pluck. + * @returns {Array} Returns a new array of property values. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * _.pluck(characters, 'name'); + * // => ['barney', 'fred'] + */ + var pluck = map; + + /** + * Reduces a collection to a value which is the accumulated result of running + * each element in the collection through the callback, where each successive + * callback execution consumes the return value of the previous execution. If + * `accumulator` is not provided the first element of the collection will be + * used as the initial `accumulator` value. The callback is bound to `thisArg` + * and invoked with four arguments; (accumulator, value, index|key, collection). + * + * @static + * @memberOf _ + * @alias foldl, inject + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [accumulator] Initial value of the accumulator. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the accumulated value. + * @example + * + * var sum = _.reduce([1, 2, 3], function(sum, num) { + * return sum + num; + * }); + * // => 6 + * + * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) { + * result[key] = num * 3; + * return result; + * }, {}); + * // => { 'a': 3, 'b': 6, 'c': 9 } + */ + function reduce(collection, callback, accumulator, thisArg) { + if (!collection) return accumulator; + var noaccum = arguments.length < 3; + callback = lodash.createCallback(callback, thisArg, 4); + + var index = -1, + length = collection.length; + + if (typeof length == 'number') { + if (noaccum) { + accumulator = collection[++index]; + } + while (++index < length) { + accumulator = callback(accumulator, collection[index], index, collection); + } + } else { + forOwn(collection, function(value, index, collection) { + accumulator = noaccum + ? (noaccum = false, value) + : callback(accumulator, value, index, collection) + }); + } + return accumulator; + } + + /** + * This method is like `_.reduce` except that it iterates over elements + * of a `collection` from right to left. + * + * @static + * @memberOf _ + * @alias foldr + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [accumulator] Initial value of the accumulator. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the accumulated value. + * @example + * + * var list = [[0, 1], [2, 3], [4, 5]]; + * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, callback, accumulator, thisArg) { + var noaccum = arguments.length < 3; + callback = lodash.createCallback(callback, thisArg, 4); + forEachRight(collection, function(value, index, collection) { + accumulator = noaccum + ? (noaccum = false, value) + : callback(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The opposite of `_.filter` this method returns the elements of a + * collection that the callback does **not** return truey for. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that failed the callback check. + * @example + * + * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [1, 3, 5] + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.reject(characters, 'blocked'); + * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }] + * + * // using "_.where" callback shorthand + * _.reject(characters, { 'age': 36 }); + * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }] + */ + function reject(collection, callback, thisArg) { + callback = lodash.createCallback(callback, thisArg, 3); + return filter(collection, function(value, index, collection) { + return !callback(value, index, collection); + }); + } + + /** + * Retrieves a random element or `n` random elements from a collection. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to sample. + * @param {number} [n] The number of elements to sample. + * @param- {Object} [guard] Allows working with functions like `_.map` + * without using their `index` arguments as `n`. + * @returns {Array} Returns the random sample(s) of `collection`. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + * + * _.sample([1, 2, 3, 4], 2); + * // => [3, 1] + */ + function sample(collection, n, guard) { + if (collection && typeof collection.length != 'number') { + collection = values(collection); + } + if (n == null || guard) { + return collection ? collection[baseRandom(0, collection.length - 1)] : undefined; + } + var result = shuffle(collection); + result.length = nativeMin(nativeMax(0, n), result.length); + return result; + } + + /** + * Creates an array of shuffled values, using a version of the Fisher-Yates + * shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to shuffle. + * @returns {Array} Returns a new shuffled collection. + * @example + * + * _.shuffle([1, 2, 3, 4, 5, 6]); + * // => [4, 1, 6, 3, 5, 2] + */ + function shuffle(collection) { + var index = -1, + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + forEach(collection, function(value) { + var rand = baseRandom(0, ++index); + result[index] = result[rand]; + result[rand] = value; + }); + return result; + } + + /** + * Gets the size of the `collection` by returning `collection.length` for arrays + * and array-like objects or the number of own enumerable properties for objects. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns `collection.length` or number of own enumerable properties. + * @example + * + * _.size([1, 2]); + * // => 2 + * + * _.size({ 'one': 1, 'two': 2, 'three': 3 }); + * // => 3 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + var length = collection ? collection.length : 0; + return typeof length == 'number' ? length : keys(collection).length; + } + + /** + * Checks if the callback returns a truey value for **any** element of a + * collection. The function returns as soon as it finds a passing value and + * does not iterate over the entire collection. The callback is bound to + * `thisArg` and invoked with three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias any + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {boolean} Returns `true` if any element passed the callback check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.some(characters, 'blocked'); + * // => true + * + * // using "_.where" callback shorthand + * _.some(characters, { 'age': 1 }); + * // => false + */ + function some(collection, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + + var index = -1, + length = collection ? collection.length : 0; + + if (typeof length == 'number') { + while (++index < length) { + if ((result = callback(collection[index], index, collection))) { + break; + } + } + } else { + forOwn(collection, function(value, index, collection) { + return !(result = callback(value, index, collection)); + }); + } + return !!result; + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection through the callback. This method + * performs a stable sort, that is, it will preserve the original sort order + * of equal elements. The callback is bound to `thisArg` and invoked with + * three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an array of property names is provided for `callback` the collection + * will be sorted by each property value. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Array|Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of sorted elements. + * @example + * + * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); }); + * // => [3, 1, 2] + * + * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math); + * // => [3, 1, 2] + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 }, + * { 'name': 'barney', 'age': 26 }, + * { 'name': 'fred', 'age': 30 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.map(_.sortBy(characters, 'age'), _.values); + * // => [['barney', 26], ['fred', 30], ['barney', 36], ['fred', 40]] + * + * // sorting by multiple properties + * _.map(_.sortBy(characters, ['name', 'age']), _.values); + * // = > [['barney', 26], ['barney', 36], ['fred', 30], ['fred', 40]] + */ + function sortBy(collection, callback, thisArg) { + var index = -1, + isArr = isArray(callback), + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + if (!isArr) { + callback = lodash.createCallback(callback, thisArg, 3); + } + forEach(collection, function(value, key, collection) { + var object = result[++index] = getObject(); + if (isArr) { + object.criteria = map(callback, function(key) { return value[key]; }); + } else { + (object.criteria = getArray())[0] = callback(value, key, collection); + } + object.index = index; + object.value = value; + }); + + length = result.length; + result.sort(compareAscending); + while (length--) { + var object = result[length]; + result[length] = object.value; + if (!isArr) { + releaseArray(object.criteria); + } + releaseObject(object); + } + return result; + } + + /** + * Converts the `collection` to an array. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to convert. + * @returns {Array} Returns the new converted array. + * @example + * + * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4); + * // => [2, 3, 4] + */ + function toArray(collection) { + if (collection && typeof collection.length == 'number') { + return slice(collection); + } + return values(collection); + } + + /** + * Performs a deep comparison of each element in a `collection` to the given + * `properties` object, returning an array of all elements that have equivalent + * property values. + * + * @static + * @memberOf _ + * @type Function + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Object} props The object of property values to filter by. + * @returns {Array} Returns a new array of elements that have the given properties. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }, + * { 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] } + * ]; + * + * _.where(characters, { 'age': 36 }); + * // => [{ 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }] + * + * _.where(characters, { 'pets': ['dino'] }); + * // => [{ 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] }] + */ + var where = filter; + + /*--------------------------------------------------------------------------*/ + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are all falsey. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to compact. + * @returns {Array} Returns a new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result.push(value); + } + } + return result; + } + + /** + * Creates an array excluding all values of the provided arrays using strict + * equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to process. + * @param {...Array} [values] The arrays of values to exclude. + * @returns {Array} Returns a new array of filtered values. + * @example + * + * _.difference([1, 2, 3, 4, 5], [5, 2, 10]); + * // => [1, 3, 4] + */ + function difference(array) { + return baseDifference(array, baseFlatten(arguments, true, true, 1)); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element that passes the callback check, instead of the element itself. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true }, + * { 'name': 'pebbles', 'age': 1, 'blocked': false } + * ]; + * + * _.findIndex(characters, function(chr) { + * return chr.age < 20; + * }); + * // => 2 + * + * // using "_.where" callback shorthand + * _.findIndex(characters, { 'age': 36 }); + * // => 0 + * + * // using "_.pluck" callback shorthand + * _.findIndex(characters, 'blocked'); + * // => 1 + */ + function findIndex(array, callback, thisArg) { + var index = -1, + length = array ? array.length : 0; + + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length) { + if (callback(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of a `collection` from right to left. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': true }, + * { 'name': 'fred', 'age': 40, 'blocked': false }, + * { 'name': 'pebbles', 'age': 1, 'blocked': true } + * ]; + * + * _.findLastIndex(characters, function(chr) { + * return chr.age > 30; + * }); + * // => 1 + * + * // using "_.where" callback shorthand + * _.findLastIndex(characters, { 'age': 36 }); + * // => 0 + * + * // using "_.pluck" callback shorthand + * _.findLastIndex(characters, 'blocked'); + * // => 2 + */ + function findLastIndex(array, callback, thisArg) { + var length = array ? array.length : 0; + callback = lodash.createCallback(callback, thisArg, 3); + while (length--) { + if (callback(array[length], length, array)) { + return length; + } + } + return -1; + } + + /** + * Gets the first element or first `n` elements of an array. If a callback + * is provided elements at the beginning of the array are returned as long + * as the callback returns truey. The callback is bound to `thisArg` and + * invoked with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias head, take + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback] The function called + * per element or the number of elements to return. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the first element(s) of `array`. + * @example + * + * _.first([1, 2, 3]); + * // => 1 + * + * _.first([1, 2, 3], 2); + * // => [1, 2] + * + * _.first([1, 2, 3], function(num) { + * return num < 3; + * }); + * // => [1, 2] + * + * var characters = [ + * { 'name': 'barney', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.first(characters, 'blocked'); + * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }] + * + * // using "_.where" callback shorthand + * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name'); + * // => ['barney', 'fred'] + */ + function first(array, callback, thisArg) { + var n = 0, + length = array ? array.length : 0; + + if (typeof callback != 'number' && callback != null) { + var index = -1; + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length && callback(array[index], index, array)) { + n++; + } + } else { + n = callback; + if (n == null || thisArg) { + return array ? array[0] : undefined; + } + } + return slice(array, 0, nativeMin(nativeMax(0, n), length)); + } + + /** + * Flattens a nested array (the nesting can be to any depth). If `isShallow` + * is truey, the array will only be flattened a single level. If a callback + * is provided each element of the array is passed through the callback before + * flattening. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to flatten. + * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new flattened array. + * @example + * + * _.flatten([1, [2], [3, [[4]]]]); + * // => [1, 2, 3, 4]; + * + * _.flatten([1, [2], [3, [[4]]]], true); + * // => [1, 2, 3, [[4]]]; + * + * var characters = [ + * { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] }, + * { 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] } + * ]; + * + * // using "_.pluck" callback shorthand + * _.flatten(characters, 'pets'); + * // => ['hoppy', 'baby puss', 'dino'] + */ + function flatten(array, isShallow, callback, thisArg) { + // juggle arguments + if (typeof isShallow != 'boolean' && isShallow != null) { + thisArg = callback; + callback = (typeof isShallow != 'function' && thisArg && thisArg[isShallow] === array) ? null : isShallow; + isShallow = false; + } + if (callback != null) { + array = map(array, callback, thisArg); + } + return baseFlatten(array, isShallow); + } + + /** + * Gets the index at which the first occurrence of `value` is found using + * strict equality for comparisons, i.e. `===`. If the array is already sorted + * providing `true` for `fromIndex` will run a faster binary search. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {*} value The value to search for. + * @param {boolean|number} [fromIndex=0] The index to search from or `true` + * to perform a binary search on a sorted array. + * @returns {number} Returns the index of the matched value or `-1`. + * @example + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2); + * // => 1 + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 4 + * + * _.indexOf([1, 1, 2, 2, 3, 3], 2, true); + * // => 2 + */ + function indexOf(array, value, fromIndex) { + if (typeof fromIndex == 'number') { + var length = array ? array.length : 0; + fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0); + } else if (fromIndex) { + var index = sortedIndex(array, value); + return array[index] === value ? index : -1; + } + return baseIndexOf(array, value, fromIndex); + } + + /** + * Gets all but the last element or last `n` elements of an array. If a + * callback is provided elements at the end of the array are excluded from + * the result as long as the callback returns truey. The callback is bound + * to `thisArg` and invoked with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback=1] The function called + * per element or the number of elements to exclude. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + * + * _.initial([1, 2, 3], 2); + * // => [1] + * + * _.initial([1, 2, 3], function(num) { + * return num > 1; + * }); + * // => [1] + * + * var characters = [ + * { 'name': 'barney', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.initial(characters, 'blocked'); + * // => [{ 'name': 'barney', 'blocked': false, 'employer': 'slate' }] + * + * // using "_.where" callback shorthand + * _.pluck(_.initial(characters, { 'employer': 'na' }), 'name'); + * // => ['barney', 'fred'] + */ + function initial(array, callback, thisArg) { + var n = 0, + length = array ? array.length : 0; + + if (typeof callback != 'number' && callback != null) { + var index = length; + callback = lodash.createCallback(callback, thisArg, 3); + while (index-- && callback(array[index], index, array)) { + n++; + } + } else { + n = (callback == null || thisArg) ? 1 : callback || n; + } + return slice(array, 0, nativeMin(nativeMax(0, length - n), length)); + } + + /** + * Creates an array of unique values present in all provided arrays using + * strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {...Array} [array] The arrays to inspect. + * @returns {Array} Returns an array of shared values. + * @example + * + * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]); + * // => [1, 2] + */ + function intersection() { + var args = [], + argsIndex = -1, + argsLength = arguments.length, + caches = getArray(), + indexOf = getIndexOf(), + trustIndexOf = indexOf === baseIndexOf, + seen = getArray(); + + while (++argsIndex < argsLength) { + var value = arguments[argsIndex]; + if (isArray(value) || isArguments(value)) { + args.push(value); + caches.push(trustIndexOf && value.length >= largeArraySize && + createCache(argsIndex ? args[argsIndex] : seen)); + } + } + var array = args[0], + index = -1, + length = array ? array.length : 0, + result = []; + + outer: + while (++index < length) { + var cache = caches[0]; + value = array[index]; + + if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) { + argsIndex = argsLength; + (cache || seen).push(value); + while (--argsIndex) { + cache = caches[argsIndex]; + if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) { + continue outer; + } + } + result.push(value); + } + } + while (argsLength--) { + cache = caches[argsLength]; + if (cache) { + releaseObject(cache); + } + } + releaseArray(caches); + releaseArray(seen); + return result; + } + + /** + * Gets the last element or last `n` elements of an array. If a callback is + * provided elements at the end of the array are returned as long as the + * callback returns truey. The callback is bound to `thisArg` and invoked + * with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback] The function called + * per element or the number of elements to return. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the last element(s) of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + * + * _.last([1, 2, 3], 2); + * // => [2, 3] + * + * _.last([1, 2, 3], function(num) { + * return num > 1; + * }); + * // => [2, 3] + * + * var characters = [ + * { 'name': 'barney', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.pluck(_.last(characters, 'blocked'), 'name'); + * // => ['fred', 'pebbles'] + * + * // using "_.where" callback shorthand + * _.last(characters, { 'employer': 'na' }); + * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }] + */ + function last(array, callback, thisArg) { + var n = 0, + length = array ? array.length : 0; + + if (typeof callback != 'number' && callback != null) { + var index = length; + callback = lodash.createCallback(callback, thisArg, 3); + while (index-- && callback(array[index], index, array)) { + n++; + } + } else { + n = callback; + if (n == null || thisArg) { + return array ? array[length - 1] : undefined; + } + } + return slice(array, nativeMax(0, length - n)); + } + + /** + * Gets the index at which the last occurrence of `value` is found using strict + * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used + * as the offset from the end of the collection. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value or `-1`. + * @example + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); + * // => 4 + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var index = array ? array.length : 0; + if (typeof fromIndex == 'number') { + index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1; + } + while (index--) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * Removes all provided values from the given array using strict equality for + * comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to modify. + * @param {...*} [value] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3, 1, 2, 3]; + * _.pull(array, 2, 3); + * console.log(array); + * // => [1, 1] + */ + function pull(array) { + var args = arguments, + argsIndex = 0, + argsLength = args.length, + length = array ? array.length : 0; + + while (++argsIndex < argsLength) { + var index = -1, + value = args[argsIndex]; + while (++index < length) { + if (array[index] === value) { + splice.call(array, index--, 1); + length--; + } + } + } + return array; + } + + /** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to but not including `end`. If `start` is less than `stop` a + * zero-length range is created unless a negative `step` is specified. + * + * @static + * @memberOf _ + * @category Arrays + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns a new range array. + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ + function range(start, end, step) { + start = +start || 0; + step = typeof step == 'number' ? step : (+step || 1); + + if (end == null) { + end = start; + start = 0; + } + // use `Array(length)` so engines like Chakra and V8 avoid slower modes + // http://youtu.be/XAqIpGU8ZZk#t=17m25s + var index = -1, + length = nativeMax(0, ceil((end - start) / (step || 1))), + result = Array(length); + + while (++index < length) { + result[index] = start; + start += step; + } + return result; + } + + /** + * Removes all elements from an array that the callback returns truey for + * and returns an array of removed elements. The callback is bound to `thisArg` + * and invoked with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to modify. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4, 5, 6]; + * var evens = _.remove(array, function(num) { return num % 2 == 0; }); + * + * console.log(array); + * // => [1, 3, 5] + * + * console.log(evens); + * // => [2, 4, 6] + */ + function remove(array, callback, thisArg) { + var index = -1, + length = array ? array.length : 0, + result = []; + + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length) { + var value = array[index]; + if (callback(value, index, array)) { + result.push(value); + splice.call(array, index--, 1); + length--; + } + } + return result; + } + + /** + * The opposite of `_.initial` this method gets all but the first element or + * first `n` elements of an array. If a callback function is provided elements + * at the beginning of the array are excluded from the result as long as the + * callback returns truey. The callback is bound to `thisArg` and invoked + * with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias drop, tail + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback=1] The function called + * per element or the number of elements to exclude. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a slice of `array`. + * @example + * + * _.rest([1, 2, 3]); + * // => [2, 3] + * + * _.rest([1, 2, 3], 2); + * // => [3] + * + * _.rest([1, 2, 3], function(num) { + * return num < 3; + * }); + * // => [3] + * + * var characters = [ + * { 'name': 'barney', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.pluck(_.rest(characters, 'blocked'), 'name'); + * // => ['fred', 'pebbles'] + * + * // using "_.where" callback shorthand + * _.rest(characters, { 'employer': 'slate' }); + * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }] + */ + function rest(array, callback, thisArg) { + if (typeof callback != 'number' && callback != null) { + var n = 0, + index = -1, + length = array ? array.length : 0; + + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length && callback(array[index], index, array)) { + n++; + } + } else { + n = (callback == null || thisArg) ? 1 : nativeMax(0, callback); + } + return slice(array, n); + } + + /** + * Uses a binary search to determine the smallest index at which a value + * should be inserted into a given sorted array in order to maintain the sort + * order of the array. If a callback is provided it will be executed for + * `value` and each element of `array` to compute their sort ranking. The + * callback is bound to `thisArg` and invoked with one argument; (value). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to inspect. + * @param {*} value The value to evaluate. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([20, 30, 50], 40); + * // => 2 + * + * // using "_.pluck" callback shorthand + * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); + * // => 2 + * + * var dict = { + * 'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 } + * }; + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return dict.wordToNumber[word]; + * }); + * // => 2 + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return this.wordToNumber[word]; + * }, dict); + * // => 2 + */ + function sortedIndex(array, value, callback, thisArg) { + var low = 0, + high = array ? array.length : low; + + // explicitly reference `identity` for better inlining in Firefox + callback = callback ? lodash.createCallback(callback, thisArg, 1) : identity; + value = callback(value); + + while (low < high) { + var mid = (low + high) >>> 1; + (callback(array[mid]) < value) + ? low = mid + 1 + : high = mid; + } + return low; + } + + /** + * Creates an array of unique values, in order, of the provided arrays using + * strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {...Array} [array] The arrays to inspect. + * @returns {Array} Returns an array of combined values. + * @example + * + * _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]); + * // => [1, 2, 3, 5, 4] + */ + function union() { + return baseUniq(baseFlatten(arguments, true, true)); + } + + /** + * Creates a duplicate-value-free version of an array using strict equality + * for comparisons, i.e. `===`. If the array is sorted, providing + * `true` for `isSorted` will use a faster algorithm. If a callback is provided + * each element of `array` is passed through the callback before uniqueness + * is computed. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias unique + * @category Arrays + * @param {Array} array The array to process. + * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a duplicate-value-free array. + * @example + * + * _.uniq([1, 2, 1, 3, 1]); + * // => [1, 2, 3] + * + * _.uniq([1, 1, 2, 2, 3], true); + * // => [1, 2, 3] + * + * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); }); + * // => ['A', 'b', 'C'] + * + * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math); + * // => [1, 2.5, 3] + * + * // using "_.pluck" callback shorthand + * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniq(array, isSorted, callback, thisArg) { + // juggle arguments + if (typeof isSorted != 'boolean' && isSorted != null) { + thisArg = callback; + callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted; + isSorted = false; + } + if (callback != null) { + callback = lodash.createCallback(callback, thisArg, 3); + } + return baseUniq(array, isSorted, callback); + } + + /** + * Creates an array excluding all provided values using strict equality for + * comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to filter. + * @param {...*} [value] The values to exclude. + * @returns {Array} Returns a new array of filtered values. + * @example + * + * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); + * // => [2, 3, 4] + */ + function without(array) { + return baseDifference(array, slice(arguments, 1)); + } + + /** + * Creates an array that is the symmetric difference of the provided arrays. + * See http://en.wikipedia.org/wiki/Symmetric_difference. + * + * @static + * @memberOf _ + * @category Arrays + * @param {...Array} [array] The arrays to inspect. + * @returns {Array} Returns an array of values. + * @example + * + * _.xor([1, 2, 3], [5, 2, 1, 4]); + * // => [3, 5, 4] + * + * _.xor([1, 2, 5], [2, 3, 5], [3, 4, 5]); + * // => [1, 4, 5] + */ + function xor() { + var index = -1, + length = arguments.length; + + while (++index < length) { + var array = arguments[index]; + if (isArray(array) || isArguments(array)) { + var result = result + ? baseUniq(baseDifference(result, array).concat(baseDifference(array, result))) + : array; + } + } + return result || []; + } + + /** + * Creates an array of grouped elements, the first of which contains the first + * elements of the given arrays, the second of which contains the second + * elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @alias unzip + * @category Arrays + * @param {...Array} [array] Arrays to process. + * @returns {Array} Returns a new array of grouped elements. + * @example + * + * _.zip(['fred', 'barney'], [30, 40], [true, false]); + * // => [['fred', 30, true], ['barney', 40, false]] + */ + function zip() { + var array = arguments.length > 1 ? arguments : arguments[0], + index = -1, + length = array ? max(pluck(array, 'length')) : 0, + result = Array(length < 0 ? 0 : length); + + while (++index < length) { + result[index] = pluck(array, index); + } + return result; + } + + /** + * Creates an object composed from arrays of `keys` and `values`. Provide + * either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]` + * or two arrays, one of `keys` and one of corresponding `values`. + * + * @static + * @memberOf _ + * @alias object + * @category Arrays + * @param {Array} keys The array of keys. + * @param {Array} [values=[]] The array of values. + * @returns {Object} Returns an object composed of the given keys and + * corresponding values. + * @example + * + * _.zipObject(['fred', 'barney'], [30, 40]); + * // => { 'fred': 30, 'barney': 40 } + */ + function zipObject(keys, values) { + var index = -1, + length = keys ? keys.length : 0, + result = {}; + + if (!values && length && !isArray(keys[0])) { + values = []; + } + while (++index < length) { + var key = keys[index]; + if (values) { + result[key] = values[index]; + } else if (key) { + result[key[0]] = key[1]; + } + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function that executes `func`, with the `this` binding and + * arguments of the created function, only after being called `n` times. + * + * @static + * @memberOf _ + * @category Functions + * @param {number} n The number of times the function must be called before + * `func` is executed. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('Done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => logs 'Done saving!', after all saves have completed + */ + function after(n, func) { + if (!isFunction(func)) { + throw new TypeError; + } + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that, when called, invokes `func` with the `this` + * binding of `thisArg` and prepends any additional `bind` arguments to those + * provided to the bound function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to bind. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var func = function(greeting) { + * return greeting + ' ' + this.name; + * }; + * + * func = _.bind(func, { 'name': 'fred' }, 'hi'); + * func(); + * // => 'hi fred' + */ + function bind(func, thisArg) { + return arguments.length > 2 + ? createWrapper(func, 17, slice(arguments, 2), null, thisArg) + : createWrapper(func, 1, null, null, thisArg); + } + + /** + * Binds methods of an object to the object itself, overwriting the existing + * method. Method names may be specified as individual arguments or as arrays + * of method names. If no method names are provided all the function properties + * of `object` will be bound. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...string} [methodName] The object method names to + * bind, specified as individual method names or arrays of method names. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'onClick': function() { console.log('clicked ' + this.label); } + * }; + * + * _.bindAll(view); + * jQuery('#docs').on('click', view.onClick); + * // => logs 'clicked docs', when the button is clicked + */ + function bindAll(object) { + var funcs = arguments.length > 1 ? baseFlatten(arguments, true, false, 1) : functions(object), + index = -1, + length = funcs.length; + + while (++index < length) { + var key = funcs[index]; + object[key] = createWrapper(object[key], 1, null, null, object); + } + return object; + } + + /** + * Creates a function that, when called, invokes the method at `object[key]` + * and prepends any additional `bindKey` arguments to those provided to the bound + * function. This method differs from `_.bind` by allowing bound functions to + * reference methods that will be redefined or don't yet exist. + * See http://michaux.ca/articles/lazy-function-definition-pattern. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object the method belongs to. + * @param {string} key The key of the method. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'name': 'fred', + * 'greet': function(greeting) { + * return greeting + ' ' + this.name; + * } + * }; + * + * var func = _.bindKey(object, 'greet', 'hi'); + * func(); + * // => 'hi fred' + * + * object.greet = function(greeting) { + * return greeting + 'ya ' + this.name + '!'; + * }; + * + * func(); + * // => 'hiya fred!' + */ + function bindKey(object, key) { + return arguments.length > 2 + ? createWrapper(key, 19, slice(arguments, 2), null, object) + : createWrapper(key, 3, null, null, object); + } + + /** + * Creates a function that is the composition of the provided functions, + * where each function consumes the return value of the function that follows. + * For example, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`. + * Each function is executed with the `this` binding of the composed function. + * + * @static + * @memberOf _ + * @category Functions + * @param {...Function} [func] Functions to compose. + * @returns {Function} Returns the new composed function. + * @example + * + * var realNameMap = { + * 'pebbles': 'penelope' + * }; + * + * var format = function(name) { + * name = realNameMap[name.toLowerCase()] || name; + * return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase(); + * }; + * + * var greet = function(formatted) { + * return 'Hiya ' + formatted + '!'; + * }; + * + * var welcome = _.compose(greet, format); + * welcome('pebbles'); + * // => 'Hiya Penelope!' + */ + function compose() { + var funcs = arguments, + length = funcs.length; + + while (length--) { + if (!isFunction(funcs[length])) { + throw new TypeError; + } + } + return function() { + var args = arguments, + length = funcs.length; + + while (length--) { + args = [funcs[length].apply(this, args)]; + } + return args[0]; + }; + } + + /** + * Creates a function which accepts one or more arguments of `func` that when + * invoked either executes `func` returning its result, if all `func` arguments + * have been provided, or returns a function that accepts one or more of the + * remaining `func` arguments, and so on. The arity of `func` can be specified + * if `func.length` is not sufficient. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @returns {Function} Returns the new curried function. + * @example + * + * var curried = _.curry(function(a, b, c) { + * console.log(a + b + c); + * }); + * + * curried(1)(2)(3); + * // => 6 + * + * curried(1, 2)(3); + * // => 6 + * + * curried(1, 2, 3); + * // => 6 + */ + function curry(func, arity) { + arity = typeof arity == 'number' ? arity : (+arity || func.length); + return createWrapper(func, 4, null, null, null, arity); + } + + /** + * Creates a function that will delay the execution of `func` until after + * `wait` milliseconds have elapsed since the last time it was invoked. + * Provide an options object to indicate that `func` should be invoked on + * the leading and/or trailing edge of the `wait` timeout. Subsequent calls + * to the debounced function will return the result of the last `func` call. + * + * Note: If `leading` and `trailing` options are `true` `func` will be called + * on the trailing edge of the timeout only if the the debounced function is + * invoked more than once during the `wait` timeout. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to debounce. + * @param {number} wait The number of milliseconds to delay. + * @param {Object} [options] The options object. + * @param {boolean} [options.leading=false] Specify execution on the leading edge of the timeout. + * @param {number} [options.maxWait] The maximum time `func` is allowed to be delayed before it's called. + * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // avoid costly calculations while the window size is in flux + * var lazyLayout = _.debounce(calculateLayout, 150); + * jQuery(window).on('resize', lazyLayout); + * + * // execute `sendMail` when the click event is fired, debouncing subsequent calls + * jQuery('#postbox').on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * }); + * + * // ensure `batchLog` is executed once after 1 second of debounced calls + * var source = new EventSource('/stream'); + * source.addEventListener('message', _.debounce(batchLog, 250, { + * 'maxWait': 1000 + * }, false); + */ + function debounce(func, wait, options) { + var args, + maxTimeoutId, + result, + stamp, + thisArg, + timeoutId, + trailingCall, + lastCalled = 0, + maxWait = false, + trailing = true; + + if (!isFunction(func)) { + throw new TypeError; + } + wait = nativeMax(0, wait) || 0; + if (options === true) { + var leading = true; + trailing = false; + } else if (isObject(options)) { + leading = options.leading; + maxWait = 'maxWait' in options && (nativeMax(wait, options.maxWait) || 0); + trailing = 'trailing' in options ? options.trailing : trailing; + } + var delayed = function() { + var remaining = wait - (now() - stamp); + if (remaining <= 0) { + if (maxTimeoutId) { + clearTimeout(maxTimeoutId); + } + var isCalled = trailingCall; + maxTimeoutId = timeoutId = trailingCall = undefined; + if (isCalled) { + lastCalled = now(); + result = func.apply(thisArg, args); + if (!timeoutId && !maxTimeoutId) { + args = thisArg = null; + } + } + } else { + timeoutId = setTimeout(delayed, remaining); + } + }; + + var maxDelayed = function() { + if (timeoutId) { + clearTimeout(timeoutId); + } + maxTimeoutId = timeoutId = trailingCall = undefined; + if (trailing || (maxWait !== wait)) { + lastCalled = now(); + result = func.apply(thisArg, args); + if (!timeoutId && !maxTimeoutId) { + args = thisArg = null; + } + } + }; + + return function() { + args = arguments; + stamp = now(); + thisArg = this; + trailingCall = trailing && (timeoutId || !leading); + + if (maxWait === false) { + var leadingCall = leading && !timeoutId; + } else { + if (!maxTimeoutId && !leading) { + lastCalled = stamp; + } + var remaining = maxWait - (stamp - lastCalled), + isCalled = remaining <= 0; + + if (isCalled) { + if (maxTimeoutId) { + maxTimeoutId = clearTimeout(maxTimeoutId); + } + lastCalled = stamp; + result = func.apply(thisArg, args); + } + else if (!maxTimeoutId) { + maxTimeoutId = setTimeout(maxDelayed, remaining); + } + } + if (isCalled && timeoutId) { + timeoutId = clearTimeout(timeoutId); + } + else if (!timeoutId && wait !== maxWait) { + timeoutId = setTimeout(delayed, wait); + } + if (leadingCall) { + isCalled = true; + result = func.apply(thisArg, args); + } + if (isCalled && !timeoutId && !maxTimeoutId) { + args = thisArg = null; + } + return result; + }; + } + + /** + * Defers executing the `func` function until the current call stack has cleared. + * Additional arguments will be provided to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to defer. + * @param {...*} [arg] Arguments to invoke the function with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { console.log(text); }, 'deferred'); + * // logs 'deferred' after one or more milliseconds + */ + function defer(func) { + if (!isFunction(func)) { + throw new TypeError; + } + var args = slice(arguments, 1); + return setTimeout(function() { func.apply(undefined, args); }, 1); + } + + /** + * Executes the `func` function after `wait` milliseconds. Additional arguments + * will be provided to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay execution. + * @param {...*} [arg] Arguments to invoke the function with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { console.log(text); }, 1000, 'later'); + * // => logs 'later' after one second + */ + function delay(func, wait) { + if (!isFunction(func)) { + throw new TypeError; + } + var args = slice(arguments, 2); + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided it will be used to determine the cache key for storing the result + * based on the arguments provided to the memoized function. By default, the + * first argument provided to the memoized function is used as the cache key. + * The `func` is executed with the `this` binding of the memoized function. + * The result cache is exposed as the `cache` property on the memoized function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] A function used to resolve the cache key. + * @returns {Function} Returns the new memoizing function. + * @example + * + * var fibonacci = _.memoize(function(n) { + * return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); + * }); + * + * fibonacci(9) + * // => 34 + * + * var data = { + * 'fred': { 'name': 'fred', 'age': 40 }, + * 'pebbles': { 'name': 'pebbles', 'age': 1 } + * }; + * + * // modifying the result cache + * var get = _.memoize(function(name) { return data[name]; }, _.identity); + * get('pebbles'); + * // => { 'name': 'pebbles', 'age': 1 } + * + * get.cache.pebbles.name = 'penelope'; + * get('pebbles'); + * // => { 'name': 'penelope', 'age': 1 } + */ + function memoize(func, resolver) { + if (!isFunction(func)) { + throw new TypeError; + } + var memoized = function() { + var cache = memoized.cache, + key = resolver ? resolver.apply(this, arguments) : keyPrefix + arguments[0]; + + return hasOwnProperty.call(cache, key) + ? cache[key] + : (cache[key] = func.apply(this, arguments)); + } + memoized.cache = {}; + return memoized; + } + + /** + * Creates a function that is restricted to execute `func` once. Repeat calls to + * the function will return the value of the first call. The `func` is executed + * with the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // `initialize` executes `createApplication` once + */ + function once(func) { + var ran, + result; + + if (!isFunction(func)) { + throw new TypeError; + } + return function() { + if (ran) { + return result; + } + ran = true; + result = func.apply(this, arguments); + + // clear the `func` variable so the function may be garbage collected + func = null; + return result; + }; + } + + /** + * Creates a function that, when called, invokes `func` with any additional + * `partial` arguments prepended to those provided to the new function. This + * method is similar to `_.bind` except it does **not** alter the `this` binding. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * var greet = function(greeting, name) { return greeting + ' ' + name; }; + * var hi = _.partial(greet, 'hi'); + * hi('fred'); + * // => 'hi fred' + */ + function partial(func) { + return createWrapper(func, 16, slice(arguments, 1)); + } + + /** + * This method is like `_.partial` except that `partial` arguments are + * appended to those provided to the new function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * var defaultsDeep = _.partialRight(_.merge, _.defaults); + * + * var options = { + * 'variable': 'data', + * 'imports': { 'jq': $ } + * }; + * + * defaultsDeep(options, _.templateSettings); + * + * options.variable + * // => 'data' + * + * options.imports + * // => { '_': _, 'jq': $ } + */ + function partialRight(func) { + return createWrapper(func, 32, null, slice(arguments, 1)); + } + + /** + * Creates a function that, when executed, will only call the `func` function + * at most once per every `wait` milliseconds. Provide an options object to + * indicate that `func` should be invoked on the leading and/or trailing edge + * of the `wait` timeout. Subsequent calls to the throttled function will + * return the result of the last `func` call. + * + * Note: If `leading` and `trailing` options are `true` `func` will be called + * on the trailing edge of the timeout only if the the throttled function is + * invoked more than once during the `wait` timeout. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to throttle. + * @param {number} wait The number of milliseconds to throttle executions to. + * @param {Object} [options] The options object. + * @param {boolean} [options.leading=true] Specify execution on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // avoid excessively updating the position while scrolling + * var throttled = _.throttle(updatePosition, 100); + * jQuery(window).on('scroll', throttled); + * + * // execute `renewToken` when the click event is fired, but not more than once every 5 minutes + * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, { + * 'trailing': false + * })); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (!isFunction(func)) { + throw new TypeError; + } + if (options === false) { + leading = false; + } else if (isObject(options)) { + leading = 'leading' in options ? options.leading : leading; + trailing = 'trailing' in options ? options.trailing : trailing; + } + debounceOptions.leading = leading; + debounceOptions.maxWait = wait; + debounceOptions.trailing = trailing; + + return debounce(func, wait, debounceOptions); + } + + /** + * Creates a function that provides `value` to the wrapper function as its + * first argument. Additional arguments provided to the function are appended + * to those provided to the wrapper function. The wrapper is executed with + * the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {*} value The value to wrap. + * @param {Function} wrapper The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '

    ^9tT&kWiIF7SJnn4*<~)Pb*LwG5$SuDe6~H~ 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 literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Plus_Habit.ogg b/public/audio/wattsTheme/Plus_Habit.ogg new file mode 100755 index 0000000000000000000000000000000000000000..3436395de822016579ba1ac4c618365c90aac971 GIT binary patch literal 16404 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 literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Reward.ogg b/public/audio/wattsTheme/Reward.ogg new file mode 100755 index 0000000000000000000000000000000000000000..1fce2f529ca9f7594f72c5cfd5c149e01583300f GIT binary patch literal 31455 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 K4+s7~wf_(1IPE9^ literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/ToDo.mp3 b/public/audio/wattsTheme/ToDo.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..9c85f09e2654c9888ab4d14ea4da05ef10ab3627 GIT binary patch literal 58584 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 X)IWxRSGwe%bddg^4mb$;=k0$1L1;m$ literal 0 HcmV?d00001 diff --git a/src/models/user.js b/src/models/user.js index 6d6e77aa09..f33984417e 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -281,7 +281,7 @@ var UserSchema = new Schema({ skin: {type:String, 'default':'915533'}, shirt: {type: String, 'default': 'blue'}, timezoneOffset: Number, - sound: {type:String, 'default':'off', enum: ['off','danielTheBard']}, + sound: {type:String, 'default':'off', enum: ['off','danielTheBard', 'wattsTheme']}, language: String, automaticAllocation: Boolean, allocationMode: {type:String, enum: ['flat','classbased','taskbased'], 'default': 'flat'}, diff --git a/views/shared/header/menu.jade b/views/shared/header/menu.jade index 467fbeeab7..549af9c4e5 100644 --- a/views/shared/header/menu.jade +++ b/views/shared/header/menu.jade @@ -215,7 +215,7 @@ nav.toolbar(ng-controller='AuthCtrl', ng-class='{active: isToolbarHidden}') div ul.toolbar-submenu(ng-click='expandMenu(null)') // Using [{k,v}] instead of {k:v,k:v} to maintain order ('off' at top) - for theme in ['off','danielTheBard'] + for theme in ['off','danielTheBard', 'wattsTheme'] li a(ng-class="{'bg-primary':user.preferences.sound=='#{theme}'}", ng-click="set({'preferences.sound':'#{theme}'})")=env.t('audioTheme_'+theme) From 93c39e81bddc144edf02ddb8bb55e4ec13f4ed9f Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Fri, 23 Jan 2015 14:59:18 -0600 Subject: [PATCH 03/62] Added death sound. Put blank versions in daniel theme --- public/audio/danielTheBard/Death.mp3 | 0 public/audio/danielTheBard/Death.ogg | 0 public/js/controllers/notificationCtrl.js | 1 + 3 files changed, 1 insertion(+) create mode 100644 public/audio/danielTheBard/Death.mp3 create mode 100644 public/audio/danielTheBard/Death.ogg diff --git a/public/audio/danielTheBard/Death.mp3 b/public/audio/danielTheBard/Death.mp3 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/public/audio/danielTheBard/Death.ogg b/public/audio/danielTheBard/Death.ogg new file mode 100644 index 0000000000..e69de29bb2 diff --git a/public/js/controllers/notificationCtrl.js b/public/js/controllers/notificationCtrl.js index dae22b9d0f..6c30b511c2 100644 --- a/public/js/controllers/notificationCtrl.js +++ b/public/js/controllers/notificationCtrl.js @@ -6,6 +6,7 @@ habitrpg.controller('NotificationCtrl', $rootScope.$watch('user.stats.hp', function (after, before) { if (after <= 0){ + $rootScope.playSound('Death'); $rootScope.openModal('death', {keyboard:false, backdrop:'static'}); } if (after == before) return; From 9f38ac86f7c0ca40c3104d5c3cf010a2d374a9f7 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Fri, 23 Jan 2015 15:27:57 -0600 Subject: [PATCH 04/62] Replaced blank death sound with actual sound files instead of blank files --- public/audio/danielTheBard/Death.mp3 | Bin 0 -> 2744 bytes public/audio/danielTheBard/Death.ogg | Bin 0 -> 4596 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/audio/danielTheBard/Death.mp3 b/public/audio/danielTheBard/Death.mp3 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..cda07e9076d986ff3cfc026985c0a83c89b78b06 100644 GIT binary patch literal 2744 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 KDzK Date: Mon, 26 Jan 2015 11:00:02 -0600 Subject: [PATCH 05/62] feat(mystery): January subscriber set --- migrations/mysteryitems.js | 2 +- views/shared/new-stuff.jade | 35 ++++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/migrations/mysteryitems.js b/migrations/mysteryitems.js index 47437570ef..392fb05262 100644 --- a/migrations/mysteryitems.js +++ b/migrations/mysteryitems.js @@ -2,7 +2,7 @@ var _id = ''; var update = { $push: { 'purchased.plan.mysteryItems':{ - $each:['head_mystery_201412','armor_mystery_201412'] + $each:['head_mystery_201501','armor_mystery_201501'] } } }; diff --git a/views/shared/new-stuff.jade b/views/shared/new-stuff.jade index d08ef4d245..757c5a669d 100644 --- a/views/shared/new-stuff.jade +++ b/views/shared/new-stuff.jade @@ -1,18 +1,39 @@ -h5 +h5 1/26/2015 - SUBSCRIBER OUTFIT REVEALED, NEW AUDIO THEME, QUEST SCROLL REDESIGN, AND SPREAD THE WORD CHALLENGE REMINDER hr tr td - h5 1/21/2015 - THIRD STRESS STRIKE! - .npc_justin_broken.pull-right - p The World Boss in the Tavern has used a third Stress Strike! - p Justin the Guide is trying to distract the Stressbeast by running around its ankles, yelling productivity tips! The Abominable Stressbeast is stomping madly, but it seems like we're really wearing this beast down. I doubt it has enough energy for another strike. Don't give up... we're so close to finishing it off! - p Complete Dailies and To-Dos to damage the World Boss! A World Boss will never damage individual players or accounts in any way. Only active accounts who are not resting in the inn will have their incomplete Dailies tallied. - p.small.muted by Lemoness, Kiwibot, and SabreCat + h5 Subscriber Outfit Revealed + .promo_mystery_201501.pull-right + p The January Subscriber Item has been revealed: the Starry Knight Item Set! All January subscribers will receive the Starry Helm and the Starry Armor. You still have five days to subscribe and receive the item set! Thank you so much for your support - we really do rely on you to keep HabitRPG free to use and running smoothly. + p.small.muted by Lemoness + tr + td + h5 New Audio Theme + p A new audio theme is available: Watts' Theme! You can toggle between Watts' Theme and Daniel the Bard's Theme by selecting the megaphone in the upper right-hand corner. Watts' Theme was created by Harry Pepe. You can visit his LinkedIn page here. + p.small.muted by Hpepe4 and Blade + tr + td + h5 Quest Scroll Redesign + p We've redesigned the quest scrolls so that they are visually unique! Quest type and difficulty is determined by the scroll lining (Easy Boss = Green, Medium Boss = Yellow, Hard Boss = Red, Collection Quest = Blue, Rage Bar Boss = Purple speckles), and an icon symbolizing the quest is located in the lower left. + p.small.muted by UncommonCriminal and Rattify + tr + td + h5 Spread the Word Challenge Ending Soon + p Reminder: January 31st is the last day to enter the Spread the Word Challenge) for your chance at winning 100 gems! We will stop accepting new applications on February 1st, but it will be some time before the winners are announced because we have to go over all the entries ourselves. Good luck! hr a(href='/static/old-news', target='_blank') Read older news mixin oldNews + h5 1/21/2015 + tr + td + h5 THIRD STRESS STRIKE! + .npc_justin_broken.pull-right + p The World Boss in the Tavern has used a third Stress Strike! + p Justin the Guide is trying to distract the Stressbeast by running around its ankles, yelling productivity tips! The Abominable Stressbeast is stomping madly, but it seems like we're really wearing this beast down. I doubt it has enough energy for another strike. Don't give up... we're so close to finishing it off! + p Complete Dailies and To-Dos to damage the World Boss! A World Boss will never damage individual players or accounts in any way. Only active accounts who are not resting in the inn will have their incomplete Dailies tallied. + p.small.muted by Lemoness, Kiwibot, and SabreCat h5 1/20/2015 tr td From ad08f1be9a95743bddbb0429192b2fdabcd2fea3 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Mon, 26 Jan 2015 11:11:04 -0600 Subject: [PATCH 06/62] fix(news): Errant parenthesis --- views/shared/new-stuff.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/shared/new-stuff.jade b/views/shared/new-stuff.jade index 757c5a669d..5f6b6b0395 100644 --- a/views/shared/new-stuff.jade +++ b/views/shared/new-stuff.jade @@ -19,7 +19,7 @@ h5 1/26/2015 - SUBSCRIBER OUTFIT REVEALED, NEW AUDIO THEME, QUEST SCROLL REDESIG tr td h5 Spread the Word Challenge Ending Soon - p Reminder: January 31st is the last day to enter the Spread the Word Challenge) for your chance at winning 100 gems! We will stop accepting new applications on February 1st, but it will be some time before the winners are announced because we have to go over all the entries ourselves. Good luck! + p Reminder: January 31st is the last day to enter the Spread the Word Challenge for your chance at winning 100 gems! We will stop accepting new applications on February 1st, but it will be some time before the winners are announced because we have to go over all the entries ourselves. Good luck! hr a(href='/static/old-news', target='_blank') Read older news From 3b1743dee86d9b81a3d6fa5fefd263bee91dd013 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Mon, 26 Jan 2015 18:55:10 -0600 Subject: [PATCH 07/62] Corrected ng-class condition to show transparent class on seasonal shop items after rebirth --- views/options/inventory/inventory.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index cd20135ae0..ef5114fdaf 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -32,7 +32,7 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html p!=env.t('seasonalShopText') li.customize-menu.inventory-gear menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{candycane:env.t("candycaneSet"), ski:env.t("skiSet"), snowflake:env.t("snowflakeSet"), yeti:env.t("yetiSet")}') - div(ng-repeat='item in ::getSeasonalShopArray(set)' ng-class="{transparent: user.items.gear.owned[item.key]}") + div(ng-repeat='item in ::getSeasonalShopArray(set)' ng-class="{transparent: user.items.gear.owned[item.key] === true ||user.items.gear.owned[item.key] === false}") button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}') .text-center | {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}  From 7eae5db25607da067536a881fcc0bc59f52d48cd Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Mon, 26 Jan 2015 19:25:53 -0600 Subject: [PATCH 08/62] Added comment describing the silly conditional for transparency in the seasonal shop --- views/options/inventory/inventory.jade | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index ef5114fdaf..39bed5cc49 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -32,6 +32,10 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html p!=env.t('seasonalShopText') li.customize-menu.inventory-gear menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{candycane:env.t("candycaneSet"), ski:env.t("skiSet"), snowflake:env.t("snowflakeSet"), yeti:env.t("yetiSet")}') + // The `if true || false` conditional for applying the transparent class is necessary because + // when a user activates the orb of rebirth, the seasonal items are still in their inventory, but + // they have each have a value of false. The item can be purchased for gold in the rewards column, + // not the seasonal shop. This makes that more clear. div(ng-repeat='item in ::getSeasonalShopArray(set)' ng-class="{transparent: user.items.gear.owned[item.key] === true ||user.items.gear.owned[item.key] === false}") button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}') .text-center From b9784fa4aa587f5ecbef4e409e6f0496d33a74a7 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Mon, 26 Jan 2015 22:15:24 -0600 Subject: [PATCH 09/62] Added notice for rebirth in seasonal shop --- views/options/inventory/inventory.jade | 2 ++ 1 file changed, 2 insertions(+) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index 39bed5cc49..e97b240e4b 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -30,6 +30,8 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html h3.popover-title!=env.t('seasonalShopTitle', {linkStart:"", linkEnd: ""}) .popover-content p!=env.t('seasonalShopText') + br + .well(ng-if='User.user.achievements.rebirths > 0')=env.t('seasonalShopRebirth') li.customize-menu.inventory-gear menu.pets-menu(label='{{::label}}', ng-repeat='(set,label) in ::{candycane:env.t("candycaneSet"), ski:env.t("skiSet"), snowflake:env.t("snowflakeSet"), yeti:env.t("yetiSet")}') // The `if true || false` conditional for applying the transparent class is necessary because From 3a38bb849b0d788c3bb4296de2245633d6b3b947 Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Mon, 26 Jan 2015 23:08:15 -0800 Subject: [PATCH 10/62] add .border-left --- public/css/game-pane.styl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/public/css/game-pane.styl b/public/css/game-pane.styl index 8ccc3c211d..5f7216fff9 100644 --- a/public/css/game-pane.styl +++ b/public/css/game-pane.styl @@ -1,6 +1,9 @@ .border-right border-right 1px solid #ddd +.border-left + border-left 1px solid #ddd + .tab-notification color #fff background-color #51a351 From 2c40097403ad85a7e81028dd57767fe48776327a Mon Sep 17 00:00:00 2001 From: Matt T Elliott Date: Mon, 26 Jan 2015 23:14:19 -0800 Subject: [PATCH 11/62] move from left div to right --- views/options/inventory/inventory.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index cd20135ae0..38c29b3f25 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -88,7 +88,7 @@ script(type='text/ng-template', id='partials/options.inventory.timetravelers.htm script(type='text/ng-template', id='partials/options.inventory.drops.html') .container-fluid .row - .col-md-6.border-right + .col-md-6 h2=env.t('inventory') p.well=env.t('inventoryText') menu.inventory-list(type='list') @@ -150,7 +150,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') button.customize-option(popover="New Year's Card from {{User.user.items.special.nyeReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', ng-click='openModal("nye")', class='inventory_special_nye') .badge.badge-info.stack-count {{user.items.special.nyeReceived.length}} - .col-md-6 + .col-md-6.border-left h2=env.t('market') .row-fluid table.npc_alex_container From 42c0b443d7d81fab5260fed7252c5fc6f807a8a1 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Tue, 27 Jan 2015 15:48:57 +0100 Subject: [PATCH 12/62] fix(i18n): language selection working on static pages --- public/js/controllers/footerCtrl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/controllers/footerCtrl.js b/public/js/controllers/footerCtrl.js index e704785f86..d250e72b6e 100644 --- a/public/js/controllers/footerCtrl.js +++ b/public/js/controllers/footerCtrl.js @@ -4,7 +4,7 @@ angular.module('habitrpg').controller("FooterCtrl", ['$scope', '$rootScope', 'User', '$http', 'Notification', 'ApiUrl', function($scope, $rootScope, User, $http, Notification, ApiUrl) { - if(typeof habitrpg === "undefined"){ + if(env.isStaticPage){ $scope.languages = env.avalaibleLanguages; $scope.selectedLanguage = _.find(env.avalaibleLanguages, {code: env.language.code}); From b56c5af9780c5110d6d3ab58ee885852312cafca Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Tue, 27 Jan 2015 19:32:06 -0600 Subject: [PATCH 13/62] Changed popover text for quest scrolls. Closes #4575 --- public/css/inventory.styl | 7 +++++++ public/js/controllers/inventoryCtrl.js | 26 ++++++++++++++++++++++++++ views/options/inventory/inventory.jade | 12 ++++++------ 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/public/css/inventory.styl b/public/css/inventory.styl index 81602e1b9c..bf036d0b2f 100644 --- a/public/css/inventory.styl +++ b/public/css/inventory.styl @@ -123,3 +123,10 @@ menu.pets .customize-menu .sell-inventory width: 162px height: 138px + +.quest-scroll + .popover + p + text-align: left; + hr + margin: 10px 0 diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 20b1ffbe3c..411359ebc4 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -159,6 +159,32 @@ habitrpg.controller("InventoryCtrl", User.user.ops.equip({params:{type: 'mount', key: egg + '-' + potion}}); } + $scope.questPopover = function(quest) { + var text = ''; + if(quest.boss) { + text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + '\n\n'; + text += '**' + window.env.t('bossStrength') + ':** ' + quest.boss.str + '\n\n'; + } else if(quest.collect) { + var count = 0; + for (var key in quest.collect) { + text += '**' + window.env.t('collect') + ':** ' + quest.collect[key].count + ' ' + quest.collect[key].text() + '\n\n'; + } + } + text += '---\n\n'; + text += '**' + window.env.t('rewards') + ':**\n\n'; + if(quest.drop.items) { + for (var item in quest.drop.items) { + text += quest.drop.items[item].text() + '\n\n'; + } + } + if(quest.drop.exp) + text += quest.drop.exp + ' ' + window.env.t('experience') + '\n\n'; + if(quest.drop.gp) + text += quest.drop.gp + ' ' + window.env.t('gold') + '\n\n'; + + return text; + } + $scope.showQuest = function(quest) { var item = Content.quests[quest]; var completedPrevious = !item.previous || (User.user.achievements.quests && User.user.achievements.quests[item.previous]); diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index e5d14cc347..121e70c1fc 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -44,8 +44,8 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html | {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}  span.Pet_Currency_Gem1x.inline-gems menu.pets-menu(label=env.t('quests')) - div(ng-repeat='quest in ::getSeasonalShopQuests()') - button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') + .quest-scroll(ng-repeat='quest in ::getSeasonalShopQuests()') + button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  span.Pet_Currency_Gem1x.inline-gems @@ -119,8 +119,8 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') menu.pets-menu(label=(env.t('quests') + ' ({{questCount}})')) p.muted(ng-show='questCount < 1')=env.t('noScrolls') p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' - div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') - button.customize-option(popover="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') + .quest-scroll(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') + button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') .badge.badge-info.stack-count {{points}} li.customize-menu @@ -214,8 +214,8 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.pets-menu(label=env.t('quests')) p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' - div(ng-repeat='quest in Content.quests', ng-if='quest.canBuy') - button.customize-option(popover="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes() | htmlDecode}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') + .quest-scroll(ng-repeat='quest in Content.quests', ng-if='quest.canBuy') + button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  span.Pet_Currency_Gem1x.inline-gems From 4e1716a8db3c59e9f67117cf7b06691c8bc9e64f Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Tue, 27 Jan 2015 20:15:28 -0600 Subject: [PATCH 14/62] Added hp to quest popover --- public/js/controllers/inventoryCtrl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 411359ebc4..f222b863d7 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -162,7 +162,7 @@ habitrpg.controller("InventoryCtrl", $scope.questPopover = function(quest) { var text = ''; if(quest.boss) { - text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + '\n\n'; + text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + ' ' + window.env.t('hp') + '\n\n'; text += '**' + window.env.t('bossStrength') + ':** ' + quest.boss.str + '\n\n'; } else if(quest.collect) { var count = 0; From eaaa09c75adbebaa4a623b5a6646d5dbb24299dd Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Tue, 27 Jan 2015 20:16:11 -0600 Subject: [PATCH 15/62] Added quest details to buy quest and show quest modals --- views/shared/modals/quests.jade | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/views/shared/modals/quests.jade b/views/shared/modals/quests.jade index 6ccf0dd06f..2badabef13 100644 --- a/views/shared/modals/quests.jade +++ b/views/shared/modals/quests.jade @@ -5,7 +5,7 @@ script(type='text/ng-template', id='modals/questCompleted.html') h4 "{{::Content.quests[user.party.quest.completed].text()}}" =env.t('completed') .modal-body - div(ng-class='::Content.quests[user.party.quest.completed].completion() ? "pull-right-sm" : ""', class='col-centered quest_{{user.party.quest.completed}}') + .col-centered(ng-class='::Content.quests[user.party.quest.completed].completion() ? "pull-right-sm" : ""', class='quest_{{user.party.quest.completed}}') p(ng-bind-html='::Content.quests[user.party.quest.completed].completion()') quest-rewards(key='{{user.party.quest.completed}}', header=env.t('youReceived')) .modal-footer @@ -15,7 +15,21 @@ script(type='text/ng-template', id='modals/showQuest.html') .modal-header h4 {{selectedQuest.text()}} .modal-body - .pull-right(class='quest_{{selectedQuest.key}}') + .pull-right-sm.text-center + .col-centered(class='quest_{{selectedQuest.key}}') + div(ng-if='selectedQuest.boss') + h4 {{selectedQuest.boss.name()}} + p + strong=env.t('bossHP') + ': ' + ='{{selectedQuest.boss.hp}} ' + env.t('hp') + p + strong=env.t('bossStrength') + ': ' + | {{selectedQuest.boss.str}} + div(ng-if='selectedQuest.collect') + p(ng-repeat='(k,v) in selectedQuest.collect') + strong=env.t('collect') + ': ' + | {{::selectedQuest.collect[k].count}} {{::selectedQuest.collect[k].text()}} + div(ng-bind-html='selectedQuest.notes()') quest-rewards(key='{{selectedQuest.key}}') hr @@ -30,7 +44,20 @@ script(type='text/ng-template', id='modals/buyQuest.html') .modal-header h4 {{selectedQuest.text()}} .modal-body - .pull-right(class='quest_{{selectedQuest.key}}') + .pull-right-sm.text-center + .col-centered(class='quest_{{selectedQuest.key}}') + div(ng-if='selectedQuest.boss') + h4 {{selectedQuest.boss.name()}} + p + strong=env.t('bossHP') + ': ' + ='{{selectedQuest.boss.hp}} ' + env.t('hp') + p + strong=env.t('bossStrength') + ': ' + | {{selectedQuest.boss.str}} + div(ng-if='selectedQuest.collect') + p(ng-repeat='(k,v) in selectedQuest.collect') + strong=env.t('collect') + ': ' + | {{::selectedQuest.collect[k].count}} {{::selectedQuest.collect[k].text()}} div(ng-bind-html='selectedQuest.notes()') quest-rewards(key='{{selectedQuest.key}}') .modal-footer From a77a46c5437acee18d3cc5552deb2667106e7c29 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Tue, 27 Jan 2015 20:27:14 -0600 Subject: [PATCH 16/62] Added one time bindings to quest modals --- views/shared/modals/quests.jade | 40 ++++++++++++++++----------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/views/shared/modals/quests.jade b/views/shared/modals/quests.jade index 2badabef13..1114df960d 100644 --- a/views/shared/modals/quests.jade +++ b/views/shared/modals/quests.jade @@ -13,25 +13,25 @@ script(type='text/ng-template', id='modals/questCompleted.html') script(type='text/ng-template', id='modals/showQuest.html') .modal-header - h4 {{selectedQuest.text()}} + h4 {{::selectedQuest.text()}} .modal-body .pull-right-sm.text-center - .col-centered(class='quest_{{selectedQuest.key}}') - div(ng-if='selectedQuest.boss') - h4 {{selectedQuest.boss.name()}} + .col-centered(class='quest_{{::selectedQuest.key}}') + div(ng-if='::selectedQuest.boss') + h4 {{::selectedQuest.boss.name()}} p strong=env.t('bossHP') + ': ' - ='{{selectedQuest.boss.hp}} ' + env.t('hp') + ='{{::selectedQuest.boss.hp}} ' + env.t('hp') p strong=env.t('bossStrength') + ': ' - | {{selectedQuest.boss.str}} - div(ng-if='selectedQuest.collect') - p(ng-repeat='(k,v) in selectedQuest.collect') + | {{::selectedQuest.boss.str}} + div(ng-if='::selectedQuest.collect') + p(ng-repeat='(k,v) in ::selectedQuest.collect') strong=env.t('collect') + ': ' | {{::selectedQuest.collect[k].count}} {{::selectedQuest.collect[k].text()}} - div(ng-bind-html='selectedQuest.notes()') - quest-rewards(key='{{selectedQuest.key}}') + div(ng-bind-html='::selectedQuest.notes()') + quest-rewards(key='{{::selectedQuest.key}}') hr .npc_ian.pull-left p=env.t('questSend') @@ -42,24 +42,24 @@ script(type='text/ng-template', id='modals/showQuest.html') script(type='text/ng-template', id='modals/buyQuest.html') .modal-header - h4 {{selectedQuest.text()}} + h4 {{::selectedQuest.text()}} .modal-body .pull-right-sm.text-center - .col-centered(class='quest_{{selectedQuest.key}}') - div(ng-if='selectedQuest.boss') - h4 {{selectedQuest.boss.name()}} + .col-centered(class='quest_{{::selectedQuest.key}}') + div(ng-if='::selectedQuest.boss') + h4 {{::selectedQuest.boss.name()}} p strong=env.t('bossHP') + ': ' - ='{{selectedQuest.boss.hp}} ' + env.t('hp') + ='{{::selectedQuest.boss.hp}} ' + env.t('hp') p strong=env.t('bossStrength') + ': ' - | {{selectedQuest.boss.str}} - div(ng-if='selectedQuest.collect') - p(ng-repeat='(k,v) in selectedQuest.collect') + | {{::selectedQuest.boss.str}} + div(ng-if='::selectedQuest.collect') + p(ng-repeat='(k,v) in ::selectedQuest.collect') strong=env.t('collect') + ': ' | {{::selectedQuest.collect[k].count}} {{::selectedQuest.collect[k].text()}} - div(ng-bind-html='selectedQuest.notes()') - quest-rewards(key='{{selectedQuest.key}}') + div(ng-bind-html='::selectedQuest.notes()') + quest-rewards(key='{{::selectedQuest.key}}') .modal-footer button.btn.btn-default(ng-click='closeQuest(); $close()')=env.t('neverMind') button.btn.btn-primary(ng-click='purchase("quests", quest); closeQuest(); $close()')=env.t('buyQuest') From d8e09884a02437d5af162ec5ece12aed74a24bd9 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Tue, 27 Jan 2015 20:37:09 -0600 Subject: [PATCH 17/62] Added quest image and info to quest invitation modal --- views/shared/modals/quests.jade | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/views/shared/modals/quests.jade b/views/shared/modals/quests.jade index 1114df960d..29a08369cd 100644 --- a/views/shared/modals/quests.jade +++ b/views/shared/modals/quests.jade @@ -67,10 +67,24 @@ script(type='text/ng-template', id='modals/buyQuest.html') script(type='text/ng-template', id='modals/questInvitation.html') .modal-header h4=env.t('questInvitation') - | {{Content.quests[party.quest.key].text()}} + | {{::Content.quests[party.quest.key].text()}} .modal-body - div(ng-bind-html='Content.quests[party.quest.key].notes()') - quest-rewards(key='{{party.quest.key}}') + .pull-right-sm.text-center + .col-centered(class='quest_{{::Content.quests[party.quest.key].key}}') + div(ng-if='::Content.quests[party.quest.key].boss') + h4 {{::Content.quests[party.quest.key].boss.name()}} + p + strong=env.t('bossHP') + ': ' + ='{{::Content.quests[party.quest.key].boss.hp}} ' + env.t('hp') + p + strong=env.t('bossStrength') + ': ' + | {{::Content.quests[party.quest.key].boss.str}} + div(ng-if='::Content.quests[party.quest.key].collect') + p(ng-repeat='(k,v) in ::Content.quests[party.quest.key].collect') + strong=env.t('collect') + ': ' + | {{::Content.quests[party.quest.key].collect[k].count}} {{::Content.quests[party.quest.key].collect[k].text()}} + div(ng-bind-html='::Content.quests[party.quest.key].notes()') + quest-rewards(key='{{::party.quest.key}}') .modal-footer button.btn.btn-default(ng-click='questHold = true; $close()')=env.t('askLater') button.btn.btn-default(ng-click='party.$questReject(); $close()')=env.t('reject') From dc5f980083a16ac91ac3465f94c6f4e0f3c2cb25 Mon Sep 17 00:00:00 2001 From: benmanley Date: Wed, 28 Jan 2015 13:24:49 +0000 Subject: [PATCH 18/62] fix(tasks): improve habit icon alignment See #4539 Align habit buttons using a different CSS technique to prevent plus icon from being cropped on Chrome for Windows. --- public/css/tasks.styl | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/public/css/tasks.styl b/public/css/tasks.styl index f12308bd82..44d89ac5b7 100644 --- a/public/css/tasks.styl +++ b/public/css/tasks.styl @@ -491,29 +491,38 @@ form // Habits – task button styles (+ -) .habits .task-actions - display: inline-block width: 3em height: 100% + a - display: table; + display: block width: 100% height: 100% + position: relative font-size: 0.8em + span - display: table-cell - text-align: center - vertical-align: middle - width: 100% - height: 100% + position: absolute + margin: auto + display: block + height: 1em + width: 1em + top: 0 + left: 0 + bottom: 0 + right: 0 + &:hover, &:focus color: #222 text-decoration: none + .habit-wide // When there are two buttons... min-height: 4.5em .task-actions a height: 50% + .habit-narrow // When there are no buttons... .task-actions @@ -604,4 +613,4 @@ form margin: auto .shop_gold + .reward-cost line-height: 1 - top: -0.1em + top: -0.1em From 23c31083ef5c78ac1de4c0b5dfd190e67e1975f6 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 10:56:16 -0600 Subject: [PATCH 19/62] Fixed triad count to actually check and make sure count is 90 --- public/js/controllers/inventoryCtrl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 20b1ffbe3c..47795e030c 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -97,7 +97,7 @@ habitrpg.controller("InventoryCtrl", // Checks if Triad Bingo has been reached for the first time if(!User.user.achievements.triadBingo && $rootScope.mountCount >= 90 - && Shared.countTriad(User.user.items.pets)) { + && Shared.countTriad(User.user.items.pets) >= 90) { User.user.achievements.triadBingo = true; $rootScope.openModal('achievements/triadBingo'); } From 50bc48f325ca22026248cfd30d7426b1a58b6392 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Wed, 28 Jan 2015 20:32:35 +0100 Subject: [PATCH 20/62] fix(share): addthis in static pages --- views/static/layout.jade | 3 +++ 1 file changed, 3 insertions(+) diff --git a/views/static/layout.jade b/views/static/layout.jade index 8744b06518..ae82efa1c8 100644 --- a/views/static/layout.jade +++ b/views/static/layout.jade @@ -15,6 +15,9 @@ html(ng-app='habitrpg') meta(charset='utf-8') meta(name='viewport', content='width=device-width, initial-scale=1.0') + + //FIXME for some reason this won't load when in footerCtrl.js#deferredScripts() + script(type="text/javascript", src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5016f6cc44ad68a4", async="async") != env.getManifestFiles("static") From 4c6bf8f54342b60e641e124c4f46149b6c6bd35a Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 13:37:34 -0600 Subject: [PATCH 21/62] Added append to body to quest scroll popovers --- views/options/inventory/inventory.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index 121e70c1fc..40494ef32a 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -45,7 +45,7 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html span.Pet_Currency_Gem1x.inline-gems menu.pets-menu(label=env.t('quests')) .quest-scroll(ng-repeat='quest in ::getSeasonalShopQuests()') - button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') + button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-append-to-body='true', popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  span.Pet_Currency_Gem1x.inline-gems @@ -120,7 +120,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') p.muted(ng-show='questCount < 1')=env.t('noScrolls') p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' .quest-scroll(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') - button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') + button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-append-to-body='true', popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') .badge.badge-info.stack-count {{points}} li.customize-menu @@ -215,7 +215,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') menu.pets-menu(label=env.t('quests')) p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' .quest-scroll(ng-repeat='quest in Content.quests', ng-if='quest.canBuy') - button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') + button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-append-to-body="true", popover-trigger='mouseenter', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  span.Pet_Currency_Gem1x.inline-gems From 84552597d6bd55b9609d61c2da2c9ca059168edf Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 14:00:06 -0600 Subject: [PATCH 22/62] Adjusted hrs for popovers --- public/css/inventory.styl | 7 ------- public/css/shared.styl | 4 ++++ views/options/inventory/inventory.jade | 6 +++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/public/css/inventory.styl b/public/css/inventory.styl index bf036d0b2f..81602e1b9c 100644 --- a/public/css/inventory.styl +++ b/public/css/inventory.styl @@ -123,10 +123,3 @@ menu.pets .customize-menu .sell-inventory width: 162px height: 138px - -.quest-scroll - .popover - p - text-align: left; - hr - margin: 10px 0 diff --git a/public/css/shared.styl b/public/css/shared.styl index d05ebcbb95..50f270cc0c 100644 --- a/public/css/shared.styl +++ b/public/css/shared.styl @@ -38,6 +38,10 @@ a.hint:hover .vertical-20 vertical-align: 20% +.popover + hr + margin: 10px 0 + @media (max-width: 768px) .container-fluid padding-right: 5px diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index 40494ef32a..acba6d5494 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -44,7 +44,7 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html | {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}  span.Pet_Currency_Gem1x.inline-gems menu.pets-menu(label=env.t('quests')) - .quest-scroll(ng-repeat='quest in ::getSeasonalShopQuests()') + div(ng-repeat='quest in ::getSeasonalShopQuests()') button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-append-to-body='true', popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  @@ -119,7 +119,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') menu.pets-menu(label=(env.t('quests') + ' ({{questCount}})')) p.muted(ng-show='questCount < 1')=env.t('noScrolls') p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' - .quest-scroll(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') + div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-append-to-body='true', popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') .badge.badge-info.stack-count {{points}} @@ -214,7 +214,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.pets-menu(label=env.t('quests')) p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' - .quest-scroll(ng-repeat='quest in Content.quests', ng-if='quest.canBuy') + div(ng-repeat='quest in Content.quests', ng-if='quest.canBuy') button.customize-option(data-popover-html="{{::quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-append-to-body="true", popover-trigger='mouseenter', ng-click='buyQuest(quest.key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') p | {{::quest.value}}  From d3d12bc63853cf1e90a081886b08df148681f472 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 14:23:38 -0600 Subject: [PATCH 23/62] Added popover-append-to-body to inventory popovers --- views/options/inventory/inventory.jade | 52 +++++++++++++------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index acba6d5494..5fc6dc9de5 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -2,13 +2,13 @@ script(type='text/ng-template', id='partials/options.inventory.equipment.html') .container-fluid .row .col-md-6.border-right - h3.equipment-title.hint(popover-trigger='mouseenter', popover-placement='top', popover=env.t('battleGearText'))=env.t('battleGear') + h3.equipment-title.hint(popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', popover=env.t('battleGearText'))=env.t('battleGear') li.customize-menu.inventory-gear menu.pets-menu(label='{{::label}}', ng-repeat='(klass,label) in {warrior:env.t("warrior"), wizard:env.t("mage"), rogue:env.t("rogue"), healer:env.t("healer"), special:env.t("special"), mystery:env.t("mystery")}', ng-show='gear[klass]') div(ng-repeat='item in gear[klass]') - button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='user.ops.equip({params:{key:item.key}})', class='shop_{{::item.key}}', ng-class='{selectableInventory: user.items.gear.equipped[item.type] == item.key}') + button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='user.ops.equip({params:{key:item.key}})', class='shop_{{::item.key}}', ng-class='{selectableInventory: user.items.gear.equipped[item.type] == item.key}') .col-md-6 - h3.equipment-title.hint(popover-trigger='mouseenter', popover-placement='right', popover=env.t('costumeText'))=env.t('costume') + h3.equipment-title.hint(popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', popover=env.t('costumeText'))=env.t('costume') .checkbox.equipment-title label input(type="checkbox", ng-model="user.preferences.costume", ng-change='set({"preferences.costume":user.preferences.costume ? true : false})') @@ -17,7 +17,7 @@ script(type='text/ng-template', id='partials/options.inventory.equipment.html') li.customize-menu(ng-if='user.preferences.costume') menu.pets-menu(label='{{::label}}', ng-repeat='(klass,label) in {warrior:env.t("warrior"), wizard:env.t("mage"), rogue:env.t("rogue"), healer:env.t("healer"), special:env.t("special"), mystery:env.t("mystery")}', ng-show='gear[klass]') div(ng-repeat='item in gear[klass]') - button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='user.ops.equip({params:{type:"costume", key:item.key}})', class='shop_{{::item.key}}', ng-class='{selectableInventory: user.items.gear.costume[item.type] == item.key}') + button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='user.ops.equip({params:{type:"costume", key:item.key}})', class='shop_{{::item.key}}', ng-class='{selectableInventory: user.items.gear.costume[item.type] == item.key}') script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html') .container-fluid @@ -39,7 +39,7 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html // they have each have a value of false. The item can be purchased for gold in the rewards column, // not the seasonal shop. This makes that more clear. div(ng-repeat='item in ::getSeasonalShopArray(set)' ng-class="{transparent: user.items.gear.owned[item.key] === true ||user.items.gear.owned[item.key] === false}") - button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}') + button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase(item.type,item)', class='shop_{{::item.key}}') .text-center | {{((item.specialClass == "wizard") && (item.type == "weapon")) + 1}}  span.Pet_Currency_Gem1x.inline-gems @@ -51,12 +51,12 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html span.Pet_Currency_Gem1x.inline-gems menu.pets-menu(label=env.t('seasonalItems')) div - button.customize-option(popover='{{::Content.spells.special.snowball.notes()}}', popover-title='{{::Content.spells.special.snowball.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='purchase("special", Content.spells.special.snowball)', class='inventory_special_snowball') + button.customize-option(popover='{{::Content.spells.special.snowball.notes()}}', popover-title='{{::Content.spells.special.snowball.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.snowball)', class='inventory_special_snowball') p | {{::Content.spells.special.snowball.value}} span(class='shop_gold') // div - button.customize-option(popover='{{::Content.spells.special.nye.notes()}}', popover-title='{{::Content.spells.special.nye.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='castStart(Content.spells.special.nye)', class='inventory_special_nye') + button.customize-option(popover='{{::Content.spells.special.nye.notes()}}', popover-title='{{::Content.spells.special.nye.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.spells.special.nye)', class='inventory_special_nye') p | {{Content.spells.special.nye.value}} span(class='shop_gold') @@ -89,7 +89,7 @@ script(type='text/ng-template', id='partials/options.inventory.timetravelers.htm li.customize-menu.inventory-gear menu.pets-menu(label='{{::set.text}}', ng-repeat='set in Content.timeTravelerStore(user.items.gear.owned)') div(ng-repeat='item in set.items') - button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='user.ops.buyMysterySet({params:{key:set.key}})', class='shop_{{::item.key}}') + button.customize-option(popover='{{::item.notes()}}', popover-title='{{::item.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='user.ops.buyMysterySet({params:{key:set.key}})', class='shop_{{::item.key}}') script(type='text/ng-template', id='partials/options.inventory.drops.html') .container-fluid @@ -104,7 +104,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') p.muted(ng-show='eggCount < 1')=env.t('noEggs') div(ng-repeat='(egg,points) in ownedItems(user.items.eggs)') //TODO move positioning this styling to css - button.customize-option(popover='{{::Content.eggs[egg].notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs[egg].text()}}"}), popover-trigger='mouseenter', popover-placement='right', ng-click='chooseEgg(egg)', class='Pet_Egg_{{::egg}}', ng-class='{selectableInventory: selectedPotion && !(user.items.pets[egg+"-"+selectedPotion.key]>0)}') + button.customize-option(popover='{{::Content.eggs[egg].notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs[egg].text()}}"}), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='chooseEgg(egg)', class='Pet_Egg_{{::egg}}', ng-class='{selectableInventory: selectedPotion && !(user.items.pets[egg+"-"+selectedPotion.key]>0)}') .badge.badge-info.stack-count {{points}} //-p {{Content.eggs[egg].text()}} @@ -112,7 +112,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') menu.hatchingPotion-menu(label=(env.t('hatchingPotions') + ' ({{potCount}})')) p.muted(ng-show='potCount < 1')=env.t('noHatchingPotions') div(ng-repeat='(pot,points) in ownedItems(user.items.hatchingPotions)') - button.customize-option(popover='{{::Content.hatchingPotions[pot].notes()}}', popover-title!=env.t("potion", {potionType: "{{::Content.hatchingPotions[pot].text()}}"}), popover-trigger='mouseenter', popover-placement='right', ng-click='choosePotion(pot)', class='Pet_HatchingPotion_{{::pot}}', ng-class='{selectableInventory: selectedEgg && !(user.items.pets[selectedEgg.key+"-"+pot]>0)}') + button.customize-option(popover='{{::Content.hatchingPotions[pot].notes()}}', popover-title!=env.t("potion", {potionType: "{{::Content.hatchingPotions[pot].text()}}"}), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='choosePotion(pot)', class='Pet_HatchingPotion_{{::pot}}', ng-class='{selectableInventory: selectedEgg && !(user.items.pets[selectedEgg.key+"-"+pot]>0)}') .badge.badge-info.stack-count {{points}} li.customize-menu @@ -120,14 +120,14 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') p.muted(ng-show='questCount < 1')=env.t('noScrolls') p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') - button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-append-to-body='true', popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') + button.customize-option(data-popover-html="{{:: quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : questPopover(quest) | markdown}}", popover-title='{{::quest.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='showQuest(quest_key)', ng-class='(quest.previous && !user.achievements.quests[quest.previous]) ? "inventory_quest_scroll_locked inventory_quest_scroll_{{::quest.key}}_locked locked" : "inventory_quest_scroll inventory_quest_scroll_{{::quest.key}}"') .badge.badge-info.stack-count {{points}} li.customize-menu menu.pets-menu(label=env.t('food') + ' ({{foodCount}})') p.muted(ng-show='foodCount < 1')=env.t('noFood') div(ng-repeat='(food,points) in ownedItems(user.items.food)') - button.customize-option(popover='{{::Content.food[food].notes()}}', popover-title='{{::Content.food[food].text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='chooseFood(food)', class='Pet_Food_{{::food}}') + button.customize-option(popover='{{::Content.food[food].notes()}}', popover-title='{{::Content.food[food].text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='chooseFood(food)', class='Pet_Food_{{::food}}') .badge.badge-info.stack-count {{points}} @@ -135,25 +135,25 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') menu.pets-menu(label=env.t('special')) mixin specialItem(k) div(ng-if='user.items.special.#{k}') - button.customize-option(popover='{{::Content.special.#{k}.notes()}}', popover-title='{{::Content.special.#{k}.text()}}', popover-trigger='mouseenter', popover-placement='right', ng-click='castStart(Content.special.#{k})', class='inventory_special_#{k}') + button.customize-option(popover='{{::Content.special.#{k}.notes()}}', popover-title='{{::Content.special.#{k}.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.special.#{k})', class='inventory_special_#{k}') .badge.badge-info.stack-count {{user.items.special.#{k}}} +specialItem('snowball') +specialItem('spookDust') div(ng-if='user.items.special.valentineReceived[0]') - button.customize-option(popover="Valentine's Day Card from {{User.user.items.special.valentineReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', ng-click='openModal("valentine")', class='inventory_special_valentine') + button.customize-option(popover="Valentine's Day Card from {{User.user.items.special.valentineReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='openModal("valentine")', class='inventory_special_valentine') .badge.badge-info.stack-count {{user.items.special.valentineReceived.length}} div(ng-if='user.purchased.plan.customerId || user.purchased.plan.mysteryItems.length') - button.customize-option(popover=env.t('subscriberItemText'), popover-trigger='mouseenter', popover-placement='right', class='inventory_present', ng-click="user.ops.openMysteryItem({})") + button.customize-option(popover=env.t('subscriberItemText'), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', class='inventory_present', ng-click="user.ops.openMysteryItem({})") .badge.badge-info.stack-count {{user.purchased.plan.mysteryItems.length}} div(ng-if='user.purchased.plan.consecutive.trinkets') - button.customize-option(popover=env.t('mysticHourglassPopover'), popover-trigger='mouseenter', popover-placement='right', class='inventory_special_trinket', ng-click="$state.go('options.inventory.timetravelers')") + button.customize-option(popover=env.t('mysticHourglassPopover'), popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', class='inventory_special_trinket', ng-click="$state.go('options.inventory.timetravelers')") .badge.badge-info.stack-count {{user.purchased.plan.consecutive.trinkets}} div(ng-if='user.items.special.nyeReceived[0]') - button.customize-option(popover="New Year's Card from {{User.user.items.special.nyeReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', ng-click='openModal("nye")', class='inventory_special_nye') + button.customize-option(popover="New Year's Card from {{User.user.items.special.nyeReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='openModal("nye")', class='inventory_special_nye') .badge.badge-info.stack-count {{user.items.special.nyeReceived.length}} .col-md-6.border-left @@ -178,19 +178,19 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.pets-menu(label=env.t('eggs')) div(ng-repeat='egg in Content.eggs', ng-if='egg.canBuy') - button.customize-option(popover='{{::egg.notes()}}', popover-title!=env.t("egg", {eggType: "{{::egg.text()}}"}), popover-trigger='mouseenter', popover-placement='top', ng-click='purchase("eggs", egg)', class='Pet_Egg_{{::egg.key}}') + button.customize-option(popover='{{::egg.notes()}}', popover-title!=env.t("egg", {eggType: "{{::egg.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", egg)', class='Pet_Egg_{{::egg.key}}') p | {{::egg.value}}  span.Pet_Currency_Gem1x.inline-gems //- buyable quest eggs each egg,quest in {gryphon:'Gryphon',hedgehog:'Hedgehog',ghost_stag:'Deer',rat:'Rat',octopus:'Octopus',dilatory_derby:'Seahorse',harpy:'Parrot',rooster:'Rooster',spider:'Spider',owl:'Owl',penguin:'Penguin'} div(ng-show='user.achievements.quests.#{quest} > 1') - button.customize-option(popover='{{::Content.eggs.#{egg}.notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs.#{egg}.text()}}"}), popover-trigger='mouseenter', popover-placement='top', ng-click='purchase("eggs", Content.eggs.#{egg})', class='Pet_Egg_#{egg}') + button.customize-option(popover='{{::Content.eggs.#{egg}.notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs.#{egg}.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", Content.eggs.#{egg})', class='Pet_Egg_#{egg}') p | {{::Content.eggs.#{egg}.value}}  span.Pet_Currency_Gem1x.inline-gems div(ng-show='(user.achievements.quests.trex + user.achievements.quests.trex_undead) > 1') - button.customize-option(popover='{{::Content.eggs.TRex.notes()}}', popover-title!=env.t("egg", {eggType: "{{Content.eggs.TRex.text()}}"}), popover-trigger='mouseenter', popover-placement='top', ng-click='purchase("eggs", Content.eggs.TRex)', class='Pet_Egg_TRex') + button.customize-option(popover='{{::Content.eggs.TRex.notes()}}', popover-title!=env.t("egg", {eggType: "{{Content.eggs.TRex.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", Content.eggs.TRex)', class='Pet_Egg_TRex') p | {{::Content.eggs.TRex.value}}  span.Pet_Currency_Gem1x.inline-gems @@ -198,7 +198,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.pets-menu(label=env.t('hatchingPotions')) div(ng-repeat='pot in Content.hatchingPotions') - button.customize-option(popover='{{::pot.notes()}}', popover-title!=env.t("potion", {potionType: "{{::pot.text()}}"}), popover-trigger='mouseenter', popover-placement='top', ng-click='purchase("hatchingPotions", pot)', class='Pet_HatchingPotion_{{::pot.key}}') + button.customize-option(popover='{{::pot.notes()}}', popover-title!=env.t("potion", {potionType: "{{::pot.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("hatchingPotions", pot)', class='Pet_HatchingPotion_{{::pot.key}}') p | {{::pot.value}}  span.Pet_Currency_Gem1x.inline-gems @@ -206,7 +206,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.pets-menu(label=env.t('food')) div(ng-repeat='food in Content.food', ng-if='food.canBuy') - button.customize-option(popover='{{::food.notes()}}', popover-title='{{::food.text()}}', popover-trigger='mouseenter', popover-placement='top', ng-click='purchase("food", food)', class='Pet_Food_{{::food.key}}') + button.customize-option(popover='{{::food.notes()}}', popover-title='{{::food.text()}}', popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("food", food)', class='Pet_Food_{{::food.key}}') p | {{::food.value}}  span.Pet_Currency_Gem1x.inline-gems @@ -223,22 +223,22 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.pets-menu(label=env.t('special')) div - button.customize-option(popover=env.t('fortifyPop'), popover-title=env.t('fortifyName'), popover-trigger='mouseenter', popover-placement='top', ng-click='openModal("reroll")', class='inventory_special_fortify') + button.customize-option(popover=env.t('fortifyPop'), popover-title=env.t('fortifyName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("reroll")', class='inventory_special_fortify') p | 4  span.Pet_Currency_Gem1x.inline-gems div(ng-show='user.flags.rebirthEnabled') - button.customize-option(popover=env.t('rebirthPop'), popover-title=env.t('rebirthName'), popover-trigger='mouseenter', popover-placement='top', ng-click='openModal("rebirth")', class='rebirth_orb') + button.customize-option(popover=env.t('rebirthPop'), popover-title=env.t('rebirthName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("rebirth")', class='rebirth_orb') p(ng-show='user.stats.lvl < 100') | 8  span.Pet_Currency_Gem1x.inline-gems div(ng-show='petCount >= 90 || mountCount >= 90') - button.customize-option(popover=env.t('petKeyPop'), popover-title=env.t('petKeyName'), popover-trigger='mouseenter', popover-placement='top', ng-click='openModal("pet-key", {size:"lg"})', class='pet_key') + button.customize-option(popover=env.t('petKeyPop'), popover-title=env.t('petKeyName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='openModal("pet-key", {size:"lg"})', class='pet_key') p | 4  span.Pet_Currency_Gem1x.inline-gems div(ng-if='user.purchased.plan.customerId', ng-class='::{transparent:(Shared.planGemLimits.convCap + User.user.purchased.plan.consecutive.gemCapExtra - User.user.purchased.plan.gemsBought) < 1}') - button.customize-option(popover=env.t('subGemPop'), popover-title=env.t('subGemName'), popover-trigger='mouseenter', popover-placement='top',ng-click='user.ops.purchase({params:{type:"gems",key:"gem"}})') + button.customize-option(popover=env.t('subGemPop'), popover-title=env.t('subGemName'), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='user.ops.purchase({params:{type:"gems",key:"gem"}})') span.Pet_Currency_Gem.inline-gems .badge.badge-success.stack-count {{Shared.planGemLimits.convCap + User.user.purchased.plan.consecutive.gemCapExtra - User.user.purchased.plan.gemsBought}} p From e6e1ea086eeab6b223cc392db9deb24b82cbb7d5 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 14:51:51 -0600 Subject: [PATCH 24/62] Fixed alignment of notes on tasks --- views/shared/tasks/task.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/shared/tasks/task.jade b/views/shared/tasks/task.jade index 988402a6be..b50c04460c 100644 --- a/views/shared/tasks/task.jade +++ b/views/shared/tasks/task.jade @@ -1,4 +1,4 @@ -li(bindonce='list', bo-id='"task-"+task.id', ng-repeat='task in obj[list.type+"s"]', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && (list.type != "reward") && castEnd(task, "task", $event)', ng-class='{"cast-target":spell && (list.type != "reward")}', popover-trigger='mouseenter', data-popover-html="{{task.notes | markdown}}", data-popover-placement="top", ng-show='shouldShow(task, list, user.preferences)') +li(bindonce='list', bo-id='"task-"+task.id', ng-repeat='task in obj[list.type+"s"]', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && (list.type != "reward") && castEnd(task, "task", $event)', ng-class='{"cast-target":spell && (list.type != "reward")}', popover-trigger='mouseenter', data-popover-html="{{task.notes | markdown}}", popover-placement="top", popover-append-to-body='true', ng-show='shouldShow(task, list, user.preferences)') // right-hand side control buttons .task-meta-controls From 043baf496140771239171f7a601a01bee9859177 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 15:10:21 -0600 Subject: [PATCH 25/62] Removed hp from modals --- views/shared/modals/quests.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/views/shared/modals/quests.jade b/views/shared/modals/quests.jade index 29a08369cd..d0ec6ae203 100644 --- a/views/shared/modals/quests.jade +++ b/views/shared/modals/quests.jade @@ -21,7 +21,7 @@ script(type='text/ng-template', id='modals/showQuest.html') h4 {{::selectedQuest.boss.name()}} p strong=env.t('bossHP') + ': ' - ='{{::selectedQuest.boss.hp}} ' + env.t('hp') + | {{::selectedQuest.boss.hp}} p strong=env.t('bossStrength') + ': ' | {{::selectedQuest.boss.str}} @@ -50,7 +50,7 @@ script(type='text/ng-template', id='modals/buyQuest.html') h4 {{::selectedQuest.boss.name()}} p strong=env.t('bossHP') + ': ' - ='{{::selectedQuest.boss.hp}} ' + env.t('hp') + | {{::selectedQuest.boss.hp}} p strong=env.t('bossStrength') + ': ' | {{::selectedQuest.boss.str}} @@ -75,7 +75,7 @@ script(type='text/ng-template', id='modals/questInvitation.html') h4 {{::Content.quests[party.quest.key].boss.name()}} p strong=env.t('bossHP') + ': ' - ='{{::Content.quests[party.quest.key].boss.hp}} ' + env.t('hp') + | {{::Content.quests[party.quest.key].boss.hp}} p strong=env.t('bossStrength') + ': ' | {{::Content.quests[party.quest.key].boss.str}} From c328d0fd3c91cf7f6afc06dd7edd3ee3de322d4e Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 15:11:32 -0600 Subject: [PATCH 26/62] Removed hp from popover function --- public/js/controllers/inventoryCtrl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index f222b863d7..4fe7fa8da0 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -162,7 +162,7 @@ habitrpg.controller("InventoryCtrl", $scope.questPopover = function(quest) { var text = ''; if(quest.boss) { - text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + ' ' + window.env.t('hp') + '\n\n'; + text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + ' \n\n'; text += '**' + window.env.t('bossStrength') + ':** ' + quest.boss.str + '\n\n'; } else if(quest.collect) { var count = 0; From 275f55cbfeb612581071f0190a379ee23275fd31 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 15:36:13 -0600 Subject: [PATCH 27/62] Removed extra space --- public/js/controllers/inventoryCtrl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 4fe7fa8da0..411359ebc4 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -162,7 +162,7 @@ habitrpg.controller("InventoryCtrl", $scope.questPopover = function(quest) { var text = ''; if(quest.boss) { - text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + ' \n\n'; + text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + '\n\n'; text += '**' + window.env.t('bossStrength') + ':** ' + quest.boss.str + '\n\n'; } else if(quest.collect) { var count = 0; From 5f1d13824129a3e51a1f4138402c2ac7ae57c683 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 28 Jan 2015 15:38:41 -0600 Subject: [PATCH 28/62] Added comment about questPopover function --- public/js/controllers/inventoryCtrl.js | 1 + 1 file changed, 1 insertion(+) diff --git a/public/js/controllers/inventoryCtrl.js b/public/js/controllers/inventoryCtrl.js index 411359ebc4..a0f2811805 100644 --- a/public/js/controllers/inventoryCtrl.js +++ b/public/js/controllers/inventoryCtrl.js @@ -160,6 +160,7 @@ habitrpg.controller("InventoryCtrl", } $scope.questPopover = function(quest) { + // The popover gets parsed as markdown (hence the double \n for line breaks var text = ''; if(quest.boss) { text += '**' + window.env.t('bossHP') + ':** ' + quest.boss.hp + '\n\n'; From 01d695cae5d820e2aeb567d4d9fa76da53bed7fc Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Thu, 29 Jan 2015 17:59:30 +0100 Subject: [PATCH 29/62] fix(grunt): allow caching of spritesheets, fix #4542 --- Gruntfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gruntfile.js b/Gruntfile.js index d778230751..3376be4c61 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -58,7 +58,7 @@ module.exports = function(grunt) { build: { files: [ {expand: true, cwd: 'public/', src: 'favicon.ico', dest: 'build/'}, - {expand: true, cwd: 'public/', src: 'bower_components/habitrpg-shared/dist/spritesmith.png', dest: 'build/'}, + {expand: true, cwd: 'public/', src: 'bower_components/habitrpg-shared/dist/spritesmith*.png', dest: 'build/'}, {expand: true, cwd: 'public/', src: 'bower_components/habitrpg-shared/img/sprites/backer-only/*.gif', dest: 'build/'}, {expand: true, cwd: 'public/', src: 'bower_components/habitrpg-shared/img/sprites/npc_ian.gif', dest: 'build/'}, {expand: true, cwd: 'public/', src: 'bower_components/bootstrap/dist/fonts/*', dest: 'build/'} From 4a16deb50d11328b5ffde058e391813894b3886b Mon Sep 17 00:00:00 2001 From: Negue Date: Thu, 29 Jan 2015 18:16:33 +0100 Subject: [PATCH 30/62] aLink mixin to handle mobile links --- views/shared/profiles/achievements.jade | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/views/shared/profiles/achievements.jade b/views/shared/profiles/achievements.jade index af414f15b5..9879848f0f 100644 --- a/views/shared/profiles/achievements.jade +++ b/views/shared/profiles/achievements.jade @@ -11,6 +11,12 @@ //

QFlz=mtR8qOV)_Mo`l=mP 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 literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Item_Drop.mp3 b/public/audio/wattsTheme/Item_Drop.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..2d5b879fc7ca3bab5453567afb98184959553dd5 GIT binary patch literal 51061 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 D?yt@m literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Item_Drop.ogg b/public/audio/wattsTheme/Item_Drop.ogg new file mode 100755 index 0000000000000000000000000000000000000000..9a69aea16da47c9cfe490d4de93b11265e4f3cec GIT binary patch literal 22204 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 literal 0 HcmV?d00001 diff --git a/public/audio/wattsTheme/Level_Up.mp3 b/public/audio/wattsTheme/Level_Up.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..7e4be04d88b9a33f19bf78288c77b93aadb64e5f GIT binary patch literal 71107 zcmeF2^obDiz+xL&XG+;!r8R24;V0RIw9-&jfa{)~5j2nz~{=__d|{BKr6 zPE$!=UR(1%i+g_v35(rbO}N@P0LV`O0H^yBAOJuL0RXV>U&Z&?`;VgN`?~+WC&Di& z!7pm?|I`1Y0HDxBYvnvS-^A-@WeboFM}a&?ilrt5fbQ$EGp^b?2%~0&z1%xZlO)^R z-rFK6U;*oBvXOu6E^Kwf8gPQ>W)G1u<|ag9F)p}BaJl7~5~EC&ey7`q(}bwAS5@m( z`L#RUWsb{oMqUINY8{cN9Qj* z5?;%26Z;mDww;PjM2o*=vx)`e$I#U6WMRD`h8Rb3S)AD<4B>!-q@7;I?t9S2G&MzO zi}oXrrOT^$e6{Kp{#sbgc|90-Ikj6G6P*=TDBn7aLF0Xux^DWw&wLaVu;l*e>6;3@ z#jCU|?>njU%L`p0)s~)y*W=RH5wgz8%mY33hvH*QF?Mrq!~Q$#Bu9B|CwES);8=}2 z{p6@qraE3Prf9Fe4o!*I?XRjFp&!Fqey+k3NS-+E+Sj8%Jj9!0XF;9)31X2g-{uz| z`)^&PDG((SOn-;9l0=GtsFa-v=_eyYXgjC7to}y9nj)VatFs*`To?T~t=dh93Y?*(wtO$|hdk+;M~v^rk$O{$_j*EpCbbZH|`HM)MX_n4PRaJH9XLK(IBWYyUTJ4;x zI3ocXEr?G}m!;^->zTJ-Dy#dNUtAhUhRtv|gwK)Xs$m`G`wrC2dFGTqvP2;iU{EQw z(~%u!HbJt{@7WO|Pn262>03^L6~dv|miTdFtRPx3Y`eO=Tla6q#WE1MZ}fv>L`YAo zXC_M2)oNtwR2a(8!kSz?ilVYkT`v@Fe3cJRA=Y?@t5rVmAhLVk(VX$ zzb-b;zAe5^@?6R=@e`2r^!Rt_K4s`>j}NcYRyn7hb*cFNt-5Z1wiUf3KYV*PT%o%0 z>c2Yw_wDjv=kNQKowM8iwf`y7EZ<-D*rmQ4A!eNdPTAU<(AE#nHZ28YCBjF!6zb4Hy#L_w&2mgbS0ytRC)cR8;l_M>t^~O6T?PH07lju`$h)qW2dx@=A5ZS}!?IiS+L}&z^uLw<_jJ4b{MFFq z-Pz7fQulvFx8^jcH0rgH4Z)=zxjl0aHqS%I1Cm5e_Uj)l5GE=ZPmJYbEwc#tYiqR3 z2V<%Tt%8%wqvRN?T=h4$Kb<=78FHOYpaJxKbzJhWS_SGPFr=oj(6pDgCG$M2aS=VH2I zlz(P_iR!^VRZCCKtCJ97Qh7dIA5&r0Dh7j)+xL5mNt91lrt2jBjD7!|uOR$q_Fwhg z!@X8@niS6AokguDGATRzk#l24sk3Um$kQ6b8N(+Yut80WhKU|q^U(luYwoW+T*KOh zVsgIv3L@Jrpx58~5`$;OINM6gTuNO4N(=v*=G^$*T~Q(xUE;Bh94nO~s$5wJCRIeG zUx%_Lq2dTzo-Ne!YP+_)uX)4GBg55{U)O7FuJ3pl8q$Rqoz|r_Rs`z80}G^{Zd_G4mWFqPiU)rqEm;kXz*w2%Js`+j;G^iUV}D0L7yn`-VeVPV;-K`D@%*ebU+ zH<``;77zrQ*BUn5eKHYc9!nbx%<&bhzP8xsG&;}L|7Xppvras=33)GOO%GnB?RI5L8e|mM= z8`REoG#J9%;iBC;GU%wrY+A6^2FR0FKRf+vzfVi|dj8NbT~9OJ>=7D)h-sCH*c~xR zCU77&AT%}OdveLaBQ&Z@dx|!f6hbFB*E3&){;B+_obQZ8BA?=zK3teeCnVmnjuqjG zdW23@h?WLWI+9wBPBiD+Ac}+s!9W>o_xREplb^3fIu;EKd3xew(uAFqfWtoBW^7ba zQDwHkF5T8%15r2iW)e&YIqRO(czo**I@m|28mWWtP0422X$P+P-@q&~1f_c6ugw%7 z4TMc>&RHYsjrde^@&I}7e+=Ci8UlvDy_`D88SIdAW55BZ?sBDH8&t1Jb~1@NlYkli zl46l4@-Sm3$y=W?1=g_sB;-2u#@7JI5e5|;%^>sotVKHjc0xM&JDLEe2YdBdqix}=Jw%FGc+Fet zoOyE~9ttKBQEZ${8^grvg|7=ur9bR{&c@GHF5X;!E`Rv@yjkU?fdlDutMlOxx9=?g z0LZqcv*%o7-f6dZ@-qR8aqe)lbVEHKrv0C<1;qlXg9 zwQdP~Wu7cPWSeko033^&?So8gl_xhx1i-Gcgc2v*zDN3$7>q+WF^8izl=-uo{(ly z(RmIzZ-srHrV})l{~YnrYfV8W5n933GL77DADCa^I$hGkicr-=qOTzsOT7W>lEwRsfWEa8-g+8LO21GY%W2Aww*A>^hJ(#+Rj3ysL<(dan6pp_CWPZVoCD^G#LN@U7rM&Cn+V&HSyQ>~`o z6=zNgiiY^jOS#B2`+p2^PRjuXEu4@}e>%97VOM&9vJuXhZLs``am5|c^sO<79PxCep!Oql zn|I~9%nUfv5Kkk+2@V}H0(~IeJgaMhOs{5ibe(tQ^H(S~{h$yJDRBgy(78A9l;RU~VRrZJNKD?TJ!(ysYlo^Y868 zy0yI4YK1Pp7gquFG*=iem~{vyvbG+YNvWzbN@2*Rq*W1Yx~%Twt+&lTCXN(7+`F=8 z@*u{*59wK1foO>`DR`L{+QpTBG5UauGG0m-%~Uqc*KhY3Qv%mZ)%&SF*uVljqIzDq zSiCxA)2&UnTfi0qz-oGEM+hhr?HXp_3S^^r-*aMCLDr*lBRd^VV`@0`M!vYCWFZJ$ zAX%Y$`LK=0i@t0!537{riPS+&AhcU}vqyWio43~QwZGN-ch47TO})1N(68-?&45cN zOo$eG+F{8`jFsQ_u(BF0rk!zm2U0jqCq}|TI|X%uhwW_93bq_x5Fu-!%ktOb#+%b@p23Rjatzp**X zg6dmz=lG33p)Wi}qjs~ae%5U~jI1j5`!nq+zt0kD4QTMQr-5Fwx89QHa5=k}BIRrm zLRoLTxPK`8c|Im0t$VmU`ksJofQx9%Sc`%IOyNUf!}5oXfQJwOph)TNL^<_3b&Q3i zQFWsrbv+w<3M2_~5D^k)5@i-3eiDvGm6{-suA@tV5f_o{5}1=Us>bdE&|fDaC?+aY zi_jKC1@KAW;dXr1L{m&{)4!@feH0XIz$XM0SL@Bo#e&)OvRXSpAzdXsIEq+I=j|~Z z>wX1Tk&-C6t?$-tSv+LTKWV9b@j~9c)GH-Oh5cMG6*i=kYl}#a7M-DVbiuc(Nw?~# z$^W%!cWH?KF;{zC#MA5MKi+8fr@!Os)p65*;qCkcey6HJ9=gfB(`v0gqKfdkx zVcEd9tY7SK!xW<;3>9PZrE@nT=z(E{+Q~0vm`-=E?!(3v>2S~ExcaXjZVp)Q2T=N%1my~c;a>{tjj-h zMIWD?#*{x_D#98qvh#-@5>Ur&;%l_G;9uSP$S&1JAevYBe!j!4UYz!$=&nKn4ZRk7 zKP3xsM-OxJ>L(ZHSR*!n!v?vxN~L@3uC4H8>r~OBHnzA;9*%mM zy2Q?VLzyy_a)zLYVe;*h$HM13Ol+dxKaTs#sGKh0kPo9c*5k?34AZW*4fw1!RspQ| zMGb6izl|ddat}jJrHf^fwL%H#baqO(u3z0Ndv_yt^RvC%_kbV#Wc}l_Ua8dHnVDSl zh3r)YiiFCYmv8oa7N1Wph<+~$Jqdg!g(r=rAxD`bW=tr>+@H0IOVjy92vO{K2o_zE zpP9(P=uyW(0t&XYfV>q%>8l;NN@P&3rh+C`8Zu%UqfXCM{b!I>C?&#tFR=~j>4V8P zB=S0r9=NT+^J4|pLV@^JnyQa6h6G$&;g58I zqR9y7ksuYWFh5NwDCj?9?v{NsBVHXpFWQu2)gbYq5X0ue(Qp=TC3wix5enoV6ygHH zh$VzULq7_jS$4%8wpdkxRdn{`IC2d6y-u{Py>zD7XnP6ILfopypmRQ}2p*;1+H>aC zEaeSDXkV2G!_Y%w}WYQHz z3KI3iBD#?Rn00Ie_Bpa~CU^@}mc;p~=%|DfTNTJiMU7Xn%7`?ep;#+irUNf5z9u@JXnX#!4Nl3on8sd&xU{(&xRen>KC0GpeLc6_t9SQ8egH zma7GWobb6hj8sb{$x~U`aBba`qDb@CN8w3J-xpy4BK9pz6{nG3m-Cu|LkwLTuW}U!^Sm%h3*1uKT5I$ z=LKnc_eH|MsAy1@Fw}z_a67v#F)^j;ta)o>3B24b5st~Vo05uK$<2@G-Para#r0(` zkhApQD+d6OVl*Rrw|Mn-w<^6?IgtLHjEh$*!uLY|Z~Hw?XP5KuSNM402Zc95{xhQ3 zR8IJKFx~K#J6S^t`WBl{2KDvF7Bf=4ly^g%gHbweml%P<YHdXAG;@oq)y^gy+7(967mk~KcAs@1mAsY z*aFbfqp1He#L=yR9*lEE9!LZSJ=SDMy=RDb^nN^Km%S#~=m5~8#WYP}bB8tT>4I4p z{T)VTF1$)u!}3Av^hnSXLcE+Q8v#X0iD7mxrHneD);sacE4CI8?+1Qs!7=PrVIyoa z(shn}b||tp|GnheNML584e>e&g`tt$q-BZ&S3J4jd>8um{@#zf+b^?7=_9A?2t%o~ST7G__CAtFHL}no#a4(80DuHh#PS)4 zv*TOUGL^!=uNH2EKcy~;H;BQ}&Rm6@RoJO^ z1R2EN(p*un^?V_1G4pg+pziKnH2n7S(f1>s7OwDHOQN}$_Y{;d+ogJu^Y1Yv^F1sX z%h0Jc<=m~V8A4?Oe@0D0;`44jJEo<+nMYKrH7$v4f2o|r%9&W;nAJhrlsagQz#zaG z(`NSr1c}!gDuwa@e5jXX@Jk<0M;X4cw?NMriX~7{A6OO0m6bS|y+=eEsliS0P4Mu# z#mLn&49C+gV13^uFWn2q7Kmugp)6{1Z=S-+O^qAD07>0wc5Iydr})y}vR`vJ)Tg7= zF16q6c3B8*XFMQ{&+p`KvPH3glemblV#uM4kcd)V`2yJ0EEs09A&ljH6XDD%U+ zPrehf4;8;K$Bch3e;R1`qH&ZiagmCKw!-bw=3e~rd;P!r-C+3;a9_mFptubKY0|I- z$su6i`f;xG;QGf(cz+-B5T17fW`W1Ep(hlOM;F zMd)OGq8%vtL?XhSCj%NJAI=(tOi*d!qup>or!xrCHu zt^B$)t)ovTOUqRWyXxS7@|2A3cmq_P$X5&U%)DK04qHqeTi!Bl=j2SJgoTUq}LLcL`-*sRF= zM$_~vvx`P$F<_G0Y6{3@Q&l=tk>!$%VPTQWo?I47@HAc$%&Wb@HV|g9;VqA@owQZ) z?=g)b>RW5(g5gN21QdF;>RN#W0>LpKd2wO@vV7@Q=^~~M$Kjq?5ftVw*!37!`A|u& zsSX5>MSF-YGY#f-h(dO@0WdXOIF4KkH!;ZLv+85KD#bGoe0eQ+A_|-yf|jaP!!_Bz zvfZs+Dy2sV&U?c5A|=3}QSLUjp!nzzYBG*RC@&!aZfS7>DOEKW$ZUL3P3Z#%9XP%p zRSQ%YD;3=5W4Bt650+AGWp~jxyVeIO*N0V@-VRkR?~G3F;0^o%sCehB+&q!J< zcG^9*0C226v3u%(uQA&0RsYc|8xiJH!ty9DSnr=t_w#i_teoGk!n*g4iUgg8iX1GBYmaB4I_jN^A!`p1wQ z5&;-o2sS#9qzRHZA_@a2FY?o0YijOLc5*gyhU4U19p9Bz##g7b42bS*>3*_Pp=ZP4 zeW%uB<&*Y0|3ZQ1cXVjJrtdn*ma}lh=!%DwMNdg3P#&AMMg5W-7nrGWR64ZuO%q+~ zv`rC@_mv);-qQ;g2&cpsh%#ZY^r_peTt`RtXlwvp(XhUTW++tE=^H#C9{Zwh)&}4* za(VjtXP_3{#Y_xkSTP&C{xVCS9fx6wVT!5gWVKKKzyTJo)lHA8xI92Ob;V zZG2fy-i`dj!n7adG|bBMR7sywg3JELoP$Rkip!RFODxNL1(iA$4tk;~86|HpKkxe( zia>Tr;V%L||7PcL|A}eD^`nU%KGkel(}+jR4a#?6sY_7{BMJzCNJJNQGQ33|96rE8 z`lus}1SqofFrEq^SHzJqO*i;5Mb}WVRAKZekpgoW`Cv~^W1C33Gx8*D(s0TgL1awBwfwz=IerwpKS+6WrJz%&bTWs_cIx==a9 zMMy|5COM$bD*Z~E#k%Q}hpu_Kl4cN7-_p*l&d_;!ZL7|YrI(E!`YUf}{)pl0>52Ze z_MVXd+%}Bg{WjU8i`@@cJ=q?K(2x!uAS)m1p4`|+Hc&w;42}bB`rH54wh?*Z`0Y0x zI~zwZUOIS56iyErJjO~92Frb-0|DIk(GTl?1kOtUCNM4oq1R3I-d3B9$@~nq5_Mqh zPq-sx?F;&x*lU%}2Ez{}(n!*W=7hy(fx4taZpqkeZ=YTfIzk0ZturTObs~{(VCES# z(0AbN=!5P7np??i(-(Td9Wg@`$Y*Dxgzfg!>{>mGmi|UP)hhhP;NYHr40*=Oq6fwt z=UwPK>7?8kitZWWlsU7iwl!W|Y;+>QV$63T>+V{SJrjGI`Gr*3@hZA+7+;Mj>C@!r zkbJKA@|j#kT8*rlFcCtkFX>bMIq_Dx+9IE_=q6&GiUfQXw257|6R_DJt=gh0)S-eH z2<=Ig`CG>=vo5tYZ8IP-DF``6OXobpeAX^8GbO}2S@MZZm|t$cSbWgA{J)nndJ z?}D4l|Iz>Mj=nvzp>q89&ft@G`+<;-iQtMUpJ)icL$$=u*aK}C62n8QEzz`?ki`;0 zZ{6t?QTz~kOGD23tY88-8D6PVnV4)(~Wfv--Oai3^v`DRDu)iz)ZlcC`NPLrFoPS81rsln9? z6bEj&i#={~GS8keb1aAO=+4!+j^)bN?Z@UXqYJqK*b|2CCg69y5J4?6Z-@-CsNAeA z`0l^v?s3-|kf^tD?O#OU6`g{ZeyzC&_Wo(DU8Pe60i>4}Z`OY=qvaXEnJ64A{?xUu z9-P_2q*SRP>?=k`C+bL!B3{n^UX1lXi}L4R)mS6n78sFQ)4O2VJR;6`+kLQr;;)%G zZTv8p&#aVheOjU25sc^OcAJZ4Zoblk)o&WjN2Gt)i7pKtSWpT)YjuwX_x9<8r@IBN zFMn2v9L|0{eC<-+95eo|2lu2-`BI~_a?kfYSUZVNz?9O)L9LU%anwQz@f8)D7oX`C z&VW6@xz4NG=xb5)Tg?1jkf=~3Qz#nH!XLIFF<-_#Wr3_9X{J-X_{R{Dtt((q+i`9$ zs{<%E%HWTS?ZLBrZCZ_5MqPr@NFx*cyVYRz3*Ax&DOS4pehTkA#AfTDVDiAPA|>_zTK`ws0)Qg6T4gj5uvmph z2mvdM$dX_~QDESkSPuc%+Fa~TA4D*8kV!sKG@%+;1fNi1GQ?tuK7d>P8wNnk2L@pf z)22xsCHj0Hv$K8R+APm1Dl+wol%m9RA)Jg6mmuaT|d2p9YrM-2in zKt(c=f-b@8dZ?r5G8iXb8SMyJrEjW0MGOCF&^L@fD`t*JVud@ z_ajb6*+TuU^0qmZZt0sHftHt$_)w}YY>NJz$3m}6h{xq9EP*}y>@nhKWFVErlvwEO zYih5D#Q}|H>2&DyX>6kA$1#9QwStS|>f;UP?w;c)V)a^Y*nGEcrcU5vHMKxtAVqu5 zYO>Dfpn`q)W7lo7NbZ!F0e%IG^T^eH*#*(W^t+JJQaRtmKeEpg|3vH(wsf@%?T#K^ z*V{A~dq+yL%UOxy`|EIcHF@KRS*Rs1to*a)w%xMqRbc)1U*+DXbwp`elgrW>f?7J; z25J(k%M62$Za01CC@^Pop|H}95n;YwO3J=KiCn#d=KK6 z^XM4#TK~Qc!|YfDc2jC_Ugn%M-=Mlx6!+)QJnno)h4}OL%|85yB1NY|x!jLd zUhHZ&PAp;290ZUlT=(0IF^vsop=F(-j#X<$yCMwSRpG-F(SsrFEK)d-2V=3IR^yz{ zfbqSV`X<7?53;G;B1)XkLE)_tM{&ZmfjJgVX~#xJ3Kog~80z~F1Q_CfIqQOa_za=R z5R0pN$riC}cfUS#KOS->!Qylj*yM8RjE(sWn`I8k70Y@@`Vn1Gr%iHo4ST64lgc+w z1=Vq3`<1K4%WYpe{#t|v$MM3#a@q|TvwG6l?WU>~LO{8)`dd(FZiv!_!B2HWbM?!6s&?n2HCekW*&qpFLfmRYr-g@iWI$ zr~=71wdjKwNgn=44m>VEI>=nQ52n!KNxf=4mNxTYCoFvv#!=vUEu}<_U{2^G{vanr zgPD|bdzkQ4K|L5YV~k&*`2;&rZfe?-R_T34=Xbxzu_PgakY9nXaqNmxmEW*CIj9zh zTN;faSHF83N2tut8T}weP~fbE2fmYT>B?18&19KPOjpm1C~NznzAX8O`dMBx#Z_yU z`7^GSl>FK-La=uUB34@44BrtV&b zgU)p%jN@MuwE8A42xX7;MA3g@uWt%cJCc!qQ0mynt>?yJ^^B*+mWScbAxRITfZcfg z$_x5V4|^!z^$jT*(e`HyewC23f1fl0>Y!d2yNTwy-d(Bs9k}Q;s4VZGofOXcVR=wD=p=p8`oR z^82bTQ~zGj)vJ~%)jfx#J< z;|qsDkyX{&wH1A%(-N4m_(CJm>$>%oO#9v4Ut@e&7X?J{!H8n{3f8}0xVvk*E=$Ee zR7~)wU1I=tLI#=q5;#a=)fwk&wa@_FvgHh8k2fzgp&_I3^1XU#9&*KYc;^C)0CYr4 z^Jh}MbT?xZyADjBkzsV8kp5A9yW@*2U5+4#7pS4RWyDm?;O}|Q+h=$WdLvl#i3H1> z@?g?{cOKry7dWceJTW>|Thvzkdc;YxeKcM}Y29ETS)Q*+%WcPq1tS%X z!hLMZ2D2o6()w`}W#?0f-3hjxD62+hi!=vun)DCxyvRK-oWWV}>C#&pAuWAk!pnEW zCZJ$^w+zH5@4+&@!ryQRfR8}7_wKIt{axqX-rc)WA2qI2`c>=RIIC77Atf^Jwu-!8 z>M@G%{`vQ6C-}Ly$q!k}wviTG}1#EJ}e?U{C4)A|YP*vvXkA!dmF zg|j9{lj)^Cx zRwLAiKzG98Yqy9aHS_&G`18*GX56Jt0GO&GCfby=3 z=D+13@=jTi9R&1Ufi)!&Q34j)nkDYg8uD>JG9DjHfM-4kb4{ZD-~xaYc!mnQ&1^Wt z#3mIA;;_+&Vnt6!J#dbY?_Gj>R|uAyOr5|bvT)6NOv6VeZWypaHr<2@5EOqUD1Nw? zk)zfMXyt(HV>>t@e0ZxEo_s{|XMYl|d_cXR$NsY-7w=4|3D(2Te$YFQ3Qf|B&4{6? zpBEQT-aqKl6Y^ITn-iS1Aqy?<6l^wU^0e%L(hd#LA{WhwaDST$_39Xmim!zyy^uhL z$*MmTbRb>4oWwz|oV2kBzIUT3S6nbnyxzSfH=|0p_SC=xm+7{c|o%;1}* z#+2f^L_^mZd^%B2Eb5&#u%Cj8kabDofu#9|pTCh4j9qgKi^n&q%6NUDZ`;TFB{HAT zrJ39<2X93E`20Ge!}1ZwF~g13o9Cg99U$_1n{ME}>o1t^LjV5I!9j3?NXanTQp^wN z^c210Xif{ir}x$A+q{}^`Df^z{qwR@k6(|J25`$$xtx57{10xAAntgWJbxveUOE7t zpDRiZt39tYGdkOZ&GD-sIMK-;fJ-EeFIYP;imgD4C6C1+$4*Np&m>3}-nA;$w;nGI zI>E4ro#9gT5^4Fu)GK@B;sLznKGWL7ngf zybb~|l%)5&0epx$WEn~#OieU#GMN|gwGF-9vo_HRtt!(VzHraLhOE&~&rmI2_+9c6 zox}*QW7XontU;f-XpNXVSL5q`SP5|ToS6KJOHEef^c-by`fXu@+aV=@&Gu~gFsN(A zH8IRy&pu$H!1d;u-{`^{Oe*kC~#%5FTw7aY)2&j~+0C5>__GUT*p7g|I%AOKh$ z0P^d*yUL)Jr|oyYoD9XQFMA2Ua0KYf7BeoseE5%{tLZ*Koc+tMlsP@xI!E*ygzJ+$ z^w)aT8yuY!jZWua&LuN}46-5ChMSdcnOrV-#ol7m%6~o|ar_80JlxNk`MCQ>Q%RAf z3+HOQhZ584u&4?UWYC7rWZGr&Kk^LI01AFUqp>&9Yh(k8B;9g=FC2(SHeT$oRQs{T zkT#tsg(XR58p$s*Py4jO*zk`NV1s5ofJKgLd^j3aa$;Acy!TYxcLu*V!py^tCm~31 z3+Uj{K;*Q#u81mGP!83%bX&kRakILx_RX8c{l?0RiiipFO_#SOL1y8q=#Tmi6URrf z0aJ1vn|8`=V5Q^ z`&ov>9J?*Q%DL(i_k$?e3jeL&Oi5MDCN>YrVdaXN%ZRR6y zc%4`M=3?PE_N>2vKk@#6%hAOTB*hLU)Wgo1u`;Olzb-dK7Vj z(02~DEOK5)VwcFO;jg7Yv?1G>8|0lF(?k0=p~KZr_&Ssp^~8scS_SF7+ zIJkT^8GFt99Z5L&K8B|*5f&Oz%k6saRHv-mAOD`7b(R+bJYaQp9AiEoPg1N|l0>!bS9$hFL>aPA7tJkQ(&{x|(wEqcpM9w+8P@6PvDM7RaDv>w{-MyJ zU&4@5NfJKwPxjHJEXs*9yw-WZrFH@Ux8Ey%&k)6rO2B^PEByncc!2UK0~E;drR?jD zsiy7x9$&*Q5X|U!(|32PqSV#CRb&GO6S6g?G5DAN!=3MNqX)ZzWA z+P$@Gdu{BM4z;V5x%j3QIrY&M zt3|;~XGYv?IO2DfV#cY--ohg9F?ECuwe_n%IS212u$c)I90=}y-Tiff^`BZi?O*@G zaY!Uj8?dES^P*2)Ec@ZMhxvS&T}4sw{JpP#z%p3$Etqg)-a;-bqNnrcKYOI>_SYrf zf*Dmyn-cGChTud?WD?e17DrrrXhG{};CRQ5DiK!Paq?z_dS8qVzzI+90ZFvFHpX1B zlezldX2{f;o}4{-YvVsVe4%+|wOam1{iRfJlhcMP0H`o06&?dmBFFC4@1- zfnuh^1g1cf&Xm!TI%D(8MrDVKUoTLZ3pwIL#DBNGZ0*q8vn!S*gc(;jA)=(!$JNJS zHoP>6qNZ|E2OgFH1B&9T_MxY|l<>ZYn9)%+ zcJpW_d*gSS#KyS78pz#s{Bq$}&tr8bQyUP8@Zg}PxvZ%PNA5gIqbS*dZ$kKu$#DzO zGN~-TVx$p^IiWK?BS4+w2!{x79LeF8|FtitqEO$-b!IArK8~H*A%Ax~$|Gn_jg8nH z0MPcnMYZ2GfQg8osN4zJjlBPv#v-2iQRg2+D^4YVLA0yU0g@&_{cxWZSNW31YR9zN zwsm(!Wbb}zyCA)^mg7!2IHcILrCRnLm)qNz&-97kHANf#&VJBL&W`h1@dfcb@`i^Q zhbVk%9iO=my(wiHdt|?ymV(BmC9_3^rSjtKn^h{UP)j+geLP%Jlrd0095QlBU@tZ6 z0)Zl&7x1C!yR3RjmrmIX*;}~4hEPD5vMe!N+gT&?r(Se;wBlQr?qPPJZ@Us4xz$8{ z8a7|H$0!HNDG77yjb>MbD5{JO*haA1-CQ|XzkZ~bra~p#N^8o;!@b04<;=@>-)*$B*QWElt zVz4n)ed)a)_rcFq3RH_4ae~gT+jBhwlKUQKCpGJ&%F~wB%AhB?#fY^OYvOabtx|a~ zjD+0SCvv^kA{tEBeC`uD2`_O+AHi5MY|1wE8Qu|6lS`{gJ1*XO6QT<%w2 zj^?t3ts>*dl(O=NR(0Kzi*eoz&0|TRptI1x-s$ph8WP%Y>J=t^QiTRt~=}E>?cn>QDJ+dBgJiqjAnbCW)Q2Nc4Hg35JF6CFR9Y|#jJ6?KmB_2boF$;()5zo+JQG)3`w ziKMTGemSR~mySsy{I5;Ik||r-Nm;sMO$WXWzbbFaaWRdcjW-!vEhL|N1k%3bKW&TS z%M0Ak3XO$j)L7pMqf4!y>IG<1gZt$TjE(3-{6x3ZLaAC4B-EeE@c zrsL4rsKvh@u==HSJ5zA3~&ZlX(WVm>JiDP|r69B&^-GSC#Z2#Et+fmR zzn*_MMJN>Cw0j&fuyHc7y{(bY!gJ^*o${=(ju@~sx*hBRBYO%7UosxlJ(}51XwCo8 zUywu3Fm9W`ad4f>zNl`mLf&4>D*1}jJW`Jf<<9lraeRE7qCV>tA0(vTFgLdrj}IqVDLdqE}{z2Uxz!a4G)`ZJmjbsgpeVXgnG4v3N2oyRBz`94HL2Ke8O|n7h7%adFuLt9i2KybYvGMK9smwcXS=N z495%=69Vb>?)S0x6SzchEdOCt%GoLI%qwKzVm?o{f-bTPE6*zgN4M67Ho$;HUwS#% z6fY`Lf!Thr)sTO#Z(>y(Gh(i8fn1`&<@F$opraR!^2z31Dld9=rltB$Mi0Xk&AV16 z_~%1!lgDdGuT}hj5DF&>ENz~+2AsMbYAZaZ8QVi2bA{Scv#({rK94Htz8JWYB!s8p zCGlQD=a9As<_}ptNUDhSnDin~6q#b@R}u&PR=+0I znT1j+!0r!%{q#Nk?=s=YmfCj!1_*CP+P7r_mY4=#%wfSYVH5yfBdt1W2R8bHq|~gG zvt`4JsBdwSgzA&qnoKrmc20+HYcd&AdG5Z=^)uuZsh1CT(F>y8Zezjp@Mp?1M**=F zeR-l5?AUa^hviR~pt*O!F(hX}E}x(6G)*Jo`l!Si1*i-rUOJfv+7t7;q(qs?Gkr%s ztf4&=GPc!X6@XG*v_}sgnFan~SRyI-AXxp9EM0FYSR|&Yz-fDWQn^0T*K8pTk`^OBaz;@;SgQtac zqP$?cg{Z8*{|S2Ek#(2VnF@-FZj>I5EO3GOkWiN^(F-|b$ZRA#;MGf45Gp_-Q5v$! zbavKOf?E0OnIg$>5iF3b$k(!t;s)i`5xA|;GuJA(t8g@~lvSE>WKZ{4_nua7L?|VY zN}h@$6bIiJ7fTrnP!}>7-4ptcA^np{^gz7h+<{atP(ky4`V;Z~k?Mswxwk_nO4Lb% z^4(m1H#CDR(OYN_8HkjJ2+_fNqCm=aILiEn)(#v@Jl5Ee$`1nvcahfC9bYfu(&A(^ zc#!y{EW&6E$Sizhob1z!t{#mRjE{CR+9AX$i~)p?mqkbzNmTSRob9zlNECql0UhvT zC=d`vm^=HsUo%+(#=#;*c7Pq9fQzG?uSZHP2$@!N-`3>^;sp0ns8M!>ZUE%v9p~Oa z3OKdpv29p~KjNs$M_8>AXe$E{B;l8hnCKUvBy3pnSBlza@V!^aoKpeof&W9(SwA${ zet&#}4MuNtvyG5uq?9_kk(QRxT_T|ZV{}S4(jC%e&`38ZAks>!govX1@_e4>d;hRM z;JokGb)Q}5ocHly73Fm7K1+?{g+-97!;K}LtUI%1^U5Wy+$#N~7uSP)9u9RoC83Ku z@Vn?5=7Gt7EQlj^c+wqE#hRm769z0CT>c^bK08gL%yedD*A$9t*UqFewA8Mw&UyKT zA!)T;*N#9 zGLu!J>ndE0N7+-kcx?QC@68iA!55lcL=RT=@&{r@d{{9{S zz=j1Hm}#0bi!J8~kVY~6Bwx(7F5Q;U+z;mNVd9~MtM&ZK^!N+U^+~J zXB_l$M?pE_J4z)!k$pEqM_etlw@w-*N%^{-g6}#QOu!8CvC)q?aFLjZf{NtM@xYSd zDnY9H<>j~p(F%LG(@2iXNv^6C6Wx&Id!}Z8`c2spG@*AR_)$)c|%ZiN6K>V`(A|FL-dH;5qflJKIp} zWu|1gJ^h!(Co!YHJi9FZJrZWjZdq0$rWxVyXpI!g>o76?(p`j6KomgIqTY1n5ie;8 zke!?h4v$kX@%$NFkvgm%&6OUZ4mE`o(>bZlOgy)<^mJwPrfZ^&MGJiDUQC1nO|1Rs zFkDKXIZ=9vw%LYNb(;keOX}gVKnzv51T;=u>_L*uD&`3JureUL3O0_gAK!$ z$SrF}wlZjg-tUkv-R4y_~8V7oI9uHD6~nlICCHqq1|L zJ)Bmpw7&O|=;-z#(Sl-PsU^w!R*Qe<9SRqI6_P|EFPdB-H=yW6qCd&puHw`aG0js!sdaq_zpHM*Ro`=D>eCl)7f zGwiesr)x_#@1x!!?qsL3rx=-1$_2jN_~6i9Nh?ZODEh9!WT*r3cGv&4uwIBLW!V*!Zx^**<&4WlSZUnZM}Du|?h*HI%Y?+2|EW9MMs<|y=3>gU%;W;NISCGYp+^0j;GpP5PTjRrMHO6EKpV?nN>|Daq7YJtL+Lh!QF| zV4i&2FrFa*#x9B9Nl}Q5w8cp$)AM6anOWkgV@V*BsT7iHMp7C`gP1li90DC^uz1@o zMS0D2v;t=a5(?|w>7^&v4zPx(^SJP52z>?v7f}>7B>t32=PC z0Y1U<-YpU_PjW@kyGP?R!v;$n`#^Lrlbi1*@r1#RQqHCJ*whqIpky$kizny%YEJG5?I~Umz+VFx%Lpn_G6150=~0U z=dDkDl}+(Iyu2ZARec&$P8dsb58QZo*9di3EmZZ%x-gpg8G?87a9`~;pOxhfl;Hu3 zjh>_POxE^&&z^hSA=Y~fcc{9PRvr)TMvORlA5m_i4Mw`%w-|R{x}HFT%l?jEr5wVU z)QS4nZ;}^REtAAGKGevOqeIZML;UrqKPZR-(l=%(CAd@kzd-+eUG}d2L-L)6Mt3IQ ztg(crpL2june~Rw4sHsMG71`YIx>0TskQ)sLNc9xRDQ{>%mXnV$#xe%atUaljj4pM zK3s*z(9=*?=+0*qQ>h%TJcAiU+Xm~(H*4^x77<~ zO!FG6){-Rl=qUoWwsp_{-l9b<3*Jc$M2x4jFT{*&Gr;=Yisf<3=U}S##^34*x0_GT zxKjvhK1fiT6lc9L(PP0afilb{{A!T^@Gj( zFo*X)qCNuvHxa*%3I@gALvlJIAzS}2)a+V>CBZ&>|I}2(T=$r14pOlv!hNZt>n0s` zTf%t{#`7}@NG4}9tWOvlBFslVEKPYKz2y$~VVLT)_?9K`zsV^)-sD0cWG+_6>!k~e zz{?-eZ_*8vJIHr)tVz-VAP5L<5MxqAq^6tmA&J2$JYlC~URdY(LL}-ZbO5=D(TKwy z>kSu&6NPD&*@_ala(2fcxCIxE)*@~6zWLEwY@H#~{GP=Nn&IGLagbi!cv@X=evDZ1 zqLAt6v-eGC+ptmfR1GmkeN3)mb|dPcRdpfq~S$DPG+!vR!Vx*@dzz%SR zc=+eB^q%lH_-~V8QM&*mzBB)t!yveZM8j~+)6^X8c99| zj|D`~2&x=tI>LNjnh!MR%Q;>I26s2}9tM}~Pc5!!Ed2OK% z;(sjmu3K;lDf2D=BkZ4_MKFnxb9$ta?QuK0>rPcINr~FFqduyM0Ed&wf-63;ff6`7 zxcyDFntvmtx5EkO)_483S+YA*-24#;^_c)%fEA#r#dauHbjvLvi6pINxQj`H8E(mT z>{INai)kGV&>`-djm&_oN|O~9q%soOj)W`q<#+mPS|UnB{7}56`Sy30SX)gKc@3T# zDnVC-C5ER3s_Yq_@Uc9+{b~4%1}vjPW&QD_FPJ&L_xbN_6`_Vx(byW~`?qC^vgL|# z^cnVBjqlVXrJo>Ys|@rK8P_Z^7b^=6U#wE)(=yquzZrz3NZ^!T@-YgQ?8g$F%%MIj^om1$0_ax|k}d+MX7wbvW)*P80+p(Njtd zBwZkc(* z$keAbxqviP$o+6*iNC#dLh&(Xg!pS6{O)G3bxglPI=RipGf-?a&W>0KG(0fhQ9ax8 z`l}i<>s^kj#?8p*XPu;fH2xE-@W8Taa!=IS$7N2L{du?YwpTdbp8jeBV0c)!vg{R} z#@k+6WQfQ!0QZtT3N~$?2y_ScN%`4Bc;bbUK#sI}8bvV`6!o%fFW#3^v4tg1S)@k& ziKuiDl={N%RXE(bzYt0T&XAC}rx0M}5<^3Q2{9Sq5t(ls%B0)3PTBFl4;FCoSAHdS z@oPRu$%9JkVN8p0yYk_Y{?P4=fV<}}SsXnLqGW%+%kTAuS1vB`s|V@oe4u+Y_Q{cQ zy5Sxn-&1N=fKnG9_l!VI>ihh`zm<;)zbDsjnV94N=NiZVhx9uOMQh~fJtj(WI=v}7 z!_tMt)r-)7gM7VOn&Fzjw&cjC+$Up4fg1i^by?Dn||z#=C= zOZknTxICnJFnwFZnoK>Lr4eaEz(V{oY9h8_UI{a|bn)9ex#<@3cs5ZOrTRne8@Gnr zYLBPWB~A8Tuf%_HHMdkacC9Ij8O$F}VJ%nu8T0L229)QfdsFi<7&xBi1JzRs%kJub zp1A$s2lTY#t|!m0r8u5njhxMOVFaHORaaY!cLR)$pEkQJbn)bdAZtTpAI$E?^^oVh zRC+%CZFOk&q9ucNBqPIVOe}uDU+C4JxEWzbdQ-VtMpw(ck9H|ne%);0bdf)mN}ReL zr94nG5}CX0kivo2p9{STD**5$(}dnwrCfJkF9#*0;AUHURcAT55XB!8Qrbic|9g+W z?5fq6JB)Qr6#dgK=bTdyh&6on-py2G1U<=Yc+)P&J^4>AXN3`Mb^Zvu<$T@4Xp$qi zE&*9sr4g{~4IM!N#MSaMxV~bj_7&0UAUUofJv(o)YTVy<$!~O`$b?!e=!L_MS6I~^ zaAUN`_{TgGYnZKe1s^}iwUZbUHKYx4Dg!2d1n3QMDY6h;y^8sT7x6bZDM@v-VuIM} zGH)v?l{U|Pgfm;e$sTJp=o!E06w4OeBRy-3ioFkulU$CQJOBQaW;ck~1J@&AP{reK zK^l0Zu%~xWiUY=n;G9A(NO$wgFh>g zRe6*`rtGPh76IFvc|5C&`CTi$5W1Gzod;-e)$o8i80+hmcv{Sl0I8C{$Zqw z?E~Vm$c|!~3Kp%Mky_OB$@cw_={7KX-uG^=LX%_Q{ zJz@zRnC#~7?V|CHqxRwb`=)Tlm17l6VCDi`dc`l9ng(z}(Lf_plI`GmcT2;WxkUR? z5nJni=@Q-$BLIrg)Fn|=)d^II>F3LynN24a{&F3|#I7|>r;ONOFv^a7RQ=RZH0v9R zFFGcNv74L*%+2Kcw9Wwq_wF?2nV@5|D zR=(dAu+%TwX13X*e}~mp4dfyhl6D?0S7HqQfddQ`QMS-4L`m&tZzTb^v_5D&>AEka zcbv7H&QG5KGt9DN=4@s#&UsVj-5NJp9mMYHjiMCPv_|uLg9miXnxdR`9%(=-i|pHk zElc{(k-q5`7oF`3@h)N~Vp3hSzO3}qWKg27VK0o1KIYJCkSoyae|n$!=%|Z6%-yhz z+4tN~876OR5neY>jf_39d9*w0p+af=vgFiI)8(N4M0&uJSc{&!`HmS4&0-~zCRy-~ z)E}QHk%e*-E;egE2BbRKxJdr@#;$aN+k2EfUw=m3PA6$IbMGz){THAV!Ha>{btA*l z5|H{Elhd12&T#}A4+}Qb3UV?P)2?X&AnP43zB?Rkm~9fZy6nN2e-2bVn*gB4W+*C~ zWnKr`8@)DGUQOuWe(PtO0Jm37GxT?kc(+CsVFPcjMVF~uDk(r?sG>qhjWmYI0n`MZ zFBhtmB6JY!MHpL^I4Q~;yejUx1)@%k#cGudfg019xT_ zLLzquS~W~59_244Jyw^9Z!6*nqerdGNnU zL-D5%&)g7G-WvroCUzqDs}{M5g=*PH|A~U1!5a)OTlzhPr*{!3Kg$pMrI2a}6ZCL_ zn4&}m{*X58= z=dGjT*y%oHxL#F6?x;z|rq_H*YExS|up-Q+s#?_PmM7YERxqqk#m?I>(X`OimQxuV zK|ddJngWT@$3qRb~}p$s!q#dVu`?1D&p@}vz|bR3z}`Du#N z;*RVy-W)vu0RVxZW(&Yy5ys)K`EZ?~V$=8VfBmBNe6M?+)p&3iiTumO%kyE60bLsr z#(c8t3Y9o#sU3jo0T%S+>R~3&S^M0q3{a%>!4Nsc2=y_~yyp*z-76}}C>Kz_**^@S zrf0CD-=CV^{2dy*TSw|~)9PdY{TTDlX9&`=KS4vrMEKYSQj*(0ft`vO;V*5wWv-LR zWo~}%aKw-7g>${l^Cggf6?d%;)oV0mZp=_c8J{o^CB-IZP8MAHE0{eTA!&I_LAPQ# zmZ7^8Uxy}0Yy1+qChzX%VSMgB&dpJByf|yuNG+eGvlVKs2uhi{r+S9!&;{A~y>wXR zy?SE4CDAykbpBi%g%K_tFk1^nR`0!VC*o!n&yyK*>W>8JU)J!Er3oP$-!9DW+4u19 zBI{XS3ucm6bM~`a1sP|JXMqenVdNbuu*XHFp8OM0TIj!hdcV9S-(U2`7LNkIaT&bu zv4~$C3!K;V;%=R4b=`vr0al8tnZBp}j7bu-DL} zTLwJ2Ux~pcRS<~Xvd};^W<+@MQXo7fO6hm(i;*xpVqr0xR!xKiJ?JJ!kOYdt(|`bT zvYfS0(7?D~dn#BcJaYUyJw0nQZHl%&&_>_>*f;>r)E6pR(o4i_W57(n|4bQC97Uo6 zgAHgRq$8qus?1|VR^zOG3{IhWj+z**9#3>*CYB84Oa}myGh07L>B{^F&DhOl!Et52 zFWd%W`92to*nAc>{}S{denwsz;UEYvx`BpxGiQk`C2I-<-*N5xATJ1g(4eTRV} z0D;-OQ&N+Js)j}-U*uGdw{9zH+>Q*ojrX-^-&#KW7K(TF^zCHDET(|hWYGX=02Tg^ zyBFT%Z_UWJCU{KgwKPTU6r-1mKM&W&8krthm_KQi3feisMnL6*KP1QU?!BUK*)3LQ z_x`OJ+|;2`b63jMQr3PnI>)P{Dj#6%;XtG^6o=tuuEwf2#c(eF!_cqQBY;-slSQ{D z_f3u6uLkIL=TI3JD!N}adjGT>Jkz7Q6V8dY>7@W@b5r9kV6mIhpyZh37$~i<9Z;c< zh#g8#=eYY@b(R^u$h{*;ict#g3TEecG9dOMNcD!iPY=z%ok$YN4%Bd%qkYT^u}xll6CX0I;a?jValJIQ_;er9CKrg{d{WcXvgT&#R5|PG`4ZIVz@MO3d)m= z72lg5-bra_8{1YNBEqH!Wdbgcj3elc z`m<;620;@eV3A1SOpq)iY6QdQF^AssQTIpC8xm0xl;Dzn8CY_N zd!Cs5R!_;=EqrHv&haGG{6k|wZn~!4)|Z*pkD6!zfS3!Qk6quZeL#ItP`qUD8r#{7 zai6MlB=;FN9FBzu{y(kwU$dmEH90Plp9Rsz3ob8GI7uUGYyd#TViNm`!e01j2~O3Q zi1A!jyIkKJCb9o#o;^K*QJE1ETLOpoT?Ps=f*9B-Rf`%GqN9pVbIHJw&n6y|_mNC& zNC&b`TVRnz+r0{UGs)7ts&t?%N&YX?+0?2&+cCtn%qGi)%s1CS{Rky(1%7QYaG1)C zX)zh>1;+z^<~(=(TOY8q)qNX;VH+KR*gmMk8iLsrH-Z-c+Vz#qnKm=~u&LN~#0tN3dGsSUL9<98E zW~pRmc!b2g%yU05Sz-Ws!ZY-qnWsge1f6MdB>q4`^+Z`WVrH{QVrKpUb+*S0(W=k8 zbO)}bfln*J0wMh*Fu|b*jgt>Ed(l=#t4oZ7pr~$L8lQGJDK~J-KtFP)IJ_UmFUhP6 zj&N$No1>Eu+;ma})#v_V>6%}6DK*`!^$$}&d7eQGFMUfAPq8X``n{6pPwzY z)u37(N6Hr&P6WKnk{zT`R%0AXwj+$wZZv5o0qKRAD-dm$mKLh4{HaaD&L*}#UV}3u z@j~T%{83#CXw{+?m-`d~12dS%$&Kl<1n0%er`8@xzq>D<-|gLMAR*n^lypj5&^T4d z8(DR9OU-kHiY?{-PK_c#bdKi@zEFr9n}9{epl9|54uWk*tqlocexJ|TgkdHK?MUsI z+`p&vo7oL{><}@A-Nq3nzO<=<8s16lUC{GYG_e1C+u^1IgHG0nM3K3UirI722+1Gy zrsJ8j4Egn@X&x?EI4x zzlC2{l5+P)=^B0a!fJnvLK0Uh9X}jEpkb@|I=Rwe;sQ!Um>e5Wc-pJP@gYbibSKs? zSxF@#l^}r;h#1atPB4pxoVRrXdTGF~l;TSkX8I)P+9D7*kGHeK7T_wmYiz1FMTrTQ zjihsLDmsQSpNAZ7^L<;3H64QKjAs--d5~ApZ>zHjWfaVovv4^1BbrChTFDG2!e!r1 zHFItn;OuG!R~&Q$uxVy$PKYfA^*JXUpJRXKvxD--meTpCh`qE`Eg_z!>x%eR$H3Jt zy~7N4#{?Cg^)5kDn=GaT@ptuqnRRuCHm_)gOI(_O6bo4@1x&1z3{LPfdQCiHzMp$vNk>trFJ1)DS)t z>LZrmzlP^tQ#u0xtU&w^=MlPPwzrQIHEo`|^kkRtM4|hr$4-RfCc)}|ywD?|D3DbCHFa;FO^fRUN(cD}l4o63^ytHM z*;gyCC6KbRI1|vXO2tysWXmLLJUx(yRge3`h}P{-0&POPP*$0`v?P(GSfr3%i+Y87 z5+|9AR4mva&lQD?O&$CwY6GaVr3v2wivtW*}MzFZTiL_{2wmm z3QN?xD)o3-wS5-Ssln1%=G&VIgJ^;d z3~5VPL-C;OoQpf z^iAR}`G}qrmgRL(>b?BiQXT5{{*^}cY6d%tx2?p-aOaJi%{XXEqA;N8y~}?5FN|C0 zmQ(Tt|DZYk`a_=YRAKx!KKEaaTE&{-l47zh6q|g~q@+514=ftxj2Itd0X*Ti_*J_9 zHg0b0K^-(B8>y$6mx*}n*^|g2uSY^Y7)Yj+^CxHtPDUvE!7v~#A>Le?gAFC`?78~a zeVA?dwV9=awnlGoc6zX&+2I+G-W*l?k5|bfU$ad5iNDMJm}7 zG`f(l__L|*H`5&*_K4Arq_zdHfsoqzzF4V}`J8gkiQTt;W`xna<;EpwTyz^{=UCf9 zs-}gD$AMIECwM24SopOSne}RFd7E&YuBMIu=eCtVOAp{n-bJnnUv2{{s&OVTG`U=3 zMO!8P+dm9VG{<5|te=@2-jrD7$X9wmoIQ@1GmH9-9zIg>gKHEmwL@i@x(v?60qki=FqmWErJjI?_k6K z?MQdd_(QbOEH0K6bHGEKKS zU?!1LEc3a7x&xw-H8NAM6=}4u`NBJTQ^=rv>e^w^*&l z%cF6N(mFTu_R_9_G}8)pF!$q7#KMSlJxq0*URV7LW<{Mz;n8Cpq3!`AKXJ4^dOdP- z@_MXN_>lwO*j?blD^X6U!-9yLUB`HwN;$V(M%TRyrfxFC5E~4iTsbBXDAF=E>eUTojW)*4$=Fd#1&$O z*=5Wdo-2?CXV2VcsD4(jmYk`95lI@#da=*OfFtsc(IQBpI0#nhqnsQ_G4=A==>~g# z+Y~iy>j)y7WIS@&|LBr(S8sS>r;z~GZBPQ}t|uUQ;q_IOE%xzY>{o(pC4gKF9e+JV z2TP%hq@ZVA{qyo|MH~m2!OsXqHTG)ELcppBXQaKIuc_}t+c<@9ewA~|9Wz`v@dYTu zjRg7C+sNw&NMkwQD96C z0z$)dV=31-U?BK$?zPS!ES6R%!rr`Wox3Wb3`g>ymEbL#nz6ePvJK1krE^)m`+hC& zL$|A(nR4dSaKtz27UW2eeIt$fnn1_s(f){jwTITnzHkHWC()K@(QMZmT|Vk+1{0+C zZDOJ9WC$y-DFIiG^Nz%GIX?XrE_apv1Jev_=um5h5YJAG7s3ER5wkccmt<|(qkiFb<+XHXH7dp08${Wq} z96Z*kKmF;_NgO>Ze|&&!x3w7bj5(nxaC%lPt6Vo8EPiL=LV6Z#D(5^iAUN&Hc&A(+pwWr*Mbir z73|51F3-x3b@!-OqV(lEKKiLVq-W|%$Ys1seb5J4m?-02N^Qtz)kff`X#Cmdo(YrF z5R|; zD~Gk;=O{Ukuvg$1`J6x6_}jK*?Z7x)g|!am4^>YPeZ%l)<&Q*EYgr0C{aNYLbO_51 zp7!?*2oMf#tK`4mZvB2m5d;24k6eSJ&&+nt>tlU>S1<8LKd5Zzt>oLLsxSiFbjWY| z0Kf|Ke+#YN7W$?hj=QZI%%*ExC_)#+WD?oFhE7lZ|0#vPxeY}8v%$+f0A7nFp?`EU z`oJ)vn9yAa;k@)TyU@^e6Y4#0c6|*cSu2x&htO0F!qHh8aln?)M13mFX&EO9XDnDO zuD_2&FeUxn7sIvWFksV+=AO2}aW)rwv;ur{eon!+UU@JY7?!AJNDIq`%XcaOKZ=ur zl*t)ET?+dAV$qXDsHXlIHmj5@k_^IB?j0QlECJ$lhQNqXK@px5GZOyuHTi31wrwIX zA)&@l%?weD_$E{Y2^Aycesrfw3_72Db@Z5@VN%NCHAv`*02#_$$ra8J3+*!-u}NGW za*r)m{=zs|6LUH=PR%Q8vN1-R0-IdyRlc|{I}^ivzgex1Gy5oRu%0|cC$6kx{LdS0 z$?NnIB&3;30T4gK%%T^T#qZEtKg0rxctj6O!<8#FVM%=vn~I0V!%s4w9@9RY9IYJb zQ`2Rvy)UKcf{E(Pjr@kK$b>~oM3mbLK!L7`2v?#v+IK=by}IREJHUyYS5C$WRsFJA zZjGd&Ep5AyYTt5lME-}wS9(X6yKWC&UOv*(DxZ@7*fbve=gUK?1;Eft%Va%(BmhvW z4pivn7#CL2yknPnE;qdxgEWg5jZ^X^+@+ex(BOO_ML8 z8P>fYa{*-)bh^qx4H^04`i1Q4aY`g(FEk((b*)UIb$wGa@BvHv)OO}&FP#$OG7UYf zo<>5$2Q3i~2kN0K*ur?j5+KP=!-Tj?lr#Pq!F2YabW%sx0#N)yV%S)v45$@%*ylwy zs@zrfTvm~@KRq+&;k`N!!F-a6{5M%o2WMCr1XV3`8)q$RzyV%9(w_X+a}B*i%~k29 z%9V6=3aM2Qj+qSMyiuI`trF=SiZ*gyMK}%xjb36&5}!Rdl%{{8 zN3JnXf=sm=Ep z3*;ohvh=5E)FpiyWTa{6HOr&$xnHc3pK*(VPmfq5ARaVfL0%!zgMObzXllk}PeIW> zbta3W-^uB$Q1|${&h$adtdoF`-g1f>%_lJ`szf6xKo`dnQM@lfzNNC52W3{0CMk79ziue}+~vS)$$nt{h0a^-Iu zfVFPDaExNg^(ZP^%^(S)$wyyMg_n*u zv@nRw*q!Fb&n$JxiH2y9CW_(kPd<%3&O>MN*b2)xkUEWgTjr}^ex%<5JgD8|$lz_< zXIBT0J>J!`E%FqVbu!uh8#Aq$yTia$(*_7dz_EZBKm;|6MsYWE&#)F>Rs!rO#ix{o zJbRyoKW-@h%zdorjTvL4ooQ_RImkd&Bii3 zjq(0Z`V9Cgs#c!W?g7;HpIBCWm$RW2hPK~@6aQP5zh;ih*Q_%q)HBFJsdo|o* zb3Q{C(`Y9CvF?m>$S$tx11V(z^Gh;BsNj}JlC7kf+w)~Ps=*w@sN{W%7(}jdljXiG&9t93a(o=ww%hw#EX#s8 zmdjP?QN8u6J6@wFRTs-4y(ME*mv?`u1Bw6;AecB`B??c^4#wO+_v*kKw!l-9$#{_p zLxiBfd*OcwIZElmDajj7$o{C zr5g?!iqkiShY?6f5{Gxkk_(9XqPKjC^s$c!sZ91E5&tmsm3b0C!u4p`P5P!?PKTMC zR`o5)`1f6*r}lu$=9+6bq@dHZ{&5^Q|FODTR}?tWnvu~QRf26~w3O(`dwYM<)TO8b0Ip87P zcZmsSYEgNni{ zC1W(6rMTLy)g7seyEOv$(EN~QGkG0PJH7yLn}*1~`J!k^Fr=#llb!oYl8Wn+sYkYi~v*#XJ|LK<;x!OM*_Nzjc~*`+J57 zstQisyx9sN^j8j3wi&;WDU1liSsLi2sZbD8H4o6xp}hOxVRK9hv4Bd`O;KCt-jf_0 zf!hlrO>!8ODj|r!u0EUqG*m{|+q;*sQckb!fCDSgfnuq&7wcr$LZV@!SaiPX^xNjW zQlgZOdiuy9hMUeSDnd{~A=W7sT;9vSup%1CM$foiKMNai7wh3dtFMGs*8WT*8G{cx`=?!Q&9o0o+7mMG_QcU!=Vr+%sDJQQ z%5Ss!U6x`#31Y;UxIaM#I@pQ5LTd3`nL~* z03>=bQY;x0Pv6KbF-(ZVkp=NE^4k&-N*YJpU$(D+Qy}TJZKrpQ3_?GY{Cv8a%J=d% z8p>$vh=ZXZ*doyan%a2+CRQqT0hdEa<%YxvDK{CJD*H})!oYMrnQ#bkQs|bCVW&C~ zR_f=>ZI<)LEc`L;s1jZ)()_|GcdZw4=@)rv8n&D1a|YcFuMMts z$&;kT%zSMcXEzGpAwCqw+?)PgF8fDoOL+u*x6*X$bzhcv{e^QnJX^fIyeGSh&*mm| zfCI418aF{!!q@y_c$&LHXv}FEE@~f%vk#yoXQp7PPG$p6|0e?e`mgL6S)$x$I$fKu zd$0A0kq~F2WWhk(QX3i&F2x!Bxmx4l?ZtRL^OY#g3i8-l11!4gq4sCBJfl|`;t#|u zcd}`aH!3_iwckI_cBrvI9b_n*DjrafQZhCU0I;J=;2+GO_L6YyU9YE63>(g);@>Vg zkL??D-jSFpahWXW5P)nCHGm>Mm`vHYw!v*PzEt@!rfE zVjzl-WDBC$JKF??9FxYLjjijK(#~m}`v|R-WiAA+OQ*ucogdmt`ut{V6AHJ<((dv9 z7B}|t>`0X`_B+v(e8kcpf{0)1%M1N~$nigvdLABqKBb_= zjl8;91bhbX)U7p1F#^2*=QBj1*oB2$hP?l6CLE}r$TV_urNDEw{=aKEu=veqh-58X z?YR1OT3cYv;Oj?Ao1Rm&jHvwAM=C4AvLbMj9~LD0bXl6iBooh!bK6uKXAqug;vXB; ziB{$5VB)Y-yYeT0!@}c=l>peHQ`?&oKG)yA$VN&5_6QHQ(;_)OTN1I>oI!xOzfGG$ zFOR=^{UpXMo?NC1=1_;=X6pS;ZCT`eupv#VK;C_S@UVk5>#nmLJC5EtfJ=l;+zuyQ z`SF8&V?aCYng&2V*6mRs`#$pt&V~J3?9?0eR8)38^ST66B^AVD&Mmg_FJv$wX=&>; zo84zSNq;208@Wsajvb&4*vt*e%OBng&p!~9xkaFpw4k?`ScNo zRnJ_nv*mda`M83O zN4OVQx!`1;g%B$3?whTj5(CHuUS~+h5F0-|j7WJ=)N-V8Mo*V+SUw};?I{1*?f77u z4}|UfB;~RoWsQk@jf6;8q)7Af{ge{E1{7M9hK4ksX@a%STKF?jAw@Uit#g7e*ouJJ zIZLnR=4>7Q$A$(%pS{@OJYr)p0N>dB$S%@5_n6Hknq3A=iS%;Nr4uGEavpIgN@9%z z>AK`elZzQyg{Ad)G8p~+)|-Y?6qIs-kD{Z~Of~-O^0(;ltZ1n-@bIoN+e_^kMXyWc5AzCvaSEa^Vc%aa-h+u>6ICsKq%f=OSb&vX%@VTF z19d&VRRc*YuVh5SZ??$w@>ZG?vgC>2A3gl?CG@T#=U%%BlioQMb@ZoK!2+)?{&XAu zE5Okl?=2fO!2le8MjtO>rXfy=QDZy_OZ1SrM?z!b^0v`AKcMod1rZUeUKOO6hW<5W zPhRc{4;|}243(_TV@auRjDpQXMieGiJOD^*=h&Oi&_)k}rltC300R zEWS-&EdS{{Brh>{t!%D868jF?=0K$dTlMBD%HSt#=mlyV$Eynw{`F_37` z<^2Bq9s6&z_ps+rhfGLRJo4#_itC?ZLG?-QJTeN9C}SHUB&=pxp_3mxrap_)>>>UrWB@$5^GgeXQa)cRlYslLhW~pK3`!&xgcZZ3l4?S!&wqNma z9?G@k2cNoJ@zBBg-59nLPUF=w)mZR&+@tM;EdGY#!o{k3JU*vQ-SPPU&oGtH@$1;o zKM@d9IM-H0XnJl8EvIFAKhY?q7Km7%bOHb{0Y=QF>Cf$n%o78MNx}$dQ^KMPgE0Rv zw1Hj4l2(Q+9Gc!XRrg@#hiJSN!u-)cJ`@1_Y;}`|Ctb(l@(OvK8-0K&q>A45$y^H0 z`3cC&&nUAEM$FVBFc2kDreCo+&V0he~mg1a6-qaU6<^gVBYe^w(RR`SnxUHgf)o#Gun*Qt@ic84*M``^YYR)Ue(Jj`~M_ zy6=e8*uhg!@;6MI{)~du#}$gSW8%>V{wESY-q!vfQSTMjshmB z_N=|uZwKl`^R|GlX9hZV#%!}ynhX{y&)|uE@oaNUG5?S21_vYe= z;p&K6PrZhln`h}qog{5HtNYLY2i`YV&F>Xee8ZQtC*H`Ax_uj!W8^g7WfKOG4);rf!^^OdJkeKRUFhnFRXLI88h*2?GaaT z-AQN|SUZ|c$XZ~N2E+h))`-hSpeV9=_hp^-eQi)-*a7G;g+n+e=c+)H{Nx}`yeS>) zt>HM{`WgATBI!==2gOteVW(yg>OIf@s8|{lNfzT6O2_c=BGyY#;tur z#^T>6Gw~@I>``}AOmBL$#Ej}uE?GV!jfLs6bqe_C0)@`0bDN=~ta@DQNbKcKr1O|S zB9uJCQt1}YmLi+bn1uP5mN=7_q^$sg17)N{TFr&D&Qx;^^V zApTK9agluJhc~TZ6;qyq@;9e`+)9-4JuLO{nB^Y1_m;8S_kbhFB609l?!BmAt}kK^ z**(d@U<3eExtk^OVr|ZUyKU)0?7I6Frst5qTKzU)Q~8~Zh;X(84g_V8i?Fs!)ESd#I%^0G*D#QF;1}%&S|Khv0yB4 zUa$O`Ycz!lXW#X&p#T16#|lW9boES*m6ET-&j9KQk`d(890t8-}y*3 z==w+SwhItVi{7nl4}KHAJHr{Lb*TJv_37Hfw=&dO&3>-4V!?zO;o0=e0XxlPvPtz> zcJ%d4ZpUXGergQY+wwbU+z!%lBU3Cn`@d?Bv^eAl$uGv3e`;qjws$%7qkd;!*OE9D znApGpQL>G!*A@M_P%iE)!o_9KU9}>G0c8Xwn zkQ4TLZjj}MyTr92fF6L_vYW0wef6Dm#C^Rx#q_9sD`jP|0;b=L^!vZn0*YoH{4c~8 zLHona&$2~Z9(`Q3?dfs_vgR*|$GjM}UQ2g`vO{fI+cfQCHie7iBAeYjr399sn1mQ` z!>~ve6rV$uVskT18rWzZdWgzH)1^RTSJ79m4|*zcyf#G`;}FtC63W50*x`H+f^FF@ zz%H5z@AmT*jB-oa4O&X!Ru^~G6^l6Zt?thg#TArRD7xg&s%p$#(wLXy;Hozc2%~3G ziX+6#YO*3lr8k>d^nR3^8;R~?+iSkVh5*!D_iA-K)@^bjKt6lTDs7I#tCy#kcNt_e z(Ls&!bvotKNu>k)b%PPpM!f{=fy@u8{IahyfexmPxcWUg$zDOlaqd7#|6XHRo>335 zX4V%W(jnEZ?t2p{;o4S6=v+dj=~=5r)a?TIhJjmwESxiQN2d&8UbFtx=A`^G#YI&U zu;~3u>nOxG9=^-oCh_XE-%A%gD9y?p7*?x_G>*E-${JK0M`SeJMaPY=v!@Fy5#eWH z51}!AtP~0fcKf&UpL%{IM4?dp;%LymmbV~qGG%B^VFbbQEk~02gf{%VMVCF~Qrn}YU}wNs6ZJB$s6~}N2H6-Jr)jmcPN++3XDol<0S%LY+4$H);vgm#dEDYVpbMAMjv8LV0} z?B+LOhmGqT%YBB`+>f$c$GE9y2<`=ZEzy*`{%GA#;u-N00Z-mW;KU7eD0r$kG;GDtMIA?J8@^~Y7ErJnD1 z*bG$mqt%5fjDlQ?b1A3V)A>L03XDi6HR;tZ$~q825_sl#d{PbKIrn?IfFBcwafn zv6?IE737VBB4bgc2`sB^YaJXRlg@b^I(3?;uxlDpJM!7 z=pdZjxt5Qg8*p?rdJ&wMexbg%;jR&rlT-id3uPP78I{LjDZb@2>4nCC919*ZPMf}A zEc$&)m78~{kEVP`^=bxMrtzAgtgF$i0M`2Ts&Dv%uIDxci1@F|5hpBk+tET!qlzXi zh}37=1@;DY4~bX7+SUF_$C;pK*wv$j7p`$54Th& z{o{}se-)A1CG_1L@_k5mU||Q!ABEBVd#!Hw36Kl9Q;$lWnl((Lk!MnZ*meHH#%Jr1 zQi;GsAw1~;2Q!pwR}v1obV|ZO_~beq(~>A7aWE(s;W|EP(B4mnY!SWv-OyV6Qbx;d zl#ZeR5f*CD)9VLi#(=c+BCGMduHK4~{X;|nn!jEN0|sc3U@!;>_^?sQnO4bEn{Oz% zU3Vq$p|y4!}5++vLjr)e1m2p8ezJ#b+*E9Beo)kfO z2j8=$u5sO*nt=(FdSZ=gS}o|eWS}1JeOImGWUSkll6(HHKKPiu8WU2Xq}jCQQ5XzG4HX-l==OB-u(AkpWpfYN4m7Zhf*1uCK582qZxJCdfvXc z@22uM=l;dTZ-hGfp$?^&t+s5k{IfXW^A;0Eh;=ag&4wzH{K`|=I62iAg@Q-J$3d{7 zEz855r;8R6N?S*{mwm?@nh#8-=Tgq9MZdR8*U+H1)a#5u9#yF2wN}dvqLTi)F4-}{ zA)`@aYGN^4Ak>&m&~^r!Z!AeFwK&VDe3cA1d$F6gEjE(Z6)Abl_c^C!jm3#EArM;g z8=~%=@!}JBx}vS?u&m#+q&o^7=-p&O9q!rZch7I5TW2#PzV1$qEVWqEK}8k$^eg^; z(#y8*f+6n%%;7LhR&m(nhdRn>f=>xBXg>0M^s)Tkke16?$1j3RBh}GAzF(p18S6Q< z|B~X#?U{b$NuBrNCyMeCCfRJVOF#G0J%_VJ4O=;phmkLM<{TBa&qM$)fCl*iF9Adu ze}?-|?do4jr+slA*T{RJ=I*CNJWl_GU@cgxslq&2(7yDK0{^YQnR!Rzzj&tpaY*i4 zB@vqExo}7E(y*R5hblsS2ODv6_1Rac?lz*=OLzhp-`D9lj+A{wq9thofz)WBadkMb zgsbO!Izphs4GGYqrW3;4)}l_r5te)Ws3~!HTzZ)@hysUN2foLoU_!y^8ljmGWq2gTWo%tSqB;ZY9aU{pqDxVz*8Z1ASjQ0v0?Bj=z7IxOGbFk&<- z4aJ2#cnBp2bwY)Hc`%{6+q$p$xy#2gSlA3gk(saWa;$YTNVfrP(3D7b?4MQ>7Y}K> zU*U>-!akB(kL0Z1fMFU(l@|r9iPG8P9=ACa&o_enj+< z?qJ;RcyQ%l=cRBj>Gw7aEuKi8Nw>g?>Ia#bf@c%QadjZkm@QFPRU~sge3+eL zX(hv4`zA0|Z}#I>wXQtw&aHi44gp;a-p4I9wR(|_9SEZw{>*y!>v|V`?5|{n$1Sn~jFXw%`wWJwa1b z{J>!QGwN8tdkJdYsRuu- zeidfDd`R>}4fJTvzBEt!P!Og^McYIP1SFuOwW8qp{G^Pt)&Gd}?}yBxmza70bTxG0 zpIpw|;G`ej+w5$y>3ZODgBRTFd4{3|X9WG!2&gJDWY8eR>CqE2O)@An$Atgv3G|Vs z$2${(OhW72Zg2sFp@Ux}DjbktJuCw6K4&X&Bc>%jdpAlp;pd2y!u#4VZWPM`)TNl{ zBh5x<$MbE|c+V}u-r0)2pg*4Aax?#?GjTSG#^O0l2hIM@XM4g=TL)XJA7JacPBNMm z7eCN^XUb#_+#-sbbvpUrCNYc;VXxU-vGGxbQU(U*hUX8Akvj5W6s0saA?pKqZhJL? zsi-K-nbxO7Lw%%g&Q_sS16zVSt?${EVu_bBMOnN=>J{4F2MNwGa&$w~Lo3b|v5V}r7ps4<-c7P#bi7}zi&e1!in)4uQNH>A zN1#M#MYpH*#P)JeK&|!X?)0tiyK;%5{ra-ePH<`Cka&vL%0*X`xLh>Z##&&Fz(-Wp zdd0#Jl2_s*EAUB-(gQ1pCJtX7IMAqX4-Z5_YrgCX+up@2>oouZ$JL^j&%|zI_E8=7#>4UapF_IWdB^|W7#U}w(E-}o~uo5 z02h9CKb=d1zVE9K?|QYfhv2B=aLRA|=J^fOe^*uYh?!b8A810VJSWb8u2a^+M_MXc zJ;57(Gc5zu@84_H!pvMN-GV6fjSg9z>K?MKd}+lh3TJMTV8H9R~iV9 zm@I)Vq`W=)(azUnKC@Jx_;hil=I-mK|AWQZ=j{;jdG@Ji_^DrkTaJ;KPYL9M6flD_ zD^*|+NPE?>JWc~Z=yB2ZTZpF?p1yd)oYvZ>_Uu1*xvKC501a2D#a@`|u-*X&7s6>y zLhiSA9l574M-)9`q?RRuqjLKwsA5uFOo;>dew==SmT2LI#`r)RGDL2Th0ECu39aki z7OcqRBfbe>sZkR~w>yHdhv>{ASOt{jAz zg+l4Sy{O+5kpUpU1ZTWzt8v;*@z5nqvdC`LyG zp3S9k(?L_SrjLH`tv!Ah!f@k_0lJdSnjjU>U@N=TkJS_y`}NIRLYcL5+U9BGWHk&d zAkt=(2ELAN-7OtAV&{`G;I^+0AQ+Lc4APs_p`EvMqV5Zypx@;J0i2 zaR9SY1~>KEaGZ?l=k4RL19!45{_r0?=*#U4cc^6GQB=iMC7;Q6b`s%8o2pVs6}ZF2C}XXVM{bry89r+E7ZNGso;CG@9C*n zY|IQjkv#rUc6i=Me^9ld9n;m8+z^;Vx6ehcwO7 z#-P|6`&}0j)~SuZ8@%>8da+s#-2;S>EXBh)J}svRJGc?A)Lfd5a8a0SEsjEqC^5V` zL)>_PAx9z&xjWy&%#Qy_dyG_(e_NJH&B;6wAS?^SCe(J^)paGepjs$N!LE{5LWG7F zZ4U`Qvl7pu=jDs5dVlp-s~%`1{ZUa`u_sp;DNJgWXmDv~UR&)w(M^sb@%=C7hfJEI z-Ri!#?}=3Nu$#x$h$Q_=l`-))Rl3o%^#9u2D;}Sm!{GJidv}K`+}k8takaQ`YoUGt zgfRkQ9V_;1q4PuBqg8o%SEaC_2!p4Pe|2cenk@B+2z~eOeaMU~83sG~mL8Nk@9)VL zi%IVs@zS4c>T*7)vEhNZXqk&*?JWb@-Ne$YLhPlpYK8zls3^h=43djz&PPBD6;iKSi7j&k>XUD`|X zup*odv9~WXWS2fIZq$xC__LO9&DH82*s5<$c7aB3(bGsC`BS6bdFBIjaXgc)==U*4 zXChYEF4KS`0;bEnX`~=%y49YnWa0=A(3E%|s9?b!=;aZVDn1A)2sO?hBg{*i@y)($ z@NkjhaGSyr&EF0@$Ib39Bq`JSc$SVn>b2uC;`T88wU&CAKySwBi)odvNGRLpUx9FZ zEsB~8bflbqG<7EeLrLKWX7UE!I{G_?9t^oCn7t4;Fny(8EzNq!M3-*O4}~2l%JX3w zizdgZ|KDp6nGA{fYhuBk4YULBLYf3Oi;@`m?qX3A;A?{oCb2dpa}I{*ixwaL9H2en z4a(&2F8b+7lYln0D<^VDnF!41GFU@HNnB4E-vZ+{XcaL`6qFFh^mTKw5~>t>pvO1+$i3to z{JRJ0Gt{%}RPoJRA0|;gPbs5pznlWi==_FPgJ4Yg$!*ZA1B%m9}5D z2Cs}QkPBskmD#QJRV@}SaD_($lnTF^?lXE2sQ|8;)Pm`eM!w7UV$x1sy>UNx^GqLS zgqg%TKbnRsGfnu+lE3)Li;*jQ-h9PG-Y>f9G{sVnPdq|KluL*t0#Vi(K%D_-6S#se zrFtqS@Iwl8{aZ6Q3y}^)AqI(RfMitN_>PNC=zMmUDWmDSNQXJ=3|LJFgecyAXKV1+ z=e49xx4szBL`i1F>=moY)|U1^4h7Y21E?!Q-+I|z4V4FQyaDh5#ZJCj)a_iLeoB2l zgG1%qzJQtCM-l*3e6Xm&=scu30Oa)CqG-&diTCcME0$|SlQm6tAglBm$uSA64gxS5 zLn3J!_?$`%sg+^0vu}`1j($-0T+-T(;7zw|&Pf<#=z6b^6_2}kPj)P!@vU)RUg_J| zH-DNjzKF?{TrB|oyCr`ANNPreK+OG7b z*8y?+0ArG<9qbz0;i77WVqt577!GdNEcMCd0JNx!^=9vErP(75BVmdMkgx+rc4JDw zzG}+%qAsAicVp4a7J?`OVyGM41}x{T@U0HA`5U*4&Q&MS=1Fbdeu%$ciVrpuuO^ar zwQPYx4G8aqXTin8HZSRET|0i$k5wleIl7ZetdD=Uj9zYeeR`jaA9%bL z_c~21Bmy2!jmRgyumG7D6W}N=HK9K}kPCuPvx+y0VFY_MULBxWf>oQ0jALadrIE!J z6**|ioMB@P6K#pmqM#Kjc;h={BU1^0_0cc3>>eU(-y3f8n`%zG*rR0^8qXVX-H3q3q_jiVinT6f)Rc?dZo`govTW@BgWa?^s1-E zb-xOkuCdZIi*Qi(c*|{--@mTuO#gm{SXer7g~!~xE!$c=*!K1VBAV&0fGHOISGBYp z0sAEPLoEZ8DM6K|;`@l8k(q5QNJ;1GBuTckcys-4#Q(r^aWS#|?sml5^1^l=U^M|R zL#3T7_Pk@H(DaxKq=W7#?OS0y4POjh^faZI|++MiqFn;ee70Q?FF0yHJ;PRSRv)LnvpQbxQaU78I zAvw`L(;EPbwct3cg7iEFzX?(~kYa>->Ae?)>X=ql+F`rL^X|@Uf7HgdO}o|h)YQ4I z<=5p%GqQiwVM~*hV!vlT5yU^d8UITvZ#&}oRNyRqrO49}+!kXMuZu(C?}&W`9lMkf zqvBtoZR;C=?1`xqd%q}36Nn*D#if<8R6KItrlAf>T^#2!l=;io+8XKkhbF=?d&lJ6 zM?BnJ=OOJ4jnr~FT115XR5kohq}J!$U5o?ggtX9W!GRt~G&*42C)JNP@Vo-P1T|{2 zIC-!dUqWw_UHCY!6-~EkEA?qwu@tRWaP#@gH2Pk?<^u+k&u8vmy(ydY6uH1CW?c^o zwzb}fbC1`XmQfYgq{DI6fudsk{55Wn#z^)7QiXc4TJ!Eg3RrpFK=9W8!gZk;=r4zo zt+$JEHdx2u417nsUp-j34%DT&Ro#)Xy`Cea`+y=cV~spY%bo8zlnt+4QnbR6Gf z%kCg!xGM)06(!S^=hg!BtsDV5;;dx}uHW?Tbg${B_flkC9=}R0_hh_Mo;-tMO|(Ds zF4Oxc>&TW~U*p)VqrX)y!A!|WVspv=wh`4zB1-mVVIk(c;vOazA0hGt19qS4s>iuc zFu`^?@JiRaGnzV}MA>aeN7@8TtZ^k~;{{D4Q|~LO{nE5=U;QFCMgQ}|nR*mjuN6{s%+>syvkdx4&M z8CRs5Y2B#$JX0CYM6~-u4zI8t?rPmuXnTC1RXz*-i_Rp9*-Q_pUGvtyXnY>#l^x`# zR;I$`oH}V1AC_+V`v1Vw?HmHSNIABN+d36&n!tK@U>2n9=x#FTEp;qCqL(MEYpEN%^qG)MpEN zPoXj~e-tNNpN)MTvJ~W>pqyapxP|k}XMdq{yj=JNdqDBw@X9w=n;vs&`NGW}fv|(& z%-_&7h9mlsO5so3@Bn9KbMoX?VnB}8R#P)mZ21+w^6I+g>|c-n{1Ubbh#ISHbN9}H zS~%j%#aF7tyl@SW!Lt4SR*Zk8k{5%;T0AHJ=y?V6a1$7BUwAOGZ<;(M%$SPT7j6DAYKdh)Yci_;b<%(cbvr~?ov_$VrVc@ zt#Sf|nO0o=qRCR&HJkoH*Po-w!rQ=wVL^PYDvuc2d-OOb3Eo->VjnuuwK9% z2T~&<;r*2^B1f-RK)+-WvgT>M3YBA_$#LDH&}j4>B4o;nbOTv8M_>EB@y%sw~7)-~$eO?=XVtMq~`1bTOy`SiUjDd~Zw`zCQ zfA57nHlcZ%I=U1Mz9X^RN%yJh#7M-_9aOJZ^Q)yJDQ)>`#}xhEz{fp9wN9?!OR3L7 z&W$hn_l5+ya&LsvKBng^LZ=z&iD}z_m=vE2p#rdXo!cJ)04e|g0BjA8-dVZ$9Jp~0 zx4Ff9{D?|b*YDWznl<;?V}rog7w5~D?o;&+QGkF-XGY(SBLFjwvvWzho<$fFlqnG5 ziv66WlmwG-)$h?XZ|=mFg~vZ*N?^~*8n4qJi5wxoKt{zkf6O)=q)dNcFG=B}EV@mQ z2-z`p)H{0^{8g2KE)=W#5fI7u;t3A~rwNCq;KT$3R5%_xYJR7p#Ad9ysJ@K+i1^1L zN#=DTwAI7Pqo5lt4_Np@0lC1&gJPZ09L|x?eCF?%MMOt`WzL%fXZR2wmzI_3C?XFE8q5jgG0Y)s@Q zPh3%tm9kvLamP{hT)H?=gJ*oz5+6ITJ}uNVI`qLTKh=Zw%d1{={5l?1_~3y0<|A1A z(+N}shSP^|9p|EacD2VHeEF#yuaPxbZ|{@)0jF;`jx$)bsZHM)+7|2$1o9`b&0x?H zrVRN4YE{GCaWDP#nqSzOE;6gXx^xOO-cggdfBLywkuMuB(EPxJ1l9Eh6btcI-0hF- zkuY`2weKOam*x@xlY#9CAK&YJAv}7}iIS8Knk_>x&?CS5QFCRZ>TAnu4My;J%!(Sn zHXdq8Bp9o;Oo26cUa~EgdkjKpHc=;h#*KCvXzjNzEA8Vf`RT5)K{cQt3!j2&f}+Q( zaRYf2{8vD@7Ji zDN7&dt?59TY&;0+qfS2ZPXZT6!ESnE=VB)0UKRz-gP{F)-?miB#BPxQ`2YaTrV;Sq z`11XW(}l2`=A9Rx#=f6trmLhmAa@6OnXuKD|J&6r&I7cRsw0bh_BdEI_Q->UC;|om z#KOt1+2b5MDR?MNNk`&v)fo^U+0Cg7V~7VDLkU12>q6u@Toyn>6rzHCY)c^<1%Os*^%YtI9}7E#2NtTA@CTaA5InmrcO^y zqz{%Bq=y(YnUZ8gh>`3%1)*8Z=J{PwkwVwx;k`*-D)|#C(AadYLXv685fV*JLF7K# z5rXlx_-O=aqAG2TnGVw9`L9@HU-y&tZm_TadB!KZ#N+4={cc(oBnn<{iqXC%&&2)W zt&93)*|+`4saI-w!@+ArvMRO(Z;ceFijWMU9Iz@4@hErF%gLY-3_S2ybz=aZ#=-I@ z9S-YVr=QZqP7x~#(Z(m&Y##@`lkSxKKog>p`(v>Dj-s~rvah<)J$a7`*PjZ4xg(%N z^~1gNyIYn?9B$7a>1YLX6vizfv;c{!UJZ=v0mUDm2p24d*;vH8n(IZX8=NSuCPvVH zS7MDF$lPJsDlXiKhxmY$ zr|&u6n<3>L??vY%8VSH*X>P_eHp9~CnI$3X?`Ag%%GaBK2Z+_}xY zQ5ndd9z$UL#91QvEgC*S;J`xD-Lch3c%=YM$xzw83u+JwA~rWuXWFsX*yxSp8aWOTP~Pq(i%lMZ4;!a&gkskWWWO?k-)y5Txfl@X7=bWqen zG)aI~;s|_S7`d@7p1ChqE5ySiGKmgiyiDm_kIM`-qZ;9~+5U#S#8f4`NmXw!Y}l!x z_P`31)T-6|M6dRH-{(p-TRAsKQstu85ySL2 zC}ozqpwonF8xBt>)V-dxZ9Bjs#}#E=?p)%$;%gaj@6#IFg-ANOP&bItp;=0#FnFyJ z+_BHZ5w|+}-P+fJ&00Hn3P#1=yl8RH=H3(2?<>s$Mj=g@=X8o09hqON`sroq>0kWl zVL0knC^s?y2{hg4@M({E;rJ)c98QkJGr0v1QdSa2~K+fcVYVfdchqeUqMjUEI~aHqd@>}F=Ar!6jq>%geO z$LZl#UN8)k0(>qMl{Zjn;4X5RwznE>+n(?7Q^+wljagd3EU5b#6FQfX7_Ij{V^H}U zy0Mq^sFv2$rP6Y`7lwh^N5ieLXfH6V(1F;m#+x{39^-n!k`%E(RQe$>3-ea(Yq1x|@@MU^IeVs} zIx3PxGPmbFl&gwh+Ikgcgl`csy<$@sKWl(A3% z(qT~u?JwDq(RHJTF5atEu;OeE(7qS)Xi(I~36`Sg#1y`tkv0>{Y#jc8>+<&yAC+OV zd(;B(1TT}g384;pk4DV$iu|=}9oIVp_WAcD4s!EPJh=xwb?vBW)+_FnzH{mPU~-3{ zlX5OI8h``P(VYb$qO49Hp05E>qrUM$QJds~9(OUd`dKLI^!^lK@{QWc#p_T1-OIEM ze_9-P4__G>&GKtN>G&8{*(N+JrDIBso;oFf)1`vebzhW>lLmq6!0Gfr>#30sZ}}X6 zM4+Rbf=hR|PFzx?(4plc1B);*Tmm@sI^8JIE38%ywKpqC1EE6FE~Lf4s^GMh91DDc zF}%eoRbVdO0qNdI9X_qHez!ILn{<$*RQ&tcWFOe~1$1U9Nf62gAUTyX`TD>Q#DDe< zWNz1EOiMgSeOmz8<$gU&^GR;%pEoE-9E1|SGueI~ppvDTlzvD%X%8*Xu))>==I<+( zc9miekk#YRK~FK?8s*Mtd2FxdY$&-bo)tSOUua|r7NvCzLn#D=?DJRvpnlnN9wv_- zG$K=8NdGL?MP@>mZI`zd$bJGhaP>S3Dl1p2T$!g%yZz0A*~Nw@IcS><4itp4dpM>T zOJ?OKdo4Spe^J5eA_+x@)o}@LF25}{SeeJ`_m?0`|8XefHHoMX$Az7xN z`Q$5pb+X^)Jo@Ou+Zchj3yXtPGqYG3riPw^WrF-rWke~UL*9G3tN3>qwgHv*mHn3?KowN@&qY5%x&F7{PpEgI79N8X%LEb#nZ1kcaCr z5F*vXzC$SEx25FekU@TPdKL35@4z>~yk7YkVJiI@OMQw5IG<;gLR>J-!bF*Ohg6?NT_L?Q>SQ&|9Ty#upG)s3pyKPS zg>%ds*XBm{7c&PvugRo~^fc9bHtH8@4LW*#{_}6R*$~8H{)s*A86di;>-bU6(${@;xBpFy%u?(g$m%6 ze!DibkCUdp^VhOyRMMc4B1jDkRozj%IFGv6nOIddfqTa?OR5fQT})ma*?V?Ixf=oj zbA9nu!;;lm|ABgV)%1Z718uv6-lk=rck5?Q>$cxxcsi8HSlm;&>2Lo3*?9TSX0son~_ z&`MgZRpFSSG`*37Iz}qLEiRvMT3SFw%=EZj0Ye9Ayt5q+C0L{6usyAOx-uU8J)l|X zkL7?GHywLmkvEjDo65k&WhFAYM6tfx*pbot=zZa@%i>u=(f(pGB{!VUfZ*^9I znmwAyZVC<1dm%4>FvhB{o0dh#+w8^_ErwlADEzX(oAF8))*(6TW%J3=38Y8=%Kldl zi^~luBc-@L=J9hy=Fb4w4uAr#L3@7L#6tDr;^(jnpG>Q1(T}h1{?H94)9dcS6;Vp6@KoD&`m1Gbqs;lSJCEL5)^!_<7ob$5Sl@OAA*8z@r+@g8-KovjT|N&VGL{;#h& zv!C31Sl5|MfPk&cI;;Oq4mqB1n{0YbbloYa(H<0LeZePq=d%*S*2SyP%cG7WT%rMU zK6#&64~(P{6jNL_4o?H}8F9O2lNN9o-XirrGllb8a0-B0M?fh4esx+C=f&T%m&sln zKeR9OFD~L<_I}F$@IPLfrypzX-=X^4dEfLlMb6a9G5F!!BP*rns!r800Cfiq%OFki-#$cNr3FV`f~Gq|FEFl04K) z1*ltyQe4ApWxEq8DXlqxC=v5aPu+LY0{Cv0W>G{!b)T);(V*jgm<3oZL8HANz`?a8 zJ@bBJCJyCK{0Ig;A<(@uxf$hC`}*$<5iJAhKd}zuxzDg?o;rMRjBkrg*R@$Q>*pxH zZouaoInFZbs-|pL>Lbl>i~i%#6{`#Y?en{Dm^)|uG;2?9A%tFevi~rw+b&oaZ>l;o z;rRRc?D6%i(L;MU$ZKkBn)SqISN--4NhP!!qj>7b?o;d3yx7{6+oOFg3O^^(P1Q3i zF@Bt0>^2X!ir2CYUP)UY+KMje&Mi4Vxx*f#^(ezJ>p>Yr2=I9ghU%teNCvg_5w(3T zepcUq%(oFG2qk+9OI~bWiaW3lecAA&R!?|rKAbjblgVy*nCDMp)@(GD?_Cfy$UOb> zvA`!X+}2X?K4h3wX0!k!7VpP2I_XiWo>He|AQlm5Bztb#OOTj_xyHN@)RoRro z2l~GJ9A!WIE+&DX5uXYjkct@AzT;E)lBhHFkY#00@L`g>> zFlAShJK-tuo6(7#8rjnxtGj4N?^zwtV*3M^D(%=OJOI%CykF#@YyO2YI}=2x;VDCl zKNz-qa%seVqdP}kh>a>Fz;i(2>!@3SzlLpgK$LIWtIIX?8Jhg%4~s`b_B(!5VLdt7 zBgz<>8b>O*epycN1FR5(`WT&?ErqY1jjEvnl~E=^?e*&7DN-UDvT>A3=IU4F7b12W zk^1)}DqoQm=KbaLdDFIpCYim&X6H5XNIH;C0AM(^t4g?bAtciFeX%C+9~>7uuP^$H zD;S+AuAK}&*Pw4*c}=!+pZq%}5hb>Oa^T|1AwozY;g3R= z-z=Wq6iw=Zv5RF$Cih*d@_!Ovg!?ip+!4>w&x>Umw-Kcl3VAPMpw%ak{SJWDU8Uqi8tPJzrt?S&24e4IzC2Jano7M7*uzJFbrZT1Xu!k@ zekuZHhXB!X8k5XOH|{2(tvOA)djQRG^wDwd34;X17_5z2xhPmd4^A4Uae4_VQ9e!c z5B1Z6b;qeop{NPVBag)il{mp4C5*3vBTEs>-QerV^u%@klrwSIN@m#9alMKDbP?XF zgo!xA@*Ud5kujoc(&KLZWE)`Ss1*H}ir$Kk#r4n{@z<1=QiW`k;55Tj5|y;g^~Ac` zUK*lgwNT5L57PvRz6;37X&HQS1)DcWDeiW+-(xMGo>y$UWrNQ1L;OQ=>jQe*WRrdq zSm<2vuCL7ybwpuW{cq3fO;!26KdoDC3xqRDSjCqI3%ivZPLeWta`msT#@`SX+StJI zc8|;7_3$W@ro|-cEhV`>bCU!r8CUMnrF@sQX|6LOASDv#qHerTb|sY0_**$UR77!C zVdOYY{WjE}MS;nq>x!>?+Eg$0hPO6QVV8O?{uQeyDgk`lFQ*P!^Cq=!+_=~th9)L% z>AkE8_v3CDn`$4yd=qQVRJqe>`D3KOI{rL@2(X3+Lq*yN=`=)2`u->F4uGPY*HMO%hpJ=0QiDSp&@d7@`}cw}{brIl!lFrW1h z=@cFLAXa+kd&yiD1l`8>)Iv}-UY;)4D4#PmD=gEpYvek(`?{dm?V{;OjMTQEs3X9z zD=`ml%_2r}!Idy9889WoWGL0fav{xjH9DLx7c6wDSJi+v}nw7iFg%GD}7pG+R8)MXy=ee7a1Fd({nug zLu5=9)TL210slDETNy^wo4PyeRoEXYh2vx(%M>IEekedgY?!N@7_{_22t97n>4bId_mlWPR-8qCg#+jd;XSu2Y7r$|(Uv@K=ZFu)yxJ z7;q|#>%C5`mmX&ZrN4AHgF`giu>Dkq%#i3F)VQC36ymaM`z(+m2E`i%z!Oo-?F1cx zlx-Y_iy;m$WoN5#rC415$o zE9wF=&c93VvvvhUf>01180ZJ3g@AGYwGCqiN+hB`2FJ=W$c}c2CyOfPIpTI7E8CRQ zQ~8)erm2k3;PeWYQ&bn2w9@QWW~FCL(IERa-Apsn&&t_zCR@HpetzBDTwU(E2!m(?oPiqj%D8=m8xGdmz;6;RFx zvzbrq9j2KfYd>z5`)M#dstE6U|7jXJxvy&MVn%bDZ|qAw-Old27DPc?_9$;hAg|8T zQ7CM%Xj0+8k!Pi*ey(ut>KCmzy~q9o)t|;nnK~b6Y*8r6g~ivc0n%~T zE>OUWi|wC3#qQ#DMP^KWy!_?vvLCHSZ3${C(3 z`Xo0-E%$D|!5v$yI3)=x!=VM%}-;G`1ETDN&d#@Yfv z4d*PLhnd^F=cVvtN~~}A+}K1TEM?YMYz$ACCBo3SQ3~rO9ag$)lv@M?BBAV$E3w^R zUGpJEbRfkCh>I?Fgao%#dA8{aeJs|^|09=yOY1k0mu6!zG)sJ5>^Cx^R-I$`lw)Q+ z&@`6cB^ksA4o%;9cN|oGVkR!nRSlQkcjcX|d5Vps>z=M(q8%^E(HeWH3E*?H}B?&a*4FD_wLJD#vE{#svTX=(ysPIxf0Ls zhL3%vG}2-Tf7Wl@xc$1|T6<7EY^GhOpts6($?E|#@kDEd>r#Mp zETFr0Mu2yk0x2Vrbfdrol*$T#iPY~jrC{X%-RU#K0ySY&CxgiEgqsj^Sg$ zQ&Jm4O*Qi6sbux9s!b7-DC3{?IwrA7sZGgIt5Md7Nc5Jx>o-SGUz$^#g*fSwT&)CY z6iUVPf|(Ktirhden{iZ*Fgmng`^_Q9Muv89O2ejZdBSnNQGhUKyy1EFoAdI8{U#v|eMsH33 zUD;?{Nrp$}u#g)dlpHi@6L>nfmfy_C(?tKu_=g}XJH5^&928Hj!Ag1IJaRwV>&#YK zwf#}G21{wc#rfSgqYQ{2j>@lxRsRF-;_nyL4Q^?zXsbIvGzfJTFGS*n3+>%G$dwIt z+azQkOJfOGN8^mMWgX$xT!^9o&8bH_Ga%^K$VB~zCF&1LvHj9peG}7qRPnDElXQ*~ z^>Gv|qOP+1EU26PCt<@e5;4m8T)ZQk`9x`A-YyNk+q#~;T01f^fkgYa-#4beZ8j)G}&V(B_FW_Zzqz|8N#C(+X(J0jIucx~Aak)FQ7I#cI$vmlUFX zE90SzFM!6R!@N4T_8ud1LD52L`q^KKCC+;lrEq}aYCe%bR>s$8Ka+m5Sg2-aq*uW$R{LM;5lVZw(4!86tH52~UmhsJt2!g~l zuoa~=^{Wr%3*nElaXLdQjANlwU`#==0t+cB{j!i9{Rl6tO1H%^)Qxr8Jbu7MB;c71 zpIM1%Dssl+p4~&%o04Y@V(MZ%MX~=MNmt>}gcY~AkrPu zX^b8zU4oA8?ozrzS`<-INl8&L`0)3=f5JV_dGGVwd+xc>g_d8nfW|e25}AG@Qa^KZu2csAzI&O-TLANK4a9yH0Qz{l}xn zhMGqc1&=WzMcx8R$f?T48Qr-$xdKBNf{Z!BQmr?^P0ZRwIx5nNko4{s5hu*4JXOn> zu;oauBXb>{dGOssMO1s{$$8Ffs9o)xCaGSk(i;E14bL6hkF^5a1VMyY00ET^x8wD2 z|I_R1r{6L)_R{yl4rls~WOZ|?m^Ecr|0})EI_>Vx_&)c=k~J6R<8x; zE2x4VVw1Gy5{G+J_inGD)=D4hZ&Q*+iiW%Fn*RziHpWiH$*^##sL}kF(>=OieH_ykD1!n;$@Qu5AjL3L59KIQ^Ej0JC9>lEYoyg&vj;!On+5BzohPy*PQ5a(7hXUrmaO-wnAdRCXEPRDClJW5`>i zDVm}iLI&NbeaG??6)EmeaP0k=3-bi<2)w*bJG%+npTA+d#DO#F8f#sh4l?j>0f92) z5r&b9$&)jmu0Gu`;Hp=+^x&s)w)7>rw8qD(@r@muFO^N2&9`l=%Bui`K0=jT?Osi4 zY`DINZtk={;?AF1>=A--3d`xrtUw3We!S511QO`_U;y6@b;nKTGR`N$4vC+49Oq@< zo#oF_GsUj&)LpU3+0;c!DoQcO-EBB8;#arbd_3V$>ZK!)Kq!~)x#v&IQZbZR}g<`0gUWi0^YH z!*92{6LzR+57Byyi1N-r#c|geO|4!X&+BKh56`GtOn;!=XaxuJO-%yzqo9TZQ`=ll z$z~?sQ{PPp(FHI3lbmW{e6i#AL(LA%XhRi`7^*-7o?NcQwl!bKH-uaGAXJPi`+z_N z_OjHf%#Ou7tf7n?hRJBho~FyXxW|>bUue`;x|^wZ(;f~#h`prG94h!$NHX-CAwc#Z zCXL7o`enKPT8(7&SL8SRO|l^3%)GuZetD^l$(ChXnV1(SHVtLgYpEJH^}GK1O7kf2 zru_Z6r8QvB;gR%UZI1U?GTK?nkjO8&keJes3A_#{E9GJdw0xJ^c_JZ>|02YoGsR#5 zh##dbkr|z1o;nLpVj+rN&5lw&XaNEybdY(!nTecG+P#_zQIb3^HhFd8d?6_f{&qGi z1WoBt*h-9d_Yz~E%_rs6VF%V96KOjVan?fq^lrC&+yf=3`P|N)2XYyZ{MA7{PmG)3 zj0;WgEa1|bKdH<7!_MM=z+x=sD*$5X;S{2;?X4RJFxEIUz?;yh%3hB~v*x;Q6!cxZ z7^Wq>!?R*DE1}TR;P+g28xLkq9XC1#o^?_@mEwz=<;4`dd3HC#WXwUoZvDE~%Wy-T z6EP&Dw5Dna(d(`^5G@?VwTjfpl)Y&#`QAenOz{-$+VToPL7+D^sC&Wn1zT}@L=^=Z zcS`c|BFs1;JezlV6jDyDe3JoyF9#*QM?Xrq5}WPMAR~n{f3eCZax5Onh)Y zWE75=F-$ErQnXA|))5~PHx$mMFNO93 zRLuJW)i{2(%7uxj&l1AN93Rx!6nF|1rYF)DKjaxdj#O{8XxOYp{ zXvP5W>T4LczeeIlf8n%O!$N}cpEna5(J=RCyVVdi9jEmJ41b9iy^$T(8Pk};8an=D zWojGnWny!D_GDfJ7BBuw_x|?Q*l!i%3$NxI)BS@-)1L?J7-YjhW6l!b9c(yytI)W4GWf5S>OPu7z}^BzEDqKF@7vO}6CHvvs#`lcg)X zoA_W}CIA_%FaWB&UsN;|73H?}er)O>nmo*qto5N*#d5fvV0%sLvhP^xTyURF$iCM0 z)p)7^!}-f3BTu_azOQQBxY2^_R4kAd{rc~NjNjEORciSaxUcbV0%cPL+vU}z)r8(m zHy^$F^k0Clm((@%P^B&n4r1|?n&CD64T`Z~S^&U-i-*Ja;~Geu`OJUvNN$8-5);Kw zC1+$nVIl=}sYI$f1rPQUGSjLjypj0*T>UDD|I1zyHeOtoS3SqgM?*0m6=8d9!PGaq zhQlxlsqLAW+D)5JSNnS@{A$0)?!#^FCtKIPKf+`u-Y3b0>?FVVGk8;jw1x|y2yeP$ zA&@qozZj{NV7P6}IDGtvl@VsR1Ys61qkDO`#(>*c(9S5sW0)epG{4~J3iJu=SStFK zyLn!lx0^W6PwP}Lz{H5_^=l?GGuxlG7}%zE|K6(blLJ*&lEUxp5W2er0ZUm*8fVgq zF@23$L$TEyFlb*x?mG#x(4I7t6sUt$CLwk`7om};GwZwQWN4;su+83XiC~JQm zkn9zSb(p+LA@Cx7ey!&2m@UE8SP>}Pp6g=raerA&UNd={@0~)yf6@JZ{@u#pi&D>0 zm~dFrm#kF{0f~Pc;=8EDjx&Xtxtr1M%GWZa15~HD2{p8 z0ssbx{5JO>$FgTd+#{4G!>>pOLck!0Wf;vz+afAzWhv#Cks!s%ZQx)X=()22*ylt~ zxOrXSaCj8V;1f}2M(dp^xM0nE*hNfu?cIkQ6BVXfgo0)T{5FHL3QWe1^V1vlCILn@(UID4I6VLC^T1~3 z4C112X)KcO1ro8~SK|MfO{mWd7Gw}y*L2c1vw7eQffyT8+&5`SX& z_mqe6;v*ntz4HJ@5n66D@^z2zPK2fmukS6Nn{|VEzdgGe)u(6s(fTo@j$O(e)0*^7 zb=pw5k*49?M+TkB>{?Hpg!uhU*xOK_s|6o*{|ujSML+ZptpRYcJ-@m>FYGi3C>OeL zF>M*PmlHr@bOY&`aQ=Z^?rr~__R?CNdk;Adb*Z;SK(54`Jz*asbLIVfj5)5yo$H*n_{o5sa~J#UR=OTX7Bwjjd8E=K%7{&%{R7R{{H?Wfogz;9A>Q!D78qq74#rvA8j@@3ATIv?O zPZ8WT7SXq?+qNDsqWwl{w1obEs5Y`n{5sx`i3Sz6l6x1U?S>zG&fnCYz5`~v(4&7W z6)4#6d6)C}jhcr>#wPbh#X(emfyR$%vp~%rrhRhGaoy280cscTT5av1Plz(HKi9I~ zoPNFsQ}rc1dCC97y>~4a(k;{r53%agls(3X=M8$xYG3&Q_@+5?|IeZN<^yd&f>nvFjf-QQT+zs^ zBB^d5&BRm?{pQooxHy+52U32<5Y<7ox5saaw0rdK<^vueugx4ZySc5;c&Toz^4Mnb{?cMWb%hb@U z4a}7$g}x+|+b5&%>{K8aZ)-296~ux!OBczLO4Ogba@?V3)bKdgd>iSI?x0v~!etOX zSC!PZzi&ok@4_hp5J5^5<>=>4@RLycmD4*&56_ZDqF;$1oDgz>2tZ(cT zpZoirvk##noQ3Ekr@sCF-~aW<&m&~Pw>q^$)t{ECoJIx!VDRp<$)AHv4I{_Ci-IPp zEq`aax8vg<4DHD zc|Yd*pBR-QK@Kr7?AxN^gk&C$y#+c0r&z3eH3XdUks0KQFjwn6RBRPa&ZN~1=%|bT z1!shbbz^?t*5_eOTjU5hUfN0zDRqfX8hOL)3X3EZKNzJs~GdiBlm*e)vPXm*c_O1Jtdt#0jsTi8o?ojBLPo>rJ zL&5NbV?GZ>e3GZwMMapc^P2=GK&g%Mms@J#pev$^ zNcNdv6-%6%Wz+M%qW8Zty54USBCk8@n;QEwO0PC`8EBn96Qy+Wu+o1QcJnS4xEc3vCRC4;)6n1mTU;U zRhgMrf%Lt*4j7Ahk#9dQ_$oeQkaKYf~V<~&?*vOO{rkqrOzB6 zQ(8ZR{oyd_ow?|ZtXO6hA*#soWohaln%q3))xJH;Vm&oF*I_S_iCuJyhA&JGG|@M< z%)*?%YU;XhvL()%!4QFK83Od(G3tFd!xu$15p5;|9}O{*OpD7?u^T?el1H)GdQA4= z$EGPpjOO{TDdgXY>^Bzz{Z@P{Ev!U7QbpLvzG2K7)>l1j58NLrtQNtbN8S>SO^#_F zOJsTmmn^hlUfpfXj*{a5X)I>F{yLpk!_XtG!>w%|Z(^?}yuDb28O2w}aXbm>aMm#; z5h|*Zj@?Z-{EHmgtoy^o$z}9XjUqTkr=d4d^9dq*vYeIYXKg(kZs2_BO!DsSB6q+$ z!n?Eb0FYtY^`EobH!a7Xf5kqGeFgZAX2QG8R7>IDnf#?NnYri>8%L7~S0nds}2ZES~ z(h~QHU0E8efi?+mfl}bVL<-MD?gZAe`Dlek!CyR0mMaj5d$Vt$mFTi|0$qy$o$&$3+ z8(x0RA!6oLAT1_H_hl6wP)K-MNA3>i7I-Tp5qFs@!WoxrmC$1R`PsbbBP(x+Ra~