jesse 3.2.0__tar.gz → 3.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1226) hide show
  1. {jesse-3.2.0/jesse.egg-info → jesse-3.2.1}/PKG-INFO +1 -1
  2. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/agent_rules.md +1 -0
  3. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/candle.md +23 -4
  4. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/strategy.md +70 -0
  5. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/strategy_examples.md +78 -1
  6. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/utilities.md +35 -0
  7. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/candles.py +9 -3
  8. jesse-3.2.1/jesse/version.py +1 -0
  9. {jesse-3.2.0 → jesse-3.2.1/jesse.egg-info}/PKG-INFO +1 -1
  10. {jesse-3.2.0 → jesse-3.2.1}/setup.py +1 -1
  11. {jesse-3.2.0 → jesse-3.2.1}/tests/test_mcp_resources.py +69 -0
  12. jesse-3.2.0/jesse/version.py +0 -1
  13. {jesse-3.2.0 → jesse-3.2.1}/LICENSE +0 -0
  14. {jesse-3.2.0 → jesse-3.2.1}/MANIFEST.in +0 -0
  15. {jesse-3.2.0 → jesse-3.2.1}/README.md +0 -0
  16. {jesse-3.2.0 → jesse-3.2.1}/jesse/__init__.py +0 -0
  17. {jesse-3.2.0 → jesse-3.2.1}/jesse/candle_pipelines/__init__.py +0 -0
  18. {jesse-3.2.0 → jesse-3.2.1}/jesse/candle_pipelines/base_candles.py +0 -0
  19. {jesse-3.2.0 → jesse-3.2.1}/jesse/candle_pipelines/gaussian_noise.py +0 -0
  20. {jesse-3.2.0 → jesse-3.2.1}/jesse/candle_pipelines/gaussian_resampler.py +0 -0
  21. {jesse-3.2.0 → jesse-3.2.1}/jesse/candle_pipelines/moving_block_bootstrap.py +0 -0
  22. {jesse-3.2.0 → jesse-3.2.1}/jesse/cli.py +0 -0
  23. {jesse-3.2.0 → jesse-3.2.1}/jesse/config.py +0 -0
  24. {jesse-3.2.0 → jesse-3.2.1}/jesse/constants.py +0 -0
  25. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/__init__.py +0 -0
  26. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/ai_model_controller.py +0 -0
  27. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/auth_controller.py +0 -0
  28. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/backtest_controller.py +0 -0
  29. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/candles_controller.py +0 -0
  30. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/closed_trade_controller.py +0 -0
  31. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/config_controller.py +0 -0
  32. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/data_provider_credentials_controller.py +0 -0
  33. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/e2e_controller.py +0 -0
  34. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/exchange_controller.py +0 -0
  35. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/file_controller.py +0 -0
  36. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/live_controller.py +0 -0
  37. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/lsp_controller.py +0 -0
  38. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/monte_carlo_controller.py +0 -0
  39. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/notification_controller.py +0 -0
  40. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/optimization_controller.py +0 -0
  41. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/order_controller.py +0 -0
  42. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/period_templates_controller.py +0 -0
  43. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/route_templates_controller.py +0 -0
  44. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/significance_test_controller.py +0 -0
  45. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/strategy_controller.py +0 -0
  46. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/system_controller.py +0 -0
  47. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/tabs_controller.py +0 -0
  48. {jesse-3.2.0 → jesse-3.2.1}/jesse/controllers/websocket_controller.py +0 -0
  49. {jesse-3.2.0 → jesse-3.2.1}/jesse/enums/__init__.py +0 -0
  50. {jesse-3.2.0 → jesse-3.2.1}/jesse/exceptions/__init__.py +0 -0
  51. {jesse-3.2.0 → jesse-3.2.1}/jesse/exchanges/__init__.py +0 -0
  52. {jesse-3.2.0 → jesse-3.2.1}/jesse/exchanges/exchange.py +0 -0
  53. {jesse-3.2.0 → jesse-3.2.1}/jesse/exchanges/sandbox/Sandbox.py +0 -0
  54. {jesse-3.2.0 → jesse-3.2.1}/jesse/exchanges/sandbox/__init__.py +0 -0
  55. {jesse-3.2.0 → jesse-3.2.1}/jesse/factories/__init__.py +0 -0
  56. {jesse-3.2.0 → jesse-3.2.1}/jesse/factories/candle_factory.py +0 -0
  57. {jesse-3.2.0 → jesse-3.2.1}/jesse/factories/order_factory.py +0 -0
  58. {jesse-3.2.0 → jesse-3.2.1}/jesse/helpers.py +0 -0
  59. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/__init__.py +0 -0
  60. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/acosc.py +0 -0
  61. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ad.py +0 -0
  62. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/adosc.py +0 -0
  63. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/adx.py +0 -0
  64. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/adxr.py +0 -0
  65. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/alligator.py +0 -0
  66. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/alma.py +0 -0
  67. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ao.py +0 -0
  68. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/apo.py +0 -0
  69. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/aroon.py +0 -0
  70. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/aroonosc.py +0 -0
  71. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/atr.py +0 -0
  72. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/avgprice.py +0 -0
  73. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/bandpass.py +0 -0
  74. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/beta.py +0 -0
  75. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/bollinger_bands.py +0 -0
  76. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/bollinger_bands_width.py +0 -0
  77. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/bop.py +0 -0
  78. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cc.py +0 -0
  79. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cci.py +0 -0
  80. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cfo.py +0 -0
  81. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cg.py +0 -0
  82. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/chande.py +0 -0
  83. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/chop.py +0 -0
  84. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cksp.py +0 -0
  85. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cmo.py +0 -0
  86. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/correl.py +0 -0
  87. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/correlation_cycle.py +0 -0
  88. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cvi.py +0 -0
  89. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/cwma.py +0 -0
  90. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/damiani_volatmeter.py +0 -0
  91. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/dec_osc.py +0 -0
  92. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/decycler.py +0 -0
  93. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/dema.py +0 -0
  94. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/devstop.py +0 -0
  95. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/di.py +0 -0
  96. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/dm.py +0 -0
  97. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/donchian.py +0 -0
  98. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/dpo.py +0 -0
  99. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/dti.py +0 -0
  100. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/dx.py +0 -0
  101. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/edcf.py +0 -0
  102. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/efi.py +0 -0
  103. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ema.py +0 -0
  104. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/emd.py +0 -0
  105. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/emv.py +0 -0
  106. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/epma.py +0 -0
  107. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/er.py +0 -0
  108. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/eri.py +0 -0
  109. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/fisher.py +0 -0
  110. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/fosc.py +0 -0
  111. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/frama.py +0 -0
  112. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/fwma.py +0 -0
  113. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/gatorosc.py +0 -0
  114. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/gauss.py +0 -0
  115. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/heikin_ashi_candles.py +0 -0
  116. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/high_pass.py +0 -0
  117. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/high_pass_2_pole.py +0 -0
  118. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/hma.py +0 -0
  119. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/hull_suit.py +0 -0
  120. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/hurst_exponent.py +0 -0
  121. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/hwma.py +0 -0
  122. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ichimoku_cloud.py +0 -0
  123. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ichimoku_cloud_seq.py +0 -0
  124. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ift_rsi.py +0 -0
  125. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/itrend.py +0 -0
  126. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/jma.py +0 -0
  127. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/jsa.py +0 -0
  128. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/kama.py +0 -0
  129. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/kaufmanstop.py +0 -0
  130. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/kdj.py +0 -0
  131. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/keltner.py +0 -0
  132. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/kst.py +0 -0
  133. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/kurtosis.py +0 -0
  134. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/kvo.py +0 -0
  135. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/linearreg.py +0 -0
  136. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/linearreg_angle.py +0 -0
  137. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/linearreg_intercept.py +0 -0
  138. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/linearreg_slope.py +0 -0
  139. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/lrsi.py +0 -0
  140. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ma.py +0 -0
  141. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/maaq.py +0 -0
  142. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mab.py +0 -0
  143. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/macd.py +0 -0
  144. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mama.py +0 -0
  145. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/marketfi.py +0 -0
  146. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mass.py +0 -0
  147. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mcginley_dynamic.py +0 -0
  148. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mean_ad.py +0 -0
  149. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/median_ad.py +0 -0
  150. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/medprice.py +0 -0
  151. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mfi.py +0 -0
  152. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/midpoint.py +0 -0
  153. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/midprice.py +0 -0
  154. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/minmax.py +0 -0
  155. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mom.py +0 -0
  156. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/mwdx.py +0 -0
  157. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/natr.py +0 -0
  158. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/nma.py +0 -0
  159. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/nvi.py +0 -0
  160. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/obv.py +0 -0
  161. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/pfe.py +0 -0
  162. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/pivot.py +0 -0
  163. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/pma.py +0 -0
  164. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ppo.py +0 -0
  165. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/pvi.py +0 -0
  166. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/pwma.py +0 -0
  167. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/qstick.py +0 -0
  168. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/reflex.py +0 -0
  169. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rma.py +0 -0
  170. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/roc.py +0 -0
  171. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rocp.py +0 -0
  172. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rocr.py +0 -0
  173. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rocr100.py +0 -0
  174. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/roofing.py +0 -0
  175. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rsi.py +0 -0
  176. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rsmk.py +0 -0
  177. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rsx.py +0 -0
  178. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/rvi.py +0 -0
  179. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/safezonestop.py +0 -0
  180. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/sar.py +0 -0
  181. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/sinwma.py +0 -0
  182. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/skew.py +0 -0
  183. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/sma.py +0 -0
  184. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/smma.py +0 -0
  185. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/squeeze_momentum.py +0 -0
  186. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/sqwma.py +0 -0
  187. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/srsi.py +0 -0
  188. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/srwma.py +0 -0
  189. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/stc.py +0 -0
  190. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/stddev.py +0 -0
  191. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/stiffness.py +0 -0
  192. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/stochastic.py +0 -0
  193. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/stochf.py +0 -0
  194. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/supersmoother.py +0 -0
  195. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/supersmoother_3_pole.py +0 -0
  196. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/supertrend.py +0 -0
  197. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/support_resistance_with_break.py +0 -0
  198. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/swma.py +0 -0
  199. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/t3.py +0 -0
  200. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/tema.py +0 -0
  201. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/trange.py +0 -0
  202. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/trendflex.py +0 -0
  203. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/trima.py +0 -0
  204. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/trix.py +0 -0
  205. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/tsf.py +0 -0
  206. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/tsi.py +0 -0
  207. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ttm_squeeze.py +0 -0
  208. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ttm_trend.py +0 -0
  209. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/typprice.py +0 -0
  210. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ui.py +0 -0
  211. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/ultosc.py +0 -0
  212. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/var.py +0 -0
  213. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vi.py +0 -0
  214. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vidya.py +0 -0
  215. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vlma.py +0 -0
  216. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/volume.py +0 -0
  217. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vosc.py +0 -0
  218. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/voss.py +0 -0
  219. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vpci.py +0 -0
  220. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vpt.py +0 -0
  221. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vpwma.py +0 -0
  222. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vwap.py +0 -0
  223. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vwma.py +0 -0
  224. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/vwmacd.py +0 -0
  225. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/wad.py +0 -0
  226. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/waddah_attr_explosion.py +0 -0
  227. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/wclprice.py +0 -0
  228. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/wilders.py +0 -0
  229. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/willr.py +0 -0
  230. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/wma.py +0 -0
  231. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/wt.py +0 -0
  232. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/zlema.py +0 -0
  233. {jesse-3.2.0 → jesse-3.2.1}/jesse/indicators/zscore.py +0 -0
  234. {jesse-3.2.0 → jesse-3.2.1}/jesse/info.py +0 -0
  235. {jesse-3.2.0 → jesse-3.2.1}/jesse/libs/__init__.py +0 -0
  236. {jesse-3.2.0 → jesse-3.2.1}/jesse/libs/custom_json/__init__.py +0 -0
  237. {jesse-3.2.0 → jesse-3.2.1}/jesse/libs/dynamic_numpy_array/__init__.py +0 -0
  238. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/USAGE_LIMITS.md +0 -0
  239. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/__init__.py +0 -0
  240. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/agent_rules.py +0 -0
  241. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/manager.py +0 -0
  242. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/mcp_config.py +0 -0
  243. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/__init__.py +0 -0
  244. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/backtest_management.md +0 -0
  245. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/backtest_metrics.md +0 -0
  246. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/charts.md +0 -0
  247. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/configuration.md +0 -0
  248. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/credentials.md +0 -0
  249. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/indicator.md +0 -0
  250. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/monte_carlo.md +0 -0
  251. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/optimization.md +0 -0
  252. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/position_risk.md +0 -0
  253. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/resources/significance_test.md +0 -0
  254. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/server.py +0 -0
  255. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/test.py +0 -0
  256. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/__init__.py +0 -0
  257. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/backtest.py +0 -0
  258. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/config.py +0 -0
  259. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/credentials.py +0 -0
  260. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/general.py +0 -0
  261. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/indicator.py +0 -0
  262. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/monte_carlo.py +0 -0
  263. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/optimization.py +0 -0
  264. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/__init__.py +0 -0
  265. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/auth.py +0 -0
  266. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/backtest.py +0 -0
  267. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/candles.py +0 -0
  268. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/config.py +0 -0
  269. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/credentials.py +0 -0
  270. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/general.py +0 -0
  271. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/indicator.py +0 -0
  272. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/monte_carlo.py +0 -0
  273. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/optimization.py +0 -0
  274. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/session_config.py +0 -0
  275. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/significance_test.py +0 -0
  276. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/services/strategy.py +0 -0
  277. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/significance_test.py +0 -0
  278. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/tools/strategy.py +0 -0
  279. {jesse-3.2.0 → jesse-3.2.1}/jesse/mcp/usage_limits.py +0 -0
  280. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/AiModel.py +0 -0
  281. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/BacktestSession.py +0 -0
  282. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Candle.py +0 -0
  283. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/ClosedTrade.py +0 -0
  284. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/DataProviderCredentials.py +0 -0
  285. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Exchange.py +0 -0
  286. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/ExchangeApiKeys.py +0 -0
  287. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/FuturesExchange.py +0 -0
  288. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/LiveChart.py +0 -0
  289. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/LiveEquitySnapshot.py +0 -0
  290. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/LiveSession.py +0 -0
  291. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Log.py +0 -0
  292. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/MonteCarloSession.py +0 -0
  293. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/NotificationApiKeys.py +0 -0
  294. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/OpenTab.py +0 -0
  295. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/OptimizationSession.py +0 -0
  296. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Option.py +0 -0
  297. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Order.py +0 -0
  298. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Orderbook.py +0 -0
  299. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/PeriodTemplate.py +0 -0
  300. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Position.py +0 -0
  301. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Route.py +0 -0
  302. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/RouteTemplate.py +0 -0
  303. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/SignificanceTestSession.py +0 -0
  304. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/SpotExchange.py +0 -0
  305. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Ticker.py +0 -0
  306. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/Trade.py +0 -0
  307. {jesse-3.2.0 → jesse-3.2.1}/jesse/models/__init__.py +0 -0
  308. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/__init__.py +0 -0
  309. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/backtest_mode.py +0 -0
  310. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/data_provider.py +0 -0
  311. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/exchange_api_keys.py +0 -0
  312. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/__init__.py +0 -0
  313. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetual.py +0 -0
  314. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualMain.py +0 -0
  315. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualTestnet.py +0 -0
  316. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/__init__.py +0 -0
  317. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/apex_omni_utils.py +0 -0
  318. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/__init__.py +0 -0
  319. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-arm.dylib +0 -0
  320. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-x86.dylib +0 -0
  321. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.dylib +0 -0
  322. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.so +0 -0
  323. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-arm.py +0 -0
  324. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-pc.py +0 -0
  325. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-x86.py +0 -0
  326. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.dll +0 -0
  327. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.py +0 -0
  328. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Binance/BinanceMain.py +0 -0
  329. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFutures.py +0 -0
  330. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFuturesTestnet.py +0 -0
  331. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Binance/BinanceSpot.py +0 -0
  332. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Binance/BinanceUSSpot.py +0 -0
  333. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Binance/__init__.py +0 -0
  334. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Binance/binance_utils.py +0 -0
  335. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bitfinex/BitfinexSpot.py +0 -0
  336. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bitfinex/__init__.py +0 -0
  337. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bitfinex/bitfinex_utils.py +0 -0
  338. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/BybitMain.py +0 -0
  339. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpot.py +0 -0
  340. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpotTestnet.py +0 -0
  341. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetual.py +0 -0
  342. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetualTestnet.py +0 -0
  343. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetual.py +0 -0
  344. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetualTestnet.py +0 -0
  345. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/__init__.py +0 -0
  346. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Bybit/bybit_utils.py +0 -0
  347. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Coinbase/CoinbaseSpot.py +0 -0
  348. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Coinbase/__init__.py +0 -0
  349. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Coinbase/coinbase_utils.py +0 -0
  350. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Gate/GateSpot.py +0 -0
  351. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Gate/GateSpotMain.py +0 -0
  352. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTMain.py +0 -0
  353. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTPerpetual.py +0 -0
  354. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Gate/__init__.py +0 -0
  355. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Gate/gate_utils.py +0 -0
  356. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetual.py +0 -0
  357. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualMain.py +0 -0
  358. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualTestnet.py +0 -0
  359. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Hyperliquid/__init__.py +0 -0
  360. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Hyperliquid/hyperliquid_utils.py +0 -0
  361. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetual.py +0 -0
  362. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualMain.py +0 -0
  363. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualTestnet.py +0 -0
  364. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpot.py +0 -0
  365. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpotMain.py +0 -0
  366. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Kraken/__init__.py +0 -0
  367. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Kraken/kraken_utils.py +0 -0
  368. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinFuturesMain.py +0 -0
  369. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpot.py +0 -0
  370. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpotMain.py +0 -0
  371. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinUSDTPerpetual.py +0 -0
  372. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/KuCoin/__init__.py +0 -0
  373. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/KuCoin/kucoin_utils.py +0 -0
  374. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/LighterMain.py +0 -0
  375. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetual.py +0 -0
  376. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetualTestnet.py +0 -0
  377. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/__init__.py +0 -0
  378. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/lighter_utils.py +0 -0
  379. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/__init__.py +0 -0
  380. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-darwin-arm64.dylib +0 -0
  381. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-amd64.so +0 -0
  382. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-arm64.so +0 -0
  383. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-windows-amd64.dll +0 -0
  384. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/__init__.py +0 -0
  385. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/import_candles_mode/drivers/interface.py +0 -0
  386. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/monte_carlo_mode/MonteCarloRunner.py +0 -0
  387. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/monte_carlo_mode/__init__.py +0 -0
  388. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/notification_api_keys.py +0 -0
  389. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/optimize_mode/Optimize.py +0 -0
  390. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/optimize_mode/__init__.py +0 -0
  391. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/optimize_mode/fitness.py +0 -0
  392. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/significance_test_mode/SignificanceTestRunner.py +0 -0
  393. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/significance_test_mode/__init__.py +0 -0
  394. {jesse-3.2.0 → jesse-3.2.1}/jesse/modes/utils.py +0 -0
  395. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/__init__.py +0 -0
  396. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/candle_repository.py +0 -0
  397. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/closed_trade_repository.py +0 -0
  398. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/data_provider_credentials_repository.py +0 -0
  399. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/live_chart_repository.py +0 -0
  400. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/live_equity_repository.py +0 -0
  401. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/live_session_repository.py +0 -0
  402. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/open_tab_repository.py +0 -0
  403. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/order_repository.py +0 -0
  404. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/period_template_repository.py +0 -0
  405. {jesse-3.2.0 → jesse-3.2.1}/jesse/repositories/route_template_repository.py +0 -0
  406. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/__init__.py +0 -0
  407. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/backtest.py +0 -0
  408. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/candles.py +0 -0
  409. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/import_candles.py +0 -0
  410. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/ml.py +0 -0
  411. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/monte_carlo/__init__.py +0 -0
  412. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/monte_carlo/common.py +0 -0
  413. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/monte_carlo/monte_carlo_candles.py +0 -0
  414. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/monte_carlo/monte_carlo_trades.py +0 -0
  415. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/optimize/__init__.py +0 -0
  416. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/rule_significance_testing/__init__.py +0 -0
  417. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/rule_significance_testing/bootstrap.py +0 -0
  418. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/rule_significance_testing/common.py +0 -0
  419. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/rule_significance_testing/plots.py +0 -0
  420. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/rule_significance_testing/rule_significance.py +0 -0
  421. {jesse-3.2.0 → jesse-3.2.1}/jesse/research/rule_significance_testing/simulator.py +0 -0
  422. {jesse-3.2.0 → jesse-3.2.1}/jesse/routes/__init__.py +0 -0
  423. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/__init__.py +0 -0
  424. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/api.py +0 -0
  425. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/auth.py +0 -0
  426. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/broker.py +0 -0
  427. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/cache.py +0 -0
  428. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/candle_service.py +0 -0
  429. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/charts.py +0 -0
  430. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/closed_trade_service.py +0 -0
  431. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/color.py +0 -0
  432. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/custom_candle_import.py +0 -0
  433. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/db.py +0 -0
  434. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/e2e_database.py +0 -0
  435. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/env.py +0 -0
  436. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/exchange_service.py +0 -0
  437. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/failure.py +0 -0
  438. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/file.py +0 -0
  439. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/general_info.py +0 -0
  440. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/historical_data/__init__.py +0 -0
  441. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/historical_data/contracts.py +0 -0
  442. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/historical_data/credential_validation.py +0 -0
  443. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/historical_data/errors.py +0 -0
  444. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/historical_data/massive_stocks.py +0 -0
  445. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/historical_data/providers/__init__.py +0 -0
  446. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/historical_data/registry.py +0 -0
  447. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/installer.py +0 -0
  448. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/jesse_trade.py +0 -0
  449. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/live_chart_service.py +0 -0
  450. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/logger.py +0 -0
  451. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/lsp.py +0 -0
  452. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/metrics.py +0 -0
  453. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/migrator.py +0 -0
  454. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/multiprocessing.py +0 -0
  455. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/notifier.py +0 -0
  456. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/order_service.py +0 -0
  457. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/position_service.py +0 -0
  458. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/progressbar.py +0 -0
  459. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/redis.py +0 -0
  460. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/report.py +0 -0
  461. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/simulation_assumptions.py +0 -0
  462. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/strategy_handler/ExampleStrategy/__init__.py +0 -0
  463. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/strategy_handler/__init__.py +0 -0
  464. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/strategy_service.py +0 -0
  465. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/symbol_catalog.py +0 -0
  466. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/table.py +0 -0
  467. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/trading_hours.py +0 -0
  468. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/transformers.py +0 -0
  469. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/validators.py +0 -0
  470. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/web.py +0 -0
  471. {jesse-3.2.0 → jesse-3.2.1}/jesse/services/ws_manager.py +0 -0
  472. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/200.html +0 -0
  473. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/404.html +0 -0
  474. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/08VXUWAP.js +0 -0
  475. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/0ONmXmPL.js +0 -0
  476. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/1XVEVF4R.js +0 -0
  477. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/1lwvrZu5.js +0 -0
  478. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/1uxVtXhK2.js +0 -0
  479. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/25FdeeAd.js +0 -0
  480. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/2IIEA8gg2.js +0 -0
  481. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/2k_QeT3T.js +0 -0
  482. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/32DixAac.js +0 -0
  483. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/35Gd1l6b.js +0 -0
  484. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/3KuTZQMl2.js +0 -0
  485. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/43DmfD332.js +0 -0
  486. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/4G7pJPwS2.js +0 -0
  487. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/5eyTD99u.js +0 -0
  488. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/6RTg0lbw.js +0 -0
  489. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/6d_DINYp2.js +0 -0
  490. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/6hrdeXKO.js +0 -0
  491. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/9SMx-Yg9.js +0 -0
  492. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/9SuGUQxQ.js +0 -0
  493. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/AGOgedFG2.js +0 -0
  494. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/AsfNJWWT.js +0 -0
  495. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B-yKKtcE2.js +0 -0
  496. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B01W0raW.js +0 -0
  497. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B02lME3Q.js +0 -0
  498. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B2-f6Wu2.js +0 -0
  499. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B2OO5cIa2.js +0 -0
  500. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B2kYdT-M.js +0 -0
  501. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B3Tmza7s2.js +0 -0
  502. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B4Wc4BFL2.js +0 -0
  503. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B4t1Dpxy.js +0 -0
  504. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B5-_aFwp.js +0 -0
  505. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B5W6OYN72.js +0 -0
  506. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B5e22D9r.js +0 -0
  507. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B68TUdTA.js +0 -0
  508. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B6UiomQj.js +0 -0
  509. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B8J7ngcE.js +0 -0
  510. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B8_r5oP7.js +0 -0
  511. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B8rOtbmR.js +0 -0
  512. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B8xNgNWT.js +0 -0
  513. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B9JPFI3C.js +0 -0
  514. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B9MRSN3q2.js +0 -0
  515. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BAlG784d2.js +0 -0
  516. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BBjHab7x.js +0 -0
  517. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BCixiDKj.js +0 -0
  518. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BD87b4dR2.js +0 -0
  519. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BDNMzG2s2.js +0 -0
  520. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BEEn4gHE.js +0 -0
  521. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BEtHBSE6.js +0 -0
  522. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BG8CfSEZ2.js +0 -0
  523. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BGMtTsN-.js +0 -0
  524. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BHWKrbxM.js +0 -0
  525. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BI3Y1cOA.js +0 -0
  526. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BJzMFF2L.js +0 -0
  527. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BKD0O2_Q.js +0 -0
  528. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BKFC8tTN.js +0 -0
  529. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BKPLz4po2.js +0 -0
  530. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BKcRqSit.js +0 -0
  531. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BKxtCVv1.js +0 -0
  532. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BLCaNkgi.js +0 -0
  533. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BLhvb9Y-.js +0 -0
  534. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BMrGqELX.js +0 -0
  535. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BN08jTvb.js +0 -0
  536. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BOotOW0E.js +0 -0
  537. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BQYoEE-E2.js +0 -0
  538. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BRSARzao2.js +0 -0
  539. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BRqV1csJ.js +0 -0
  540. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BSSBbjzH.js +0 -0
  541. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BSWPekZh2.js +0 -0
  542. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BSt81nX4.js +0 -0
  543. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BSu9_R8X2.js +0 -0
  544. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BT_Y9Qa72.js +0 -0
  545. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BTgcbkPe2.js +0 -0
  546. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BTkZN-kY.js +0 -0
  547. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BUvLBkUT2.js +0 -0
  548. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BVAhOJRw.js +0 -0
  549. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BWDSh1SW.js +0 -0
  550. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BWPQTe0t.js +0 -0
  551. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BXViO-2h.js +0 -0
  552. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BYdTN3Ud2.js +0 -0
  553. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BYgofb2h.js +0 -0
  554. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BYsxK_gZ.js +0 -0
  555. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BZ4HG2rr2.js +0 -0
  556. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BZCL-v6S.js +0 -0
  557. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B_-2JulU.js +0 -0
  558. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/B_tTalzw.js +0 -0
  559. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Ba7i2nA0.js +0 -0
  560. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BacktestTabs.BhkXf2je.css +0 -0
  561. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BapWjBt9.js +0 -0
  562. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BcJ0KAXG.js +0 -0
  563. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bc_sGQ0U.js +0 -0
  564. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bdoqq8BI2.js +0 -0
  565. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BeGwcela.js +0 -0
  566. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Beywemwu.js +0 -0
  567. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BfbyNUB7.js +0 -0
  568. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bh7THQLS2.js +0 -0
  569. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BhKQO4Px.js +0 -0
  570. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BhPF9KW82.js +0 -0
  571. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BhjAJghj.js +0 -0
  572. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BiK3sWoz2.js +0 -0
  573. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BiX_3ZGn2.js +0 -0
  574. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BjSKRB-a2.js +0 -0
  575. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BjshL_xA2.js +0 -0
  576. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BkmU6oQY.js +0 -0
  577. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bkml37m-.js +0 -0
  578. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BldMJGpi.js +0 -0
  579. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bm3Qr25_2.js +0 -0
  580. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BmBupKYI2.js +0 -0
  581. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bmbr8zF3.js +0 -0
  582. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BnjxR4X6.js +0 -0
  583. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bnr-372i.js +0 -0
  584. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bnr-Ft3Y.js +0 -0
  585. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bo9Dl7tn.js +0 -0
  586. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BoEzQrVW.js +0 -0
  587. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BoK4YRpC2.js +0 -0
  588. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BolyLLo5.js +0 -0
  589. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BpBaBBm3.js +0 -0
  590. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BpJ9fpSU.js +0 -0
  591. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BqJ9I9M42.js +0 -0
  592. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bqx3koTc.js +0 -0
  593. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bri6UV-V.js +0 -0
  594. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BshRgckk.js +0 -0
  595. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BsuIFbdf2.js +0 -0
  596. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bt4sAq3f.js +0 -0
  597. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BtUnaqJ2.js +0 -0
  598. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Buu8uHmp2.js +0 -0
  599. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BvwLaU7c.js +0 -0
  600. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BvzEE6Lm.js +0 -0
  601. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bw1-c76v.js +0 -0
  602. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BwWrilGY2.js +0 -0
  603. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BwjZg7Kw2.js +0 -0
  604. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bx1FflLF.js +0 -0
  605. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bxkupp3x.js +0 -0
  606. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/By-L4I7w.js +0 -0
  607. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/By1ptfmn2.js +0 -0
  608. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Bz4Y3fRF.js +0 -0
  609. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/BzMNZVT72.js +0 -0
  610. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C-69Y6Pu.js +0 -0
  611. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C-LZuMrd.js +0 -0
  612. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C-RhCxcP2.js +0 -0
  613. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C-y9NEjX.js +0 -0
  614. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C25aelnV2.js +0 -0
  615. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C2shJFxU.js +0 -0
  616. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C3oCr-8k2.js +0 -0
  617. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C531GsRP2.js +0 -0
  618. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C5_-GSwl.js +0 -0
  619. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C5kJGiKi2.js +0 -0
  620. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C7h46wYY.js +0 -0
  621. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C8468PWD.js +0 -0
  622. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C8Ef5oNN.js +0 -0
  623. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C8q3xVCB.js +0 -0
  624. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C8r90Shi.js +0 -0
  625. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C96bnRGM.js +0 -0
  626. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C9St-qHN.js +0 -0
  627. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CAWjiWzg2.js +0 -0
  628. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CC-BCOei.js +0 -0
  629. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CC2rA5mh.js +0 -0
  630. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CC3Dc58n.js +0 -0
  631. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CC8GggWq2.js +0 -0
  632. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CCUjCBK52.js +0 -0
  633. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CD78tava2.js +0 -0
  634. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CDeNXAV0.js +0 -0
  635. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CFAvbRBv.js +0 -0
  636. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CFDCSoUG.js +0 -0
  637. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CH6Zxsf52.js +0 -0
  638. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CHKcdHUs2.js +0 -0
  639. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CHQ94UKr2.js +0 -0
  640. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CIPQ_RoX2.js +0 -0
  641. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CJ3rzSJv2.js +0 -0
  642. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CJ5SUZOH2.js +0 -0
  643. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CJNUlr67.js +0 -0
  644. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CLIur_dZ.js +0 -0
  645. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CMC9H7kb.js +0 -0
  646. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CMnkeXFt.js +0 -0
  647. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CO65HNi2.js +0 -0
  648. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/COtstiRA2.js +0 -0
  649. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/COyNsUt6.js +0 -0
  650. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CQRhyXHt.js +0 -0
  651. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CQUMS8QJ2.js +0 -0
  652. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CRal5XOA2.js +0 -0
  653. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CRfGWb83.js +0 -0
  654. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CRyZUaTi.js +0 -0
  655. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CTweb8Dz2.js +0 -0
  656. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CUKGrt9p2.js +0 -0
  657. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CUL-_UXV2.js +0 -0
  658. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CUP8soDG.js +0 -0
  659. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CVPISREU.js +0 -0
  660. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CVaqCwHa.js +0 -0
  661. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CW42rLZD.js +0 -0
  662. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CWDvEqlu2.js +0 -0
  663. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CXHoNUfW.js +0 -0
  664. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CXcZYQdg.js +0 -0
  665. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CXtmUGW6.js +0 -0
  666. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CXuuVbXE.js +0 -0
  667. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CZ3SG3_I2.js +0 -0
  668. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CZoCCMwk2.js +0 -0
  669. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CZsCp6_J.js +0 -0
  670. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CZymKofZ2.js +0 -0
  671. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/C_8bwKvT2.js +0 -0
  672. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CaLoWpdj2.js +0 -0
  673. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cb4Vim4T2.js +0 -0
  674. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CbKt6i1F2.js +0 -0
  675. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cba4tSYP.js +0 -0
  676. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CbdYpKc9.js +0 -0
  677. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CcEz-6AP2.js +0 -0
  678. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CcwsVR0C.js +0 -0
  679. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cd-sGgPF.js +0 -0
  680. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CdkpiU2Y2.js +0 -0
  681. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Ceyelwdz.js +0 -0
  682. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cf85K_3V.js +0 -0
  683. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cf9Ao90m2.js +0 -0
  684. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CfSJPG6W2.js +0 -0
  685. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cfl0F_Ix.js +0 -0
  686. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CfvQ0GVj2.js +0 -0
  687. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Ci7ol7o5.js +0 -0
  688. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cimd5fb32.js +0 -0
  689. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CioJR-lb.js +0 -0
  690. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CircleProgressbar.DG_Oo3ZB.css +0 -0
  691. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CjM6HreG.js +0 -0
  692. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CjSZG47B2.js +0 -0
  693. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Ck9wOcVq.js +0 -0
  694. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CkJ3IzwM2.js +0 -0
  695. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CkN8TU5K.js +0 -0
  696. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CkRax0sH.js +0 -0
  697. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cl4KV_tk.js +0 -0
  698. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/ClCothXP.js +0 -0
  699. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/ClamHrr62.js +0 -0
  700. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cm7r79vr.js +0 -0
  701. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CnscBGsj2.js +0 -0
  702. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CoKYUvtC.js +0 -0
  703. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CoKk4mC0.js +0 -0
  704. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Con6PA_2.js +0 -0
  705. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CopQ2nXW2.js +0 -0
  706. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CowLSvep.js +0 -0
  707. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CpL23Fmb2.js +0 -0
  708. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CpdwwrfH.js +0 -0
  709. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CpzslTdj.js +0 -0
  710. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cr7JoK-F.js +0 -0
  711. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CrVSgIkM2.js +0 -0
  712. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cs2F2srj.js +0 -0
  713. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CsQS60Ue2.js +0 -0
  714. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CsvMBhTu.js +0 -0
  715. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cuy4t56v.js +0 -0
  716. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CximN0RY2.js +0 -0
  717. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CyQZr6J2.js +0 -0
  718. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CyiiZBUN2.js +0 -0
  719. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/CylTzRX72.js +0 -0
  720. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Cz7rf_X82.js +0 -0
  721. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Czk_mF82.js +0 -0
  722. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D-9WcGfc2.js +0 -0
  723. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D-V0WHGE2.js +0 -0
  724. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D-kcNTYM.js +0 -0
  725. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D-oSqn_W2.js +0 -0
  726. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D-ptJ9y-2.js +0 -0
  727. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D05T4iGw.js +0 -0
  728. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D0mw5jGK.js +0 -0
  729. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D1yN6wZY2.js +0 -0
  730. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D24BC_UT2.js +0 -0
  731. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D2ZwgM9U2.js +0 -0
  732. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D2mw--Fl2.js +0 -0
  733. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D2ymy_yS.js +0 -0
  734. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D3HTKQgj2.js +0 -0
  735. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D3hlyOfw2.js +0 -0
  736. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D4-rlkSU.js +0 -0
  737. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D5GhRiPb.js +0 -0
  738. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D5ROd09N2.js +0 -0
  739. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D5Retr0R2.js +0 -0
  740. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D5Z5IiLY2.js +0 -0
  741. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D8_NR6i12.js +0 -0
  742. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D94iqX0Y2.js +0 -0
  743. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DB-uxtVd.js +0 -0
  744. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DCQb3MpD.js +0 -0
  745. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DD7sRF69.js +0 -0
  746. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DDPgixDB.js +0 -0
  747. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DDe1Q-WN2.js +0 -0
  748. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DDpmG2fV2.js +0 -0
  749. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DDwmkQR0.js +0 -0
  750. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DEJw_qiA2.js +0 -0
  751. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DFBbRf0l.js +0 -0
  752. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DFfgcuRt.js +0 -0
  753. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DFwEHpFD.js +0 -0
  754. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DHBI_yxQ.js +0 -0
  755. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DHpiXF5c.js +0 -0
  756. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DIMkf-bt.js +0 -0
  757. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DISqw1ZD.js +0 -0
  758. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DItLkvgc2.js +0 -0
  759. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DK0GhfdP.js +0 -0
  760. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DKCQ3kY7.js +0 -0
  761. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DKSmMEZa2.js +0 -0
  762. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DLJdWeDZ2.js +0 -0
  763. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DLSXrvMj.js +0 -0
  764. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DMUM7wLl.js +0 -0
  765. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DMnEoi8l.js +0 -0
  766. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DNB37k3h2.js +0 -0
  767. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DOTl9kKz.js +0 -0
  768. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DOgf9of5.js +0 -0
  769. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DOwBwxAc2.js +0 -0
  770. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DP8dx3Mz.js +0 -0
  771. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DPDvM2ct.js +0 -0
  772. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DPJPAjQR.js +0 -0
  773. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DPUBG1Sa2.js +0 -0
  774. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DPZlj92U.js +0 -0
  775. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DQ-b8cau.js +0 -0
  776. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DQU07tlD.js +0 -0
  777. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DQUlB_uC.js +0 -0
  778. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DQwYfKfQ2.js +0 -0
  779. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DRFjx7u42.js +0 -0
  780. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DSh2HLQt2.js +0 -0
  781. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DT7zqm-g.js +0 -0
  782. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DTj74zXo2.js +0 -0
  783. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DV17i1UV2.js +0 -0
  784. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DV3o63ZY.js +0 -0
  785. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DVG0V4jx.js +0 -0
  786. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DVQuIRkW2.js +0 -0
  787. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DVvwPJMn2.js +0 -0
  788. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DWUE7pqF2.js +0 -0
  789. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DXG-b-1a.js +0 -0
  790. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DXgieCCJ.js +0 -0
  791. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DY43dlCC.js +0 -0
  792. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DYlRzrDj.js +0 -0
  793. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DZFCIeNp.js +0 -0
  794. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DZsh6Vsl2.js +0 -0
  795. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D_3yiDAS.js +0 -0
  796. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D_Lu-MrJ.js +0 -0
  797. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/D_Sm39l5.js +0 -0
  798. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DauUninz2.js +0 -0
  799. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DaxQctDl.js +0 -0
  800. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Db4fpp4X2.js +0 -0
  801. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DbInun42.js +0 -0
  802. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DcUUodPk.js +0 -0
  803. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DdJ6paNh.js +0 -0
  804. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DdL9SqIa.js +0 -0
  805. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/De02G7DS.js +0 -0
  806. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/De2hgUGE.js +0 -0
  807. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DezsRK8O.js +0 -0
  808. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Df2xbC6M.js +0 -0
  809. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DfC9-Oas2.js +0 -0
  810. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DgPtEepw2.js +0 -0
  811. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DgfQ8roX.js +0 -0
  812. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DhQhRRFW2.js +0 -0
  813. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DhmEMT882.js +0 -0
  814. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DiQii0fS.js +0 -0
  815. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DikR2-RP.js +0 -0
  816. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DipiWojk.js +0 -0
  817. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DjAgHZrJ2.js +0 -0
  818. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DkmNSMHY.js +0 -0
  819. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DkqhCAOL2.js +0 -0
  820. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dl3pNQBR2.js +0 -0
  821. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DlW2jO6L2.js +0 -0
  822. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DljXZpSz.js +0 -0
  823. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dm6T-vrV2.js +0 -0
  824. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DmHpPYUd2.js +0 -0
  825. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DmNVVboZ.js +0 -0
  826. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dmf8Y0ON2.js +0 -0
  827. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DnKPLd6d.js +0 -0
  828. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DnToyrRv2.js +0 -0
  829. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DoT8DRFX.js +0 -0
  830. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dp-2asp4.js +0 -0
  831. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DpFanUEy.js +0 -0
  832. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DpIdnCtC.js +0 -0
  833. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DpTtcPZs2.js +0 -0
  834. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DpW8JRZm.js +0 -0
  835. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DqJzYO7Y2.js +0 -0
  836. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DqT4cj-J.js +0 -0
  837. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DqXIJaHE.js +0 -0
  838. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DrH0SRf22.js +0 -0
  839. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Ds29f9ZA.js +0 -0
  840. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Ds9iBrvx.js +0 -0
  841. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dsw3HnIE.js +0 -0
  842. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dt39crSB.js +0 -0
  843. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dt9aNFbE.js +0 -0
  844. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DtGle1nz2.js +0 -0
  845. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DtX02f_x2.js +0 -0
  846. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DuT2u1M92.js +0 -0
  847. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DxSv1ANE2.js +0 -0
  848. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dxp_UTNE.js +0 -0
  849. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DyeqKBoC.js +0 -0
  850. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Dyqgk9ID2.js +0 -0
  851. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/DytYwiiF.js +0 -0
  852. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/EUqPIrTm.js +0 -0
  853. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/EZH7P6f9.js +0 -0
  854. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/EoqKQiEy2.js +0 -0
  855. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/FIalSC7A.js +0 -0
  856. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/FXfnIlgg2.js +0 -0
  857. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/FvmIjYaQ2.js +0 -0
  858. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/HSRijeU2.js +0 -0
  859. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/HclGiUj8.js +0 -0
  860. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/HlOV9je9.js +0 -0
  861. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Hsn-rFuA.js +0 -0
  862. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Hza2DNlp.js +0 -0
  863. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/IXshMDJQ.js +0 -0
  864. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/IliqAppL.js +0 -0
  865. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Inter-VariableFont_slnt_wght.Cl4AQHp9.ttf +0 -0
  866. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/JVoApnG_.js +0 -0
  867. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/JaHKEXQh.js +0 -0
  868. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/JgXkd7uo2.js +0 -0
  869. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/JjuYFqoF.js +0 -0
  870. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/JpkrmRYq2.js +0 -0
  871. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/KfYW7BGn.js +0 -0
  872. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/KgIFLbLy.js +0 -0
  873. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/KhqzbbC32.js +0 -0
  874. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/L2jIIa9o.js +0 -0
  875. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/LO_BkMJ8.js +0 -0
  876. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/LRbiS5Dz.js +0 -0
  877. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/LiveTabs.rsQh4sN8.css +0 -0
  878. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Mi0eZJ_C2.js +0 -0
  879. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/NEE52Syq.js +0 -0
  880. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/NyRjDEkA2.js +0 -0
  881. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/O1vzaDvk2.js +0 -0
  882. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/OaeI3Ulg.js +0 -0
  883. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/OfUAv67B2.js +0 -0
  884. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/ProgressStatusText.BQK0FaGL.css +0 -0
  885. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Q6FVf6Zo.js +0 -0
  886. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/QTnfLwEv.js +0 -0
  887. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/QZfQtQzF2.js +0 -0
  888. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/QoymgQo0.js +0 -0
  889. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/SOo6toE52.js +0 -0
  890. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/StrategiesSidebar.DVMKtiGP.css +0 -0
  891. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/TradeHistoryChart.Bs0aEPiQ.css +0 -0
  892. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/TtSlr_h_2.js +0 -0
  893. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/VbXTXTou.js +0 -0
  894. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/VuUr933P2.js +0 -0
  895. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/WA2gHESr.js +0 -0
  896. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/WF6tEroY2.js +0 -0
  897. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/WFnVOHr3.js +0 -0
  898. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/WZ5HE0X3.js +0 -0
  899. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Wy_umkB72.js +0 -0
  900. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/YdFKNLmY.js +0 -0
  901. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/Z5eAx3Zn2.js +0 -0
  902. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/_3zCpt1T.js +0 -0
  903. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/_7BVYBMY2.js +0 -0
  904. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/_b8AQjYy.js +0 -0
  905. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/_id_.B3a6JG34.css +0 -0
  906. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/_id_.BCRDQrek.css +0 -0
  907. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/_id_.BRd1elCl.css +0 -0
  908. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/aQXfN9KN.js +0 -0
  909. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/apGZNcKz.js +0 -0
  910. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/atteXEGs.js +0 -0
  911. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/bTuwJoIa.js +0 -0
  912. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/bjCyB0Gn2.js +0 -0
  913. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/bpSru2N82.js +0 -0
  914. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/ccMIPn_w.js +0 -0
  915. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/coSIg_O3.js +0 -0
  916. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/codicon.Brq4_Ui5.ttf +0 -0
  917. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/css.worker-B1A7g9RU.js +0 -0
  918. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/dLd1bcTA2.js +0 -0
  919. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/dnt9x4Qr.js +0 -0
  920. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/eDEyLi0S.js +0 -0
  921. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/editor.DNwT-hdg.css +0 -0
  922. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/entry.CkGiV5Q9.css +0 -0
  923. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/error-404.DjFB7pgG.css +0 -0
  924. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/error-500.BG9pmads.css +0 -0
  925. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/fmXr3nnJ.js +0 -0
  926. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/foABv0nJ.js +0 -0
  927. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/fwtXNY1n.js +0 -0
  928. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/gEsa7Idh.js +0 -0
  929. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/gG0NvZLm2.js +0 -0
  930. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/gp-XZpBa.js +0 -0
  931. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/grryJGmv.js +0 -0
  932. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/hBpBmjHp.js +0 -0
  933. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/hZRgR8Lc.js +0 -0
  934. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/hdxB67uV.js +0 -0
  935. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/html.worker-NdFMIQdB.js +0 -0
  936. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/i0X4ZdIN.js +0 -0
  937. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/ibI1KQep.js +0 -0
  938. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/json.worker-Ax0gao5O.js +0 -0
  939. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/lP7_xLqx2.js +0 -0
  940. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/live.BHsUui2i.css +0 -0
  941. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/logo-dark.tKoQPl1k.svg +0 -0
  942. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/logo-light.CS4l4ePq.png +0 -0
  943. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/mAYmvPyL.js +0 -0
  944. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/mnTiCSRt2.js +0 -0
  945. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/monte-carlo.SA-Jni4T.css +0 -0
  946. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/nFMaYfgc.js +0 -0
  947. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/nR0dIlKu.js +0 -0
  948. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/nr791fC22.js +0 -0
  949. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/onAF5SnQ.js +0 -0
  950. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/oz_6vUea2.js +0 -0
  951. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/pQUz-uq3.js +0 -0
  952. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/pRr3cFVo.js +0 -0
  953. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/paCCX65n.js +0 -0
  954. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/pages.Kz8uii-H.css +0 -0
  955. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/qBoaT7Fk2.js +0 -0
  956. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/qpEHnBAB.js +0 -0
  957. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/rHIqefrb.js +0 -0
  958. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/sB-x3p7T.js +0 -0
  959. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/sBoK_t0W.js +0 -0
  960. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/significance-test.C3_9t58f.css +0 -0
  961. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/sltzmVWM2.js +0 -0
  962. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/strategies.CZAezJwX.css +0 -0
  963. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/toggleHighContrast.DUMOsFrl.css +0 -0
  964. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/ts.worker-CiiXQ93o.js +0 -0
  965. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/u9_Y1g7K2.js +0 -0
  966. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/uHUmCDd7.js +0 -0
  967. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/u_o9HDF2.js +0 -0
  968. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/uf1cV9ZP.js +0 -0
  969. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/uhdI0v042.js +0 -0
  970. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/v83TR0fG.js +0 -0
  971. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/wbypxrpR.js +0 -0
  972. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/xk2_4sNk2.js +0 -0
  973. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/xse2Sllu2.js +0 -0
  974. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/y2WM_oP32.js +0 -0
  975. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/y_x7m0Ik2.js +0 -0
  976. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/yjvMp0c6.js +0 -0
  977. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/zMsjhnnN2.js +0 -0
  978. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/_nuxt/zbKwAOr32.js +0 -0
  979. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/favicon.ico +0 -0
  980. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/favicons/android-chrome-192x192.png +0 -0
  981. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/favicons/android-chrome-512x512.png +0 -0
  982. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/favicons/apple-touch-icon.png +0 -0
  983. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/favicons/favicon-16x16.png +0 -0
  984. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/favicons/favicon-32x32.png +0 -0
  985. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/index.html +0 -0
  986. {jesse-3.2.0 → jesse-3.2.1}/jesse/static/robots.txt +0 -0
  987. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/__init__.py +0 -0
  988. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_app.py +0 -0
  989. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_candles.py +0 -0
  990. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_closed_trades.py +0 -0
  991. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_exchanges.py +0 -0
  992. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_logs.py +0 -0
  993. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_orderbook.py +0 -0
  994. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_orders.py +0 -0
  995. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_positions.py +0 -0
  996. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_tickers.py +0 -0
  997. {jesse-3.2.0 → jesse-3.2.1}/jesse/store/state_trades.py +0 -0
  998. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/CanAddClosedTradeToStore/__init__.py +0 -0
  999. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/RealStrategyRegression1/__init__.py +0 -0
  1000. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/RealStrategyRegression2/__init__.py +0 -0
  1001. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/RealStrategyRegression3/__init__.py +0 -0
  1002. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Strategy.py +0 -0
  1003. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test01/__init__.py +0 -0
  1004. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test02/__init__.py +0 -0
  1005. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test04/__init__.py +0 -0
  1006. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test05/__init__.py +0 -0
  1007. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test06/__init__.py +0 -0
  1008. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test07/__init__.py +0 -0
  1009. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test08/__init__.py +0 -0
  1010. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test09/__init__.py +0 -0
  1011. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test10/__init__.py +0 -0
  1012. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test11/__init__.py +0 -0
  1013. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test12/__init__.py +0 -0
  1014. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test13/__init__.py +0 -0
  1015. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test14/__init__.py +0 -0
  1016. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test15/__init__.py +0 -0
  1017. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test16/__init__.py +0 -0
  1018. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test17/__init__.py +0 -0
  1019. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test18/__init__.py +0 -0
  1020. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test19/__init__.py +0 -0
  1021. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test20/__init__.py +0 -0
  1022. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test21/__init__.py +0 -0
  1023. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test22/__init__.py +0 -0
  1024. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test23/__init__.py +0 -0
  1025. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test24/__init__.py +0 -0
  1026. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test25/__init__.py +0 -0
  1027. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test26/__init__.py +0 -0
  1028. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test27/__init__.py +0 -0
  1029. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test28/__init__.py +0 -0
  1030. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test29/__init__.py +0 -0
  1031. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test30/__init__.py +0 -0
  1032. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test31/__init__.py +0 -0
  1033. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test32/__init__.py +0 -0
  1034. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test33/__init__.py +0 -0
  1035. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test34/__init__.py +0 -0
  1036. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test35/__init__.py +0 -0
  1037. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test36/__init__.py +0 -0
  1038. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test37/__init__.py +0 -0
  1039. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test38/__init__.py +0 -0
  1040. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test39/__init__.py +0 -0
  1041. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test40/__init__.py +0 -0
  1042. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test41/__init__.py +0 -0
  1043. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test44/__init__.py +0 -0
  1044. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test45/__init__.py +0 -0
  1045. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test46/__init__.py +0 -0
  1046. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test47/__init__.py +0 -0
  1047. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/Test48/__init__.py +0 -0
  1048. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestAddHorizontalLineToCandleChart/__init__.py +0 -0
  1049. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestAddHorizontalLineToExtraChart/__init__.py +0 -0
  1050. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestAddLineToCandleChart/__init__.py +0 -0
  1051. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestAddLineToExtraChart/__init__.py +0 -0
  1052. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestAfterMethod/__init__.py +0 -0
  1053. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestAverageEntryPriceProperty/__init__.py +0 -0
  1054. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestBalanceAndFeeReductionWorksCorrectlyInSpotModeInBothBuyAndSellOrders/__init__.py +0 -0
  1055. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestBalancesAreHandledCorrectlyForCancellingOrdersInSpot/__init__.py +0 -0
  1056. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestBaseAndQuoteAssetProperties/__init__.py +0 -0
  1057. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestBeforeMethod/__init__.py +0 -0
  1058. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestBeforeTerminate/__init__.py +0 -0
  1059. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong1/__init__.py +0 -0
  1060. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong2/__init__.py +0 -0
  1061. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort1/__init__.py +0 -0
  1062. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort2/__init__.py +0 -0
  1063. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanOpenANewPositionImmediatelyAfterClosingViaUpdatePosition/__init__.py +0 -0
  1064. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanRunWithoutShorting/__init__.py +0 -0
  1065. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1066. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1067. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanSubmitTakeProfitAndStopLossAtSameTimeInSpot/__init__.py +0 -0
  1068. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1069. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1070. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCannotSetStopLossOrderInGoLong/__init__.py +0 -0
  1071. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCannotSetTakeProfitOrderInGoLong/__init__.py +0 -0
  1072. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCannotSpendMoreThanAvailableBalance/__init__.py +0 -0
  1073. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCannotSubmitStopLossOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1074. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCannotSubmitTakeProfitOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1075. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCapitalPropertyRaisesNotImplementedError/__init__.py +0 -0
  1076. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestClosedTradeAfterExitingTrade/__init__.py +0 -0
  1077. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCommonWarmupStart/__init__.py +0 -0
  1078. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCurrentRouteIndex1/__init__.py +0 -0
  1079. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestCurrentRouteIndex2/__init__.py +0 -0
  1080. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestDailyBalanceStoresPortfolioValue/__init__.py +0 -0
  1081. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestDailyBalancesProperty/__init__.py +0 -0
  1082. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestDataRoutes1/__init__.py +0 -0
  1083. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestDataRoutes2/__init__.py +0 -0
  1084. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestDefaultHyperparameters/__init__.py +0 -0
  1085. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestDnaMethod/__init__.py +0 -0
  1086. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestEmptyStrategy/__init__.py +0 -0
  1087. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestEntryOrdersAndExitOrdersProperties/__init__.py +0 -0
  1088. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestExchangeTypeProperty1/__init__.py +0 -0
  1089. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestExchangeTypeProperty2/__init__.py +0 -0
  1090. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestFuturesExchangeAvailableMargin/__init__.py +0 -0
  1091. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestGeneratedDataRouteExecutionBTC/__init__.py +0 -0
  1092. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestGeneratedDataRouteExecutionETH/__init__.py +0 -0
  1093. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestHasLongAndShortEntryOrdersPropertiesInFilters/__init__.py +0 -0
  1094. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestHasLongEntryOrdersProperty/__init__.py +0 -0
  1095. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestHasShortEntryOrdersProperty/__init__.py +0 -0
  1096. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestIncreasedAndReducedCount/__init__.py +0 -0
  1097. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestIncreasingShortPosition/__init__.py +0 -0
  1098. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestInsufficientMargin1/__init__.py +0 -0
  1099. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestInsufficientMargin2/__init__.py +0 -0
  1100. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestInsufficientMargin3/__init__.py +0 -0
  1101. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLeverageProperty1/__init__.py +0 -0
  1102. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLeverageProperty2/__init__.py +0 -0
  1103. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLiquidationInCrossModeForShortTrade/__init__.py +0 -0
  1104. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLiquidationInIsolatedModeForLongTrade/__init__.py +0 -0
  1105. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLiquidationInIsolatedModeForShortTrade/__init__.py +0 -0
  1106. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLogMethodInStrategyClass/__init__.py +0 -0
  1107. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLongLifecycleAcrossTradingModes/__init__.py +0 -0
  1108. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestLongSparseGap/__init__.py +0 -0
  1109. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestMarkPrice/__init__.py +0 -0
  1110. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestMarketOrderForLowPriceDifference/__init__.py +0 -0
  1111. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestMetrics1/__init__.py +0 -0
  1112. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestMultiInstrumentReplayA/__init__.py +0 -0
  1113. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestMultiInstrumentReplayB/__init__.py +0 -0
  1114. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryLongPositions/__init__.py +0 -0
  1115. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryShortPositions/__init__.py +0 -0
  1116. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOnCancelMethod/__init__.py +0 -0
  1117. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOnClosePosition/__init__.py +0 -0
  1118. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOnRouteOpenPosition/__init__.py +0 -0
  1119. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOnRouteOpenPosition2/__init__.py +0 -0
  1120. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOptimizationIsolation/__init__.py +0 -0
  1121. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOrderIsStopLossProperty/__init__.py +0 -0
  1122. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOrderIsTakeProfitProperty/__init__.py +0 -0
  1123. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOrderPriceCannotBeGreaterThanZero/__init__.py +0 -0
  1124. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOrderValueProperty/__init__.py +0 -0
  1125. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOrdersAreSortedBeforeExecution/__init__.py +0 -0
  1126. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestOversizedReduceOnlyExitAccounting/__init__.py +0 -0
  1127. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPortfolioValue/__init__.py +0 -0
  1128. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPortfolioValueIncludesPositionValueAndOpenOrdersValue/__init__.py +0 -0
  1129. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPositionExchangeTypeProperty1/__init__.py +0 -0
  1130. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPositionExchangeTypeProperty2/__init__.py +0 -0
  1131. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPositionOpenIncreaseReduceCloseEventsInSpot/__init__.py +0 -0
  1132. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPositionTotalCostProperty/__init__.py +0 -0
  1133. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPositionWithLeverage1/__init__.py +0 -0
  1134. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPositionWithLeverage2/__init__.py +0 -0
  1135. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestPositions/__init__.py +0 -0
  1136. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestProperBalanceHanldingInSpotAfterOrderCancellation/__init__.py +0 -0
  1137. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestProtectiveOrdersAcrossTradingModes/__init__.py +0 -0
  1138. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestReduceOnlyMarketOrders/__init__.py +0 -0
  1139. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestRuleSignificanceAlignment/__init__.py +0 -0
  1140. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestRuleSignificanceFailure/__init__.py +0 -0
  1141. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestShortInSpot/__init__.py +0 -0
  1142. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestSparseTimestampRoutes/__init__.py +0 -0
  1143. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceLongPosition/__init__.py +0 -0
  1144. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceShortPosition/__init__.py +0 -0
  1145. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestStopOrderShouldConsiderExecutedTakeProfitOrdersInSpot/__init__.py +0 -0
  1146. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestStrategyChartsReport/__init__.py +0 -0
  1147. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestStrategyVariablesAreResetBeforeOpeningNewPosition/__init__.py +0 -0
  1148. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientLongPosition/__init__.py +0 -0
  1149. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientShortPosition/__init__.py +0 -0
  1150. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestTerminate/__init__.py +0 -0
  1151. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestTradingHours/__init__.py +0 -0
  1152. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestUsageOfShouldCancelRaisesNotImplementedError/__init__.py +0 -0
  1153. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestVanillaStrategy/__init__.py +0 -0
  1154. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestWalletBalance/__init__.py +0 -0
  1155. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/TestWithoutCancelMethod/__init__.py +0 -0
  1156. {jesse-3.2.0 → jesse-3.2.1}/jesse/strategies/__init__.py +0 -0
  1157. {jesse-3.2.0 → jesse-3.2.1}/jesse/testing_utils.py +0 -0
  1158. {jesse-3.2.0 → jesse-3.2.1}/jesse/utils.py +0 -0
  1159. {jesse-3.2.0 → jesse-3.2.1}/jesse.egg-info/SOURCES.txt +0 -0
  1160. {jesse-3.2.0 → jesse-3.2.1}/jesse.egg-info/dependency_links.txt +0 -0
  1161. {jesse-3.2.0 → jesse-3.2.1}/jesse.egg-info/entry_points.txt +0 -0
  1162. {jesse-3.2.0 → jesse-3.2.1}/jesse.egg-info/requires.txt +0 -0
  1163. {jesse-3.2.0 → jesse-3.2.1}/jesse.egg-info/top_level.txt +0 -0
  1164. {jesse-3.2.0 → jesse-3.2.1}/requirements.txt +0 -0
  1165. {jesse-3.2.0 → jesse-3.2.1}/setup.cfg +0 -0
  1166. {jesse-3.2.0 → jesse-3.2.1}/tests/__init__.py +0 -0
  1167. {jesse-3.2.0 → jesse-3.2.1}/tests/conftest.py +0 -0
  1168. {jesse-3.2.0 → jesse-3.2.1}/tests/data/__init__.py +0 -0
  1169. {jesse-3.2.0 → jesse-3.2.1}/tests/data/test_candles_0.py +0 -0
  1170. {jesse-3.2.0 → jesse-3.2.1}/tests/data/test_candles_1.py +0 -0
  1171. {jesse-3.2.0 → jesse-3.2.1}/tests/data/test_candles_indicators.py +0 -0
  1172. {jesse-3.2.0 → jesse-3.2.1}/tests/test_backtest.py +0 -0
  1173. {jesse-3.2.0 → jesse-3.2.1}/tests/test_backtest_session_chart_data.py +0 -0
  1174. {jesse-3.2.0 → jesse-3.2.1}/tests/test_broker.py +0 -0
  1175. {jesse-3.2.0 → jesse-3.2.1}/tests/test_candle_copy.py +0 -0
  1176. {jesse-3.2.0 → jesse-3.2.1}/tests/test_candle_service.py +0 -0
  1177. {jesse-3.2.0 → jesse-3.2.1}/tests/test_candle_timeframe_filter.py +0 -0
  1178. {jesse-3.2.0 → jesse-3.2.1}/tests/test_chart_data_serialization.py +0 -0
  1179. {jesse-3.2.0 → jesse-3.2.1}/tests/test_completed_trade.py +0 -0
  1180. {jesse-3.2.0 → jesse-3.2.1}/tests/test_config_safety.py +0 -0
  1181. {jesse-3.2.0 → jesse-3.2.1}/tests/test_conflicting_orders.py +0 -0
  1182. {jesse-3.2.0 → jesse-3.2.1}/tests/test_dynamic_numpy_array.py +0 -0
  1183. {jesse-3.2.0 → jesse-3.2.1}/tests/test_e2e_database.py +0 -0
  1184. {jesse-3.2.0 → jesse-3.2.1}/tests/test_exchange.py +0 -0
  1185. {jesse-3.2.0 → jesse-3.2.1}/tests/test_helpers.py +0 -0
  1186. {jesse-3.2.0 → jesse-3.2.1}/tests/test_historical_data_contracts.py +0 -0
  1187. {jesse-3.2.0 → jesse-3.2.1}/tests/test_import_and_backtest_request_boundaries.py +0 -0
  1188. {jesse-3.2.0 → jesse-3.2.1}/tests/test_import_candle_drivers.py +0 -0
  1189. {jesse-3.2.0 → jesse-3.2.1}/tests/test_import_candles.py +0 -0
  1190. {jesse-3.2.0 → jesse-3.2.1}/tests/test_import_candles_workflow.py +0 -0
  1191. {jesse-3.2.0 → jesse-3.2.1}/tests/test_indicators.py +0 -0
  1192. {jesse-3.2.0 → jesse-3.2.1}/tests/test_isolated_backtest.py +0 -0
  1193. {jesse-3.2.0 → jesse-3.2.1}/tests/test_live_session_chart_data.py +0 -0
  1194. {jesse-3.2.0 → jesse-3.2.1}/tests/test_live_strategy_charts.py +0 -0
  1195. {jesse-3.2.0 → jesse-3.2.1}/tests/test_lsp.py +0 -0
  1196. {jesse-3.2.0 → jesse-3.2.1}/tests/test_mcp_config.py +0 -0
  1197. {jesse-3.2.0 → jesse-3.2.1}/tests/test_mcp_credentials.py +0 -0
  1198. {jesse-3.2.0 → jesse-3.2.1}/tests/test_mcp_usage_limits.py +0 -0
  1199. {jesse-3.2.0 → jesse-3.2.1}/tests/test_metrics.py +0 -0
  1200. {jesse-3.2.0 → jesse-3.2.1}/tests/test_optimization_and_monte_carlo_session_failures.py +0 -0
  1201. {jesse-3.2.0 → jesse-3.2.1}/tests/test_order.py +0 -0
  1202. {jesse-3.2.0 → jesse-3.2.1}/tests/test_parent_strategy.py +0 -0
  1203. {jesse-3.2.0 → jesse-3.2.1}/tests/test_position.py +0 -0
  1204. {jesse-3.2.0 → jesse-3.2.1}/tests/test_price_gap_backtest.py +0 -0
  1205. {jesse-3.2.0 → jesse-3.2.1}/tests/test_progressbar.py +0 -0
  1206. {jesse-3.2.0 → jesse-3.2.1}/tests/test_real_strategy_regression.py +0 -0
  1207. {jesse-3.2.0 → jesse-3.2.1}/tests/test_research.py +0 -0
  1208. {jesse-3.2.0 → jesse-3.2.1}/tests/test_research_monte_carlo.py +0 -0
  1209. {jesse-3.2.0 → jesse-3.2.1}/tests/test_research_optimization_isolation.py +0 -0
  1210. {jesse-3.2.0 → jesse-3.2.1}/tests/test_research_session_lifecycle.py +0 -0
  1211. {jesse-3.2.0 → jesse-3.2.1}/tests/test_router.py +0 -0
  1212. {jesse-3.2.0 → jesse-3.2.1}/tests/test_rule_significance_testing.py +0 -0
  1213. {jesse-3.2.0 → jesse-3.2.1}/tests/test_session_scoped_configuration.py +0 -0
  1214. {jesse-3.2.0 → jesse-3.2.1}/tests/test_significance_test_session.py +0 -0
  1215. {jesse-3.2.0 → jesse-3.2.1}/tests/test_simulator_parity.py +0 -0
  1216. {jesse-3.2.0 → jesse-3.2.1}/tests/test_spot_mode.py +0 -0
  1217. {jesse-3.2.0 → jesse-3.2.1}/tests/test_state_candle.py +0 -0
  1218. {jesse-3.2.0 → jesse-3.2.1}/tests/test_state_exchanges.py +0 -0
  1219. {jesse-3.2.0 → jesse-3.2.1}/tests/test_state_logs.py +0 -0
  1220. {jesse-3.2.0 → jesse-3.2.1}/tests/test_state_orderbook.py +0 -0
  1221. {jesse-3.2.0 → jesse-3.2.1}/tests/test_state_orders.py +0 -0
  1222. {jesse-3.2.0 → jesse-3.2.1}/tests/test_state_ticker.py +0 -0
  1223. {jesse-3.2.0 → jesse-3.2.1}/tests/test_state_trades.py +0 -0
  1224. {jesse-3.2.0 → jesse-3.2.1}/tests/test_trading_hours.py +0 -0
  1225. {jesse-3.2.0 → jesse-3.2.1}/tests/test_trading_mode_contracts.py +0 -0
  1226. {jesse-3.2.0 → jesse-3.2.1}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jesse
3
- Version: 3.2.0
3
+ Version: 3.2.1
4
4
  Summary: A trading framework for cryptocurrencies
5
5
  Home-page: https://jesse.trade
6
6
  Author: Saleh Mir
@@ -113,6 +113,7 @@ High-signal Jesse strategy-authoring gotchas (full detail in jesse://strategy):
113
113
  - Inside `on_open_position`, check `self.is_long` / `self.is_short` before setting `self.stop_loss` / `self.take_profit`.
114
114
  - On **spot**, shorting is unsupported: `should_short()` must return `False`, leverage is always `1`, and `stop_loss`/`take_profit` must be set in `on_open_position()` (not `go_long()`).
115
115
  - Size from `self.available_margin` (or balance/capital), price, and `self.fee_rate` via sizing utilities (`size_to_qty`, `risk_to_qty`) — never hardcode a fixed quantity.
116
+ - Market hours, sessions, "skip weekends", or a stock-linked instrument on a 24/7 exchange: define `trading_hours()` returning a dict with `timezone` and `hours` (days always explicit, no preset names), gate entries with `self.is_trading_hours`, and feed entry indicators `utils.filter_candles_by_hours(self.candles, self.trading_hours())`. Never hand-roll UTC-hour math or reassign `self.candles`, and never gate `update_position()`/exits by the schedule. See the Trading Hours section of jesse://strategy.
116
117
 
117
118
  For full structure, lifecycle, and complete runnable examples see jesse://strategy and jesse://strategy_examples.
118
119
 
@@ -4,7 +4,9 @@ This reference covers candle import and management operations in Jesse.
4
4
 
5
5
  ## Data Requirements
6
6
 
7
- Historical candle data is required for backtesting strategies. Import data for all route exchanges, symbols, and timeframes before running backtests.
7
+ Historical candle data is required for backtesting strategies. Import data for every route's exchange and symbol before running backtests.
8
+
9
+ Jesse imports and stores **one-minute candles only**, for every source (crypto exchanges, Massive, Custom Data). In backtests, optimization, Monte Carlo, significance tests and research, every other timeframe is generated from those minutes at run time, so a single import per exchange and symbol covers every timeframe a route or `get_candles()` asks for. Live and paper sessions are different: by default each timeframe's candles come from the exchange, and only when the live setting `generate_candles_from_1m` is enabled are bigger timeframes generated locally from one-minute candles. Timeframes are never imported, so when checking coverage only confirm that the symbol's data spans the backtest dates plus warm-up.
8
10
 
9
11
  ## Import Process
10
12
 
@@ -82,7 +84,7 @@ simulation settings.
82
84
  currency (`USD` vs `USDT`)
83
85
  - `delete_source` (optional, default false): remove the original in the same transaction
84
86
 
85
- Rules: every stored timeframe is copied; the call is refused (HTTP 409) when the target already
87
+ Rules: the whole stored one-minute series is copied, which is everything a backtest needs for any timeframe; the call is refused (HTTP 409) when the target already
86
88
  holds candles, so series are never merged; deleting the source turns the copy into a rename, but
87
89
  provider updates only work under the original exchange name, so confirm with the user first.
88
90
 
@@ -98,11 +100,28 @@ Imports historical candle data from exchanges.
98
100
  - `start_date`: Start date in YYYY-MM-DD format
99
101
  - `import_id` (optional): Import ID for retrying failed imports
100
102
 
101
- **Supported Timeframes:**
102
- 1m, 3m, 5m, 15m, 30m, 45m, 1h, 2h, 3h, 4h, 6h, 8h, 12h, 1D, 3D, 1W, 1M
103
+ **Timeframes:** the import has no timeframe parameter. One-minute candles are stored, and in
104
+ backtests and the other research modes the timeframes usable in routes and `get_candles()` (1m,
105
+ 3m, 5m, 15m, 30m, 45m, 1h, 2h, 3h, 4h, 6h, 8h, 12h, 1D, 3D, 1W, 1M) are all built from them at run
106
+ time. Live sessions fetch each timeframe from the exchange unless `generate_candles_from_1m` is on.
103
107
 
104
108
  **Returns:** Import result with status and import ID
105
109
 
110
+ ## Traditional Markets and Gapped Data
111
+
112
+ Massive sources and Custom Data describe markets that close, so their one-minute series has real
113
+ gaps (nights, weekends, holidays; pre-market and after-hours bars are kept where the provider has
114
+ them). Jesse never fabricates candles for a closure:
115
+
116
+ - Backtests detect gapped data automatically and replay only the candles that exist. Bigger
117
+ timeframes are built from the observed minutes in clock-aligned buckets.
118
+ - Warm-up is counted in **completed observed candles** of the route's timeframe, not calendar
119
+ time, so import noticeably more history than a crypto backtest would need.
120
+ - A resting order crossed by an opening gap fills at the **open price**, not at its own price.
121
+ - Metrics for these sources annualize on 252 observations by default instead of 365.
122
+ - To trade a stock-linked instrument on a 24/7 exchange with matching indicator history, use the
123
+ trading-hours helpers described in `jesse://strategy`.
124
+
106
125
  ## Usage Examples
107
126
 
108
127
  ### Basic Import
@@ -59,6 +59,7 @@ result = create_strategy("MyStrategy", strategy_code)
59
59
 
60
60
  - **before()**: Runs before the strategy logic each candle.
61
61
  - **after()**: Runs after the strategy logic each candle.
62
+ - **trading_hours()**: Returns the market schedule dict (or `None`) for strategies that respect a market's hours; feeds `self.is_trading_hours`. See **Trading Hours** below.
62
63
  - **update_chart()**: Calculates chart-only values. Runs once per completed candle in backtests and approximately once per second on the forming candle in live/paper sessions. See **jesse://charts**.
63
64
 
64
65
  ## Strategy Execution Model (every candle)
@@ -273,6 +274,7 @@ The `Position` object exposes: `entry_price`, `qty`, `opened_at`, `value`, `type
273
274
  | `is_spot_trading` / `is_futures_trading` | bool | Market type checks. |
274
275
  | `is_backtesting` / `is_livetrading` / `is_papertrading` | bool | Run-mode checks. |
275
276
  | `is_live` | bool | True if live **or** paper trading. |
277
+ | `is_trading_hours` | bool | True when `self.time` is inside the schedule returned by `trading_hours()`; always True when that returns `None`. |
276
278
  | `hp` | dict | Hyperparameter values keyed by name (see Optimization). |
277
279
  | `vars` | dict | Per-strategy scratch dict. |
278
280
  | `shared_vars` | dict | Dict shared across all routes (cross-route communication). |
@@ -287,6 +289,7 @@ The `Position` object exposes: `entry_price`, `qty`, `opened_at`, `value`, `type
287
289
  | `watch_list()` | Return a list of `(label, value)` tuples surfaced in live/paper monitoring. |
288
290
  | `hyperparameters()` | Return the list of optimizable parameters (see Optimization). |
289
291
  | `dna()` | Return a DNA string to apply optimized hyperparameters. |
292
+ | `trading_hours()` | Return the market schedule dict, or `None` (default) for no schedule. See Trading Hours. |
290
293
  | `filters()` | Return a list of filter **methods** (not called) that must all pass before entry. *Optional — prefer plain `if` conditions in `should_long`/`should_short`; only define when asked.* |
291
294
  | `add_line_to_candle_chart(...)` etc. | Interactive chart series and levels. Use them from `update_chart()`; see `jesse://charts`. |
292
295
 
@@ -363,6 +366,72 @@ def big_trend(self):
363
366
 
364
367
  Lookahead bias is handled internally even across timeframes: the closing price of a higher-timeframe candle is never from the future, so you do not need to manually shift to a previous value.
365
368
 
369
+ ## Trading Hours (market sessions)
370
+
371
+ Use this whenever the user wants entries limited to a market's hours, days or session, wants to
372
+ skip weekends/holidays, or trades a **stock-linked instrument on a 24/7 crypto exchange**. The
373
+ typical reason: stock history used for backtesting has gaps (nights, weekends, holidays), while
374
+ the 24/7 exchange feed does not, so the same indicator would see two different histories.
375
+
376
+ Three building blocks. **The engine enforces nothing**; you place them yourself:
377
+
378
+ ```python
379
+ from jesse.strategies import Strategy, cached
380
+ import jesse.indicators as ta
381
+ from jesse import utils
382
+
383
+ def trading_hours(self):
384
+ # dict, or None for "no schedule" (then is_trading_hours is always True and the
385
+ # filter returns its input unchanged)
386
+ return {'timezone': 'America/New_York', 'hours': {'Mon-Fri': '09:30-16:00'}}
387
+
388
+ @property
389
+ @cached
390
+ def session_candles(self):
391
+ return utils.filter_candles_by_hours(self.candles, self.trading_hours())
392
+
393
+ def should_long(self) -> bool:
394
+ if not self.is_trading_hours:
395
+ return False
396
+ return self.close > ta.donchian(self.session_candles[:-1]).upperband
397
+ ```
398
+
399
+ Schedule dict keys:
400
+
401
+ | Key | Required | Value |
402
+ |---|---|---|
403
+ | `timezone` | yes | IANA name (`'America/New_York'`, `'Asia/Tokyo'`, `'UTC'`). DST is handled. |
404
+ | `hours` | yes | dict: day spec → `'HH:MM-HH:MM'` or a list of windows. Day specs: `'Mon-Fri'`, `'Sun-Thu'`, `'Mon,Wed,Fri'`, `'Sun'`. **Unlisted days are closed.** |
405
+ | `closed` | no | list of ISO dates (`'2026-11-26'`) treated as closed (holidays). |
406
+ | `overrides` | no | dict: ISO date → window(s) for that one day (early closes). |
407
+
408
+ Windows are half-open (`open <= t < close`), an end earlier than the start wraps past midnight,
409
+ and `'00:00-24:00'` is a whole day. More schedules:
410
+
411
+ ```python
412
+ {'timezone': 'Asia/Riyadh', 'hours': {'Sun-Thu': '10:00-15:00'}} # Tadawul
413
+ {'timezone': 'Asia/Tokyo', 'hours': {'Mon-Fri': ['09:00-11:30', '12:30-15:30']}} # lunch break
414
+ {'timezone': 'UTC', 'hours': {'Mon-Fri': '00:00-24:00'}} # crypto, skip weekends
415
+ ```
416
+
417
+ Rules:
418
+
419
+ - `self.is_trading_hours` is true when `self.time` is inside the schedule. Gate **entries** with it
420
+ (`should_long`/`should_short`). Do **not** gate `update_position()` or exits: stop-loss and
421
+ take-profit stay on the exchange and position management must keep running 24/7.
422
+ - Feed entry indicators the **filtered** candles. Gating entries while still passing raw
423
+ `self.candles` to indicators leaves off-hours candles in the signal.
424
+ - Never assign to `self.candles` and never hand-roll UTC-hour arithmetic (it breaks at DST
425
+ changes). `self.price`, `self.close` and `self.current_candle` always stay live.
426
+ - There are no preset names such as `'NYSE'`; always return the dict. Holidays go in `closed`.
427
+ - `trading_hours()` is a method so it may depend on `self`, e.g. `if self.is_backtesting: return None`
428
+ or a closing hour taken from `self.hp` for optimization. Using the same dict in backtest and
429
+ live makes the indicator history match in both.
430
+ - Unfilled entry at the close is the user's policy: `def should_cancel_entry(self): return not self.is_trading_hours`
431
+ cancels it, returning `False` leaves it working overnight.
432
+
433
+ A complete class is in `jesse://strategy_examples` (SessionBreakout).
434
+
366
435
  ## Charting Helpers
367
436
 
368
437
  These `Strategy` methods add lines and levels to interactive backtest, paper,
@@ -466,6 +535,7 @@ def dna(self):
466
535
  - **No dead variables** — don't compute a `stop_loss`/value you never use. If you only set the stop later in `on_open_position()` and don't use it for sizing, don't define it in `go_long()`.
467
536
  - **Check position type in `on_open_position()`** — branch on `self.is_long` / `self.is_short` before setting `stop_loss`/`take_profit`.
468
537
  - **`on_close_position` takes two args** — `def on_close_position(self, order, closed_trade) -> None`.
538
+ - **Market hours: gate entries *and* filter candles** — for session-bound or stock-linked instruments use `trading_hours()` + `self.is_trading_hours` + `utils.filter_candles_by_hours(...)`. Don't write manual UTC-hour checks, don't reassign `self.candles`, and don't gate `update_position()`/exits by the schedule.
469
539
 
470
540
  ## Utility Functions (used in strategies)
471
541
 
@@ -3,7 +3,8 @@
3
3
  A library of complete, copy-pasteable Jesse strategies that demonstrate real,
4
4
  verified API patterns: trend filters, ATR-based stops, partial take-profits,
5
5
  trailing stops, lifecycle hooks, multi-timeframe candles, optimization
6
- hyperparameters, live-monitoring watch lists, and multi-route pairs trading.
6
+ hyperparameters, live-monitoring watch lists, multi-route pairs trading, and
7
+ market trading hours.
7
8
 
8
9
  These are illustrative reference strategies, NOT financial advice. They exist to
9
10
  show *how the API is used*, not to recommend any particular trading approach.
@@ -1023,3 +1024,79 @@ class PairsTrading2(Strategy):
1023
1024
  if self.shared_vars["s2-position"] == 0:
1024
1025
  self.liquidate()
1025
1026
  ```
1027
+
1028
+ ---
1029
+
1030
+ ## Example 9 — SessionBreakout (trading hours)
1031
+
1032
+ A Donchian breakout on a **stock-linked instrument traded on a 24/7 crypto exchange** (spot, long
1033
+ only). Entries are decided only during the US regular session and every entry indicator reads
1034
+ session candles only, so nights, weekends and the drift in between never reach the signal. The
1035
+ position itself is managed around the clock: exits are set in `on_open_position()` (spot rule),
1036
+ stay on the exchange, and the trailing stop in `update_position()` keeps following the live price
1037
+ outside the session.
1038
+
1039
+ Features shown: `trading_hours()`, `self.is_trading_hours` as the entry gate,
1040
+ `utils.filter_candles_by_hours` behind a `@cached` property, the cancel-at-close policy in
1041
+ `should_cancel_entry`, and exits that deliberately ignore the schedule.
1042
+
1043
+ ```py
1044
+ from jesse.strategies import Strategy, cached
1045
+ import jesse.indicators as ta
1046
+ from jesse import utils
1047
+
1048
+ # Days are always explicit; unlisted days are closed. Holidays would go in a 'closed' list.
1049
+ US_EQUITIES = {'timezone': 'America/New_York', 'hours': {'Mon-Fri': '09:30-16:00'}}
1050
+
1051
+
1052
+ class SessionBreakout(Strategy):
1053
+ def trading_hours(self):
1054
+ # Same schedule in backtest and live so the indicator history matches in both.
1055
+ return US_EQUITIES
1056
+
1057
+ @property
1058
+ @cached
1059
+ def session_candles(self):
1060
+ # The only history the entry indicators see
1061
+ return utils.filter_candles_by_hours(self.candles, self.trading_hours())
1062
+
1063
+ @property
1064
+ def donchian(self):
1065
+ # Previous channel (exclude the current candle)
1066
+ return ta.donchian(self.session_candles[:-1])
1067
+
1068
+ @property
1069
+ def atr(self):
1070
+ return ta.atr(self.session_candles)
1071
+
1072
+ def should_long(self) -> bool:
1073
+ # Never decide an entry outside the session
1074
+ if not self.is_trading_hours:
1075
+ return False
1076
+ return self.close > self.donchian.upperband
1077
+
1078
+ def should_short(self) -> bool:
1079
+ return False
1080
+
1081
+ def should_cancel_entry(self) -> bool:
1082
+ # An entry that did not fill by the close is cancelled, not left working overnight
1083
+ return not self.is_trading_hours
1084
+
1085
+ def go_long(self):
1086
+ qty = utils.size_to_qty(self.balance, self.price, fee_rate=self.fee_rate)
1087
+ self.buy = qty, self.price
1088
+
1089
+ def go_short(self):
1090
+ pass
1091
+
1092
+ def on_open_position(self, order) -> None:
1093
+ if self.is_long:
1094
+ self.stop_loss = self.position.qty, self.position.entry_price - 2 * self.atr
1095
+ self.take_profit = self.position.qty, self.position.entry_price + 3 * self.atr
1096
+
1097
+ def update_position(self):
1098
+ # Runs on every candle, day or night: the exchange never closes, so the stop
1099
+ # trails the live price. Do NOT gate this with is_trading_hours.
1100
+ if self.is_long:
1101
+ self.stop_loss = self.position.qty, max(self.average_stop_loss, self.price - 2 * self.atr)
1102
+ ```
@@ -221,6 +221,41 @@ from jesse.constants import TIMEFRAME_PRIORITY
221
221
  primary_timeframe = TIMEFRAME_PRIORITY[0] # '1D'
222
222
  ```
223
223
 
224
+ ## Trading Hours
225
+
226
+ Schedule-aware helpers for markets that close (see the Trading Hours section of `jesse://strategy`
227
+ for the schedule dict: required `timezone` and `hours`, optional `closed` and `overrides`).
228
+
229
+ ### filter_candles_by_hours(candles, hours)
230
+
231
+ Returns only the candles whose open time falls inside the schedule, in their original order.
232
+ Pure function: the candle store and `self.candles` are never modified, nothing is resampled.
233
+
234
+ **Parameters:**
235
+ - `candles`: Numpy candle array (`self.candles`, a `self.get_candles(...)` result, research candles)
236
+ - `hours`: Schedule dict, or `None` to return the input unchanged
237
+
238
+ **Returns:** Numpy candle array (rows may be non-contiguous in time)
239
+
240
+ **Example:**
241
+ ```python
242
+ @property
243
+ @cached
244
+ def session_candles(self):
245
+ return utils.filter_candles_by_hours(self.candles, self.trading_hours())
246
+ ```
247
+
248
+ ### is_in_trading_hours(timestamp, hours)
249
+
250
+ Whether a UTC-millisecond timestamp falls inside the schedule. Always `True` when `hours` is
251
+ `None`. Inside a strategy prefer `self.is_trading_hours`, which is this applied to `self.time`.
252
+
253
+ **Parameters:**
254
+ - `timestamp`: UTC milliseconds
255
+ - `hours`: Schedule dict, or `None`
256
+
257
+ **Returns:** bool
258
+
224
259
  ## Precision Helpers
225
260
 
226
261
  ### subtract_floats(float1, float2)
@@ -131,8 +131,13 @@ def register_candles_tools(mcp):
131
131
  "failed", or "cancelled". After "finished", optionally verify with
132
132
  get_existing_candles(). Use cancel_candle_import(import_id) to stop it.
133
133
 
134
- All supported timeframes are imported automatically: 1m, 3m, 5m, 15m, 30m,
135
- 45m, 1h, 2h, 3h, 4h, 6h, 8h, 12h, 1D, 3D, 1W, 1M.
134
+ Only one-minute candles are imported and stored, for every source. In backtests,
135
+ optimization, Monte Carlo, significance tests and research, all other timeframes
136
+ (3m, 5m, 15m, 30m, 45m, 1h, 2h, 3h, 4h, 6h, 8h, 12h, 1D, 3D, 1W, 1M) are generated
137
+ from them at run time, so one import per exchange and symbol covers every
138
+ timeframe; there is no timeframe parameter. (Live sessions do not rely on imported
139
+ candles for this: they fetch each timeframe from the exchange unless the live
140
+ setting `generate_candles_from_1m` is enabled.)
136
141
 
137
142
  Parameters:
138
143
  exchange (str): Exchange name. Supported values:
@@ -706,7 +711,8 @@ def register_candles_tools(mcp):
706
711
  Use this when the user wants to backtest data they already imported as if it belonged
707
712
  to a different market, for example run Massive Stocks "SPY-USD" under
708
713
  "Binance Perpetual Futures" as "SPY-USDT" to use that exchange's futures simulation.
709
- Every stored timeframe is copied. `target_exchange` must be a backtesting-capable
714
+ The whole stored one-minute series is copied (backtests generate every other timeframe
715
+ from it at run time, so they follow automatically). `target_exchange` must be a backtesting-capable
710
716
  exchange name exactly as Jesse lists it, and `target_symbol` defaults to `symbol`;
711
717
  set it when the target market quotes in another currency (USD vs USDT).
712
718
 
@@ -0,0 +1 @@
1
+ __version__ = "3.2.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jesse
3
- Version: 3.2.0
3
+ Version: 3.2.1
4
4
  Summary: A trading framework for cryptocurrencies
5
5
  Home-page: https://jesse.trade
6
6
  Author: Saleh Mir
@@ -3,7 +3,7 @@ from pathlib import Path
3
3
  from setuptools import setup, find_packages
4
4
 
5
5
  # also change in version.py
6
- VERSION = "3.2.0"
6
+ VERSION = "3.2.1"
7
7
  DESCRIPTION = "A trading framework for cryptocurrencies"
8
8
  BASE_DIR = Path(__file__).resolve().parent
9
9
 
@@ -79,3 +79,72 @@ def test_strategy_tool_descriptions_expose_update_chart_lifecycle():
79
79
  assert create_docs is not None and 'forming candle in live/paper sessions' in create_docs
80
80
  assert read_docs is not None and 'visualization-only chart calculations' in read_docs
81
81
  assert write_docs is not None and 'intrabar live/paper updates' in write_docs
82
+
83
+
84
+ def test_strategy_resource_documents_the_trading_hours_api():
85
+ mcp = FakeMCP()
86
+
87
+ register_resources(mcp)
88
+
89
+ strategy = mcp.resources['jesse://strategy']()
90
+ assert '## Trading Hours' in strategy
91
+ assert 'def trading_hours(self):' in strategy
92
+ assert '`is_trading_hours`' in strategy
93
+ assert 'utils.filter_candles_by_hours(self.candles, self.trading_hours())' in strategy
94
+ # every key the schedule validator accepts must be documented
95
+ for key in ('`timezone`', '`hours`', '`closed`', '`overrides`'):
96
+ assert key in strategy
97
+ # the two rules an assistant most easily gets wrong
98
+ assert 'The engine enforces nothing' in strategy
99
+ assert 'Do **not** gate `update_position()` or exits' in strategy
100
+
101
+
102
+ def test_documented_trading_hours_names_exist_in_the_real_api():
103
+ from jesse import utils
104
+ from jesse.services.trading_hours import _ALLOWED_KEYS
105
+ from jesse.strategies import Strategy
106
+
107
+ assert callable(utils.filter_candles_by_hours)
108
+ assert callable(utils.is_in_trading_hours)
109
+ assert callable(Strategy.trading_hours)
110
+ assert isinstance(Strategy.is_trading_hours, property)
111
+ assert _ALLOWED_KEYS == {'timezone', 'hours', 'closed', 'overrides'}
112
+
113
+
114
+ def test_utilities_and_examples_resources_cover_trading_hours():
115
+ mcp = FakeMCP()
116
+
117
+ register_resources(mcp)
118
+
119
+ utilities = mcp.resources['jesse://utilities']()
120
+ assert '### filter_candles_by_hours(candles, hours)' in utilities
121
+ assert '### is_in_trading_hours(timestamp, hours)' in utilities
122
+
123
+ examples = mcp.resources['jesse://strategy_examples']()
124
+ assert 'class SessionBreakout(Strategy):' in examples
125
+ assert 'if not self.is_trading_hours:' in examples
126
+
127
+
128
+ def test_candle_docs_state_that_only_one_minute_candles_are_imported():
129
+ mcp = FakeMCP()
130
+
131
+ register_resources(mcp)
132
+
133
+ candle = mcp.resources['jesse://candle']()
134
+ assert 'one-minute candles only' in candle
135
+ assert 'Timeframes are never imported' in candle
136
+ assert 'timeframes are imported automatically' not in candle.lower()
137
+
138
+ from jesse.mcp.tools import candles as candle_tools
139
+ import inspect
140
+
141
+ source = inspect.getsource(candle_tools)
142
+ assert 'Only one-minute candles are imported and stored' in source
143
+ assert 'timeframes are imported automatically' not in source.lower()
144
+
145
+
146
+ def test_packaged_agent_rules_mention_trading_hours():
147
+ rules = _load_packaged_rules()
148
+
149
+ assert 'self.is_trading_hours' in rules
150
+ assert 'utils.filter_candles_by_hours(self.candles, self.trading_hours())' in rules
@@ -1 +0,0 @@
1
- __version__ = "3.2.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes