jesse 3.2.0__tar.gz → 3.2.2__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 (1227) hide show
  1. {jesse-3.2.0/jesse.egg-info → jesse-3.2.2}/PKG-INFO +2 -2
  2. {jesse-3.2.0 → jesse-3.2.2}/jesse/cli.py +13 -4
  3. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/agent_rules.md +3 -2
  4. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/candle.md +23 -4
  5. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/strategy.md +130 -0
  6. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/strategy_examples.md +78 -1
  7. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/utilities.md +35 -0
  8. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/server.py +10 -2
  9. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/candles.py +9 -3
  10. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/strategy.py +16 -0
  11. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/lsp.py +137 -123
  12. jesse-3.2.2/jesse/services/lsp_download.py +23 -0
  13. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/trading_hours.py +16 -14
  14. jesse-3.2.2/jesse/version.py +1 -0
  15. {jesse-3.2.0 → jesse-3.2.2/jesse.egg-info}/PKG-INFO +2 -2
  16. {jesse-3.2.0 → jesse-3.2.2}/jesse.egg-info/SOURCES.txt +1 -0
  17. {jesse-3.2.0 → jesse-3.2.2}/jesse.egg-info/requires.txt +1 -1
  18. {jesse-3.2.0 → jesse-3.2.2}/requirements.txt +1 -1
  19. {jesse-3.2.0 → jesse-3.2.2}/setup.py +1 -1
  20. {jesse-3.2.0 → jesse-3.2.2}/tests/test_mcp_resources.py +69 -0
  21. jesse-3.2.0/jesse/version.py +0 -1
  22. {jesse-3.2.0 → jesse-3.2.2}/LICENSE +0 -0
  23. {jesse-3.2.0 → jesse-3.2.2}/MANIFEST.in +0 -0
  24. {jesse-3.2.0 → jesse-3.2.2}/README.md +0 -0
  25. {jesse-3.2.0 → jesse-3.2.2}/jesse/__init__.py +0 -0
  26. {jesse-3.2.0 → jesse-3.2.2}/jesse/candle_pipelines/__init__.py +0 -0
  27. {jesse-3.2.0 → jesse-3.2.2}/jesse/candle_pipelines/base_candles.py +0 -0
  28. {jesse-3.2.0 → jesse-3.2.2}/jesse/candle_pipelines/gaussian_noise.py +0 -0
  29. {jesse-3.2.0 → jesse-3.2.2}/jesse/candle_pipelines/gaussian_resampler.py +0 -0
  30. {jesse-3.2.0 → jesse-3.2.2}/jesse/candle_pipelines/moving_block_bootstrap.py +0 -0
  31. {jesse-3.2.0 → jesse-3.2.2}/jesse/config.py +0 -0
  32. {jesse-3.2.0 → jesse-3.2.2}/jesse/constants.py +0 -0
  33. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/__init__.py +0 -0
  34. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/ai_model_controller.py +0 -0
  35. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/auth_controller.py +0 -0
  36. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/backtest_controller.py +0 -0
  37. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/candles_controller.py +0 -0
  38. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/closed_trade_controller.py +0 -0
  39. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/config_controller.py +0 -0
  40. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/data_provider_credentials_controller.py +0 -0
  41. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/e2e_controller.py +0 -0
  42. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/exchange_controller.py +0 -0
  43. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/file_controller.py +0 -0
  44. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/live_controller.py +0 -0
  45. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/lsp_controller.py +0 -0
  46. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/monte_carlo_controller.py +0 -0
  47. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/notification_controller.py +0 -0
  48. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/optimization_controller.py +0 -0
  49. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/order_controller.py +0 -0
  50. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/period_templates_controller.py +0 -0
  51. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/route_templates_controller.py +0 -0
  52. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/significance_test_controller.py +0 -0
  53. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/strategy_controller.py +0 -0
  54. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/system_controller.py +0 -0
  55. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/tabs_controller.py +0 -0
  56. {jesse-3.2.0 → jesse-3.2.2}/jesse/controllers/websocket_controller.py +0 -0
  57. {jesse-3.2.0 → jesse-3.2.2}/jesse/enums/__init__.py +0 -0
  58. {jesse-3.2.0 → jesse-3.2.2}/jesse/exceptions/__init__.py +0 -0
  59. {jesse-3.2.0 → jesse-3.2.2}/jesse/exchanges/__init__.py +0 -0
  60. {jesse-3.2.0 → jesse-3.2.2}/jesse/exchanges/exchange.py +0 -0
  61. {jesse-3.2.0 → jesse-3.2.2}/jesse/exchanges/sandbox/Sandbox.py +0 -0
  62. {jesse-3.2.0 → jesse-3.2.2}/jesse/exchanges/sandbox/__init__.py +0 -0
  63. {jesse-3.2.0 → jesse-3.2.2}/jesse/factories/__init__.py +0 -0
  64. {jesse-3.2.0 → jesse-3.2.2}/jesse/factories/candle_factory.py +0 -0
  65. {jesse-3.2.0 → jesse-3.2.2}/jesse/factories/order_factory.py +0 -0
  66. {jesse-3.2.0 → jesse-3.2.2}/jesse/helpers.py +0 -0
  67. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/__init__.py +0 -0
  68. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/acosc.py +0 -0
  69. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ad.py +0 -0
  70. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/adosc.py +0 -0
  71. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/adx.py +0 -0
  72. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/adxr.py +0 -0
  73. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/alligator.py +0 -0
  74. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/alma.py +0 -0
  75. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ao.py +0 -0
  76. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/apo.py +0 -0
  77. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/aroon.py +0 -0
  78. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/aroonosc.py +0 -0
  79. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/atr.py +0 -0
  80. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/avgprice.py +0 -0
  81. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/bandpass.py +0 -0
  82. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/beta.py +0 -0
  83. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/bollinger_bands.py +0 -0
  84. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/bollinger_bands_width.py +0 -0
  85. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/bop.py +0 -0
  86. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cc.py +0 -0
  87. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cci.py +0 -0
  88. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cfo.py +0 -0
  89. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cg.py +0 -0
  90. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/chande.py +0 -0
  91. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/chop.py +0 -0
  92. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cksp.py +0 -0
  93. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cmo.py +0 -0
  94. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/correl.py +0 -0
  95. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/correlation_cycle.py +0 -0
  96. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cvi.py +0 -0
  97. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/cwma.py +0 -0
  98. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/damiani_volatmeter.py +0 -0
  99. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/dec_osc.py +0 -0
  100. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/decycler.py +0 -0
  101. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/dema.py +0 -0
  102. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/devstop.py +0 -0
  103. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/di.py +0 -0
  104. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/dm.py +0 -0
  105. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/donchian.py +0 -0
  106. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/dpo.py +0 -0
  107. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/dti.py +0 -0
  108. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/dx.py +0 -0
  109. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/edcf.py +0 -0
  110. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/efi.py +0 -0
  111. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ema.py +0 -0
  112. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/emd.py +0 -0
  113. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/emv.py +0 -0
  114. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/epma.py +0 -0
  115. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/er.py +0 -0
  116. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/eri.py +0 -0
  117. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/fisher.py +0 -0
  118. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/fosc.py +0 -0
  119. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/frama.py +0 -0
  120. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/fwma.py +0 -0
  121. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/gatorosc.py +0 -0
  122. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/gauss.py +0 -0
  123. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/heikin_ashi_candles.py +0 -0
  124. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/high_pass.py +0 -0
  125. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/high_pass_2_pole.py +0 -0
  126. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/hma.py +0 -0
  127. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/hull_suit.py +0 -0
  128. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/hurst_exponent.py +0 -0
  129. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/hwma.py +0 -0
  130. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ichimoku_cloud.py +0 -0
  131. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ichimoku_cloud_seq.py +0 -0
  132. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ift_rsi.py +0 -0
  133. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/itrend.py +0 -0
  134. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/jma.py +0 -0
  135. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/jsa.py +0 -0
  136. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/kama.py +0 -0
  137. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/kaufmanstop.py +0 -0
  138. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/kdj.py +0 -0
  139. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/keltner.py +0 -0
  140. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/kst.py +0 -0
  141. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/kurtosis.py +0 -0
  142. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/kvo.py +0 -0
  143. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/linearreg.py +0 -0
  144. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/linearreg_angle.py +0 -0
  145. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/linearreg_intercept.py +0 -0
  146. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/linearreg_slope.py +0 -0
  147. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/lrsi.py +0 -0
  148. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ma.py +0 -0
  149. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/maaq.py +0 -0
  150. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mab.py +0 -0
  151. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/macd.py +0 -0
  152. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mama.py +0 -0
  153. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/marketfi.py +0 -0
  154. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mass.py +0 -0
  155. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mcginley_dynamic.py +0 -0
  156. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mean_ad.py +0 -0
  157. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/median_ad.py +0 -0
  158. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/medprice.py +0 -0
  159. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mfi.py +0 -0
  160. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/midpoint.py +0 -0
  161. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/midprice.py +0 -0
  162. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/minmax.py +0 -0
  163. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mom.py +0 -0
  164. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/mwdx.py +0 -0
  165. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/natr.py +0 -0
  166. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/nma.py +0 -0
  167. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/nvi.py +0 -0
  168. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/obv.py +0 -0
  169. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/pfe.py +0 -0
  170. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/pivot.py +0 -0
  171. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/pma.py +0 -0
  172. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ppo.py +0 -0
  173. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/pvi.py +0 -0
  174. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/pwma.py +0 -0
  175. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/qstick.py +0 -0
  176. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/reflex.py +0 -0
  177. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rma.py +0 -0
  178. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/roc.py +0 -0
  179. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rocp.py +0 -0
  180. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rocr.py +0 -0
  181. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rocr100.py +0 -0
  182. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/roofing.py +0 -0
  183. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rsi.py +0 -0
  184. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rsmk.py +0 -0
  185. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rsx.py +0 -0
  186. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/rvi.py +0 -0
  187. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/safezonestop.py +0 -0
  188. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/sar.py +0 -0
  189. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/sinwma.py +0 -0
  190. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/skew.py +0 -0
  191. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/sma.py +0 -0
  192. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/smma.py +0 -0
  193. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/squeeze_momentum.py +0 -0
  194. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/sqwma.py +0 -0
  195. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/srsi.py +0 -0
  196. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/srwma.py +0 -0
  197. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/stc.py +0 -0
  198. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/stddev.py +0 -0
  199. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/stiffness.py +0 -0
  200. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/stochastic.py +0 -0
  201. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/stochf.py +0 -0
  202. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/supersmoother.py +0 -0
  203. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/supersmoother_3_pole.py +0 -0
  204. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/supertrend.py +0 -0
  205. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/support_resistance_with_break.py +0 -0
  206. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/swma.py +0 -0
  207. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/t3.py +0 -0
  208. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/tema.py +0 -0
  209. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/trange.py +0 -0
  210. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/trendflex.py +0 -0
  211. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/trima.py +0 -0
  212. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/trix.py +0 -0
  213. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/tsf.py +0 -0
  214. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/tsi.py +0 -0
  215. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ttm_squeeze.py +0 -0
  216. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ttm_trend.py +0 -0
  217. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/typprice.py +0 -0
  218. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ui.py +0 -0
  219. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/ultosc.py +0 -0
  220. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/var.py +0 -0
  221. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vi.py +0 -0
  222. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vidya.py +0 -0
  223. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vlma.py +0 -0
  224. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/volume.py +0 -0
  225. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vosc.py +0 -0
  226. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/voss.py +0 -0
  227. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vpci.py +0 -0
  228. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vpt.py +0 -0
  229. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vpwma.py +0 -0
  230. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vwap.py +0 -0
  231. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vwma.py +0 -0
  232. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/vwmacd.py +0 -0
  233. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/wad.py +0 -0
  234. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/waddah_attr_explosion.py +0 -0
  235. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/wclprice.py +0 -0
  236. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/wilders.py +0 -0
  237. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/willr.py +0 -0
  238. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/wma.py +0 -0
  239. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/wt.py +0 -0
  240. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/zlema.py +0 -0
  241. {jesse-3.2.0 → jesse-3.2.2}/jesse/indicators/zscore.py +0 -0
  242. {jesse-3.2.0 → jesse-3.2.2}/jesse/info.py +0 -0
  243. {jesse-3.2.0 → jesse-3.2.2}/jesse/libs/__init__.py +0 -0
  244. {jesse-3.2.0 → jesse-3.2.2}/jesse/libs/custom_json/__init__.py +0 -0
  245. {jesse-3.2.0 → jesse-3.2.2}/jesse/libs/dynamic_numpy_array/__init__.py +0 -0
  246. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/USAGE_LIMITS.md +0 -0
  247. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/__init__.py +0 -0
  248. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/agent_rules.py +0 -0
  249. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/manager.py +0 -0
  250. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/mcp_config.py +0 -0
  251. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/__init__.py +0 -0
  252. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/backtest_management.md +0 -0
  253. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/backtest_metrics.md +0 -0
  254. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/charts.md +0 -0
  255. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/configuration.md +0 -0
  256. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/credentials.md +0 -0
  257. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/indicator.md +0 -0
  258. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/monte_carlo.md +0 -0
  259. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/optimization.md +0 -0
  260. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/position_risk.md +0 -0
  261. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/resources/significance_test.md +0 -0
  262. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/test.py +0 -0
  263. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/__init__.py +0 -0
  264. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/backtest.py +0 -0
  265. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/config.py +0 -0
  266. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/credentials.py +0 -0
  267. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/general.py +0 -0
  268. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/indicator.py +0 -0
  269. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/monte_carlo.py +0 -0
  270. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/optimization.py +0 -0
  271. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/__init__.py +0 -0
  272. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/auth.py +0 -0
  273. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/backtest.py +0 -0
  274. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/candles.py +0 -0
  275. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/config.py +0 -0
  276. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/credentials.py +0 -0
  277. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/general.py +0 -0
  278. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/indicator.py +0 -0
  279. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/monte_carlo.py +0 -0
  280. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/optimization.py +0 -0
  281. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/session_config.py +0 -0
  282. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/significance_test.py +0 -0
  283. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/services/strategy.py +0 -0
  284. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/tools/significance_test.py +0 -0
  285. {jesse-3.2.0 → jesse-3.2.2}/jesse/mcp/usage_limits.py +0 -0
  286. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/AiModel.py +0 -0
  287. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/BacktestSession.py +0 -0
  288. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Candle.py +0 -0
  289. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/ClosedTrade.py +0 -0
  290. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/DataProviderCredentials.py +0 -0
  291. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Exchange.py +0 -0
  292. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/ExchangeApiKeys.py +0 -0
  293. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/FuturesExchange.py +0 -0
  294. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/LiveChart.py +0 -0
  295. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/LiveEquitySnapshot.py +0 -0
  296. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/LiveSession.py +0 -0
  297. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Log.py +0 -0
  298. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/MonteCarloSession.py +0 -0
  299. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/NotificationApiKeys.py +0 -0
  300. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/OpenTab.py +0 -0
  301. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/OptimizationSession.py +0 -0
  302. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Option.py +0 -0
  303. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Order.py +0 -0
  304. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Orderbook.py +0 -0
  305. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/PeriodTemplate.py +0 -0
  306. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Position.py +0 -0
  307. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Route.py +0 -0
  308. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/RouteTemplate.py +0 -0
  309. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/SignificanceTestSession.py +0 -0
  310. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/SpotExchange.py +0 -0
  311. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Ticker.py +0 -0
  312. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/Trade.py +0 -0
  313. {jesse-3.2.0 → jesse-3.2.2}/jesse/models/__init__.py +0 -0
  314. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/__init__.py +0 -0
  315. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/backtest_mode.py +0 -0
  316. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/data_provider.py +0 -0
  317. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/exchange_api_keys.py +0 -0
  318. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/__init__.py +0 -0
  319. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetual.py +0 -0
  320. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualMain.py +0 -0
  321. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualTestnet.py +0 -0
  322. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/__init__.py +0 -0
  323. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/apex_omni_utils.py +0 -0
  324. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/__init__.py +0 -0
  325. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-arm.dylib +0 -0
  326. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-x86.dylib +0 -0
  327. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.dylib +0 -0
  328. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.so +0 -0
  329. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-arm.py +0 -0
  330. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-pc.py +0 -0
  331. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-x86.py +0 -0
  332. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.dll +0 -0
  333. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.py +0 -0
  334. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinanceMain.py +0 -0
  335. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFutures.py +0 -0
  336. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFuturesTestnet.py +0 -0
  337. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinanceSpot.py +0 -0
  338. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinanceUSSpot.py +0 -0
  339. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/__init__.py +0 -0
  340. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/binance_utils.py +0 -0
  341. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bitfinex/BitfinexSpot.py +0 -0
  342. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bitfinex/__init__.py +0 -0
  343. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bitfinex/bitfinex_utils.py +0 -0
  344. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitMain.py +0 -0
  345. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpot.py +0 -0
  346. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpotTestnet.py +0 -0
  347. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetual.py +0 -0
  348. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetualTestnet.py +0 -0
  349. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetual.py +0 -0
  350. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetualTestnet.py +0 -0
  351. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/__init__.py +0 -0
  352. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/bybit_utils.py +0 -0
  353. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Coinbase/CoinbaseSpot.py +0 -0
  354. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Coinbase/__init__.py +0 -0
  355. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Coinbase/coinbase_utils.py +0 -0
  356. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateSpot.py +0 -0
  357. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateSpotMain.py +0 -0
  358. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTMain.py +0 -0
  359. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTPerpetual.py +0 -0
  360. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/__init__.py +0 -0
  361. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/gate_utils.py +0 -0
  362. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetual.py +0 -0
  363. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualMain.py +0 -0
  364. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualTestnet.py +0 -0
  365. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/__init__.py +0 -0
  366. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/hyperliquid_utils.py +0 -0
  367. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetual.py +0 -0
  368. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualMain.py +0 -0
  369. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualTestnet.py +0 -0
  370. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpot.py +0 -0
  371. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpotMain.py +0 -0
  372. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/__init__.py +0 -0
  373. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/kraken_utils.py +0 -0
  374. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinFuturesMain.py +0 -0
  375. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpot.py +0 -0
  376. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpotMain.py +0 -0
  377. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinUSDTPerpetual.py +0 -0
  378. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/__init__.py +0 -0
  379. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/kucoin_utils.py +0 -0
  380. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/LighterMain.py +0 -0
  381. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetual.py +0 -0
  382. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetualTestnet.py +0 -0
  383. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/__init__.py +0 -0
  384. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/lighter_utils.py +0 -0
  385. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/__init__.py +0 -0
  386. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-darwin-arm64.dylib +0 -0
  387. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-amd64.so +0 -0
  388. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-arm64.so +0 -0
  389. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-windows-amd64.dll +0 -0
  390. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/__init__.py +0 -0
  391. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/interface.py +0 -0
  392. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/monte_carlo_mode/MonteCarloRunner.py +0 -0
  393. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/monte_carlo_mode/__init__.py +0 -0
  394. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/notification_api_keys.py +0 -0
  395. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/optimize_mode/Optimize.py +0 -0
  396. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/optimize_mode/__init__.py +0 -0
  397. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/optimize_mode/fitness.py +0 -0
  398. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/significance_test_mode/SignificanceTestRunner.py +0 -0
  399. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/significance_test_mode/__init__.py +0 -0
  400. {jesse-3.2.0 → jesse-3.2.2}/jesse/modes/utils.py +0 -0
  401. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/__init__.py +0 -0
  402. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/candle_repository.py +0 -0
  403. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/closed_trade_repository.py +0 -0
  404. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/data_provider_credentials_repository.py +0 -0
  405. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/live_chart_repository.py +0 -0
  406. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/live_equity_repository.py +0 -0
  407. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/live_session_repository.py +0 -0
  408. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/open_tab_repository.py +0 -0
  409. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/order_repository.py +0 -0
  410. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/period_template_repository.py +0 -0
  411. {jesse-3.2.0 → jesse-3.2.2}/jesse/repositories/route_template_repository.py +0 -0
  412. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/__init__.py +0 -0
  413. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/backtest.py +0 -0
  414. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/candles.py +0 -0
  415. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/import_candles.py +0 -0
  416. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/ml.py +0 -0
  417. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/monte_carlo/__init__.py +0 -0
  418. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/monte_carlo/common.py +0 -0
  419. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/monte_carlo/monte_carlo_candles.py +0 -0
  420. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/monte_carlo/monte_carlo_trades.py +0 -0
  421. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/optimize/__init__.py +0 -0
  422. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/rule_significance_testing/__init__.py +0 -0
  423. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/rule_significance_testing/bootstrap.py +0 -0
  424. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/rule_significance_testing/common.py +0 -0
  425. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/rule_significance_testing/plots.py +0 -0
  426. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/rule_significance_testing/rule_significance.py +0 -0
  427. {jesse-3.2.0 → jesse-3.2.2}/jesse/research/rule_significance_testing/simulator.py +0 -0
  428. {jesse-3.2.0 → jesse-3.2.2}/jesse/routes/__init__.py +0 -0
  429. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/__init__.py +0 -0
  430. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/api.py +0 -0
  431. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/auth.py +0 -0
  432. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/broker.py +0 -0
  433. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/cache.py +0 -0
  434. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/candle_service.py +0 -0
  435. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/charts.py +0 -0
  436. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/closed_trade_service.py +0 -0
  437. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/color.py +0 -0
  438. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/custom_candle_import.py +0 -0
  439. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/db.py +0 -0
  440. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/e2e_database.py +0 -0
  441. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/env.py +0 -0
  442. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/exchange_service.py +0 -0
  443. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/failure.py +0 -0
  444. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/file.py +0 -0
  445. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/general_info.py +0 -0
  446. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/historical_data/__init__.py +0 -0
  447. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/historical_data/contracts.py +0 -0
  448. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/historical_data/credential_validation.py +0 -0
  449. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/historical_data/errors.py +0 -0
  450. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/historical_data/massive_stocks.py +0 -0
  451. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/historical_data/providers/__init__.py +0 -0
  452. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/historical_data/registry.py +0 -0
  453. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/installer.py +0 -0
  454. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/jesse_trade.py +0 -0
  455. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/live_chart_service.py +0 -0
  456. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/logger.py +0 -0
  457. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/metrics.py +0 -0
  458. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/migrator.py +0 -0
  459. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/multiprocessing.py +0 -0
  460. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/notifier.py +0 -0
  461. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/order_service.py +0 -0
  462. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/position_service.py +0 -0
  463. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/progressbar.py +0 -0
  464. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/redis.py +0 -0
  465. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/report.py +0 -0
  466. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/simulation_assumptions.py +0 -0
  467. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/strategy_handler/ExampleStrategy/__init__.py +0 -0
  468. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/strategy_handler/__init__.py +0 -0
  469. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/strategy_service.py +0 -0
  470. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/symbol_catalog.py +0 -0
  471. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/table.py +0 -0
  472. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/transformers.py +0 -0
  473. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/validators.py +0 -0
  474. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/web.py +0 -0
  475. {jesse-3.2.0 → jesse-3.2.2}/jesse/services/ws_manager.py +0 -0
  476. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/200.html +0 -0
  477. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/404.html +0 -0
  478. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/08VXUWAP.js +0 -0
  479. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/0ONmXmPL.js +0 -0
  480. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/1XVEVF4R.js +0 -0
  481. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/1lwvrZu5.js +0 -0
  482. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/1uxVtXhK2.js +0 -0
  483. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/25FdeeAd.js +0 -0
  484. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/2IIEA8gg2.js +0 -0
  485. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/2k_QeT3T.js +0 -0
  486. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/32DixAac.js +0 -0
  487. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/35Gd1l6b.js +0 -0
  488. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/3KuTZQMl2.js +0 -0
  489. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/43DmfD332.js +0 -0
  490. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/4G7pJPwS2.js +0 -0
  491. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/5eyTD99u.js +0 -0
  492. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/6RTg0lbw.js +0 -0
  493. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/6d_DINYp2.js +0 -0
  494. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/6hrdeXKO.js +0 -0
  495. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/9SMx-Yg9.js +0 -0
  496. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/9SuGUQxQ.js +0 -0
  497. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/AGOgedFG2.js +0 -0
  498. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/AsfNJWWT.js +0 -0
  499. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B-yKKtcE2.js +0 -0
  500. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B01W0raW.js +0 -0
  501. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B02lME3Q.js +0 -0
  502. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B2-f6Wu2.js +0 -0
  503. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B2OO5cIa2.js +0 -0
  504. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B2kYdT-M.js +0 -0
  505. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B3Tmza7s2.js +0 -0
  506. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B4Wc4BFL2.js +0 -0
  507. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B4t1Dpxy.js +0 -0
  508. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B5-_aFwp.js +0 -0
  509. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B5W6OYN72.js +0 -0
  510. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B5e22D9r.js +0 -0
  511. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B68TUdTA.js +0 -0
  512. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B6UiomQj.js +0 -0
  513. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B8J7ngcE.js +0 -0
  514. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B8_r5oP7.js +0 -0
  515. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B8rOtbmR.js +0 -0
  516. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B8xNgNWT.js +0 -0
  517. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B9JPFI3C.js +0 -0
  518. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B9MRSN3q2.js +0 -0
  519. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BAlG784d2.js +0 -0
  520. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BBjHab7x.js +0 -0
  521. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BCixiDKj.js +0 -0
  522. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BD87b4dR2.js +0 -0
  523. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BDNMzG2s2.js +0 -0
  524. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BEEn4gHE.js +0 -0
  525. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BEtHBSE6.js +0 -0
  526. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BG8CfSEZ2.js +0 -0
  527. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BGMtTsN-.js +0 -0
  528. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BHWKrbxM.js +0 -0
  529. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BI3Y1cOA.js +0 -0
  530. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BJzMFF2L.js +0 -0
  531. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BKD0O2_Q.js +0 -0
  532. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BKFC8tTN.js +0 -0
  533. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BKPLz4po2.js +0 -0
  534. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BKcRqSit.js +0 -0
  535. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BKxtCVv1.js +0 -0
  536. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BLCaNkgi.js +0 -0
  537. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BLhvb9Y-.js +0 -0
  538. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BMrGqELX.js +0 -0
  539. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BN08jTvb.js +0 -0
  540. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BOotOW0E.js +0 -0
  541. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BQYoEE-E2.js +0 -0
  542. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BRSARzao2.js +0 -0
  543. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BRqV1csJ.js +0 -0
  544. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BSSBbjzH.js +0 -0
  545. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BSWPekZh2.js +0 -0
  546. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BSt81nX4.js +0 -0
  547. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BSu9_R8X2.js +0 -0
  548. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BT_Y9Qa72.js +0 -0
  549. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BTgcbkPe2.js +0 -0
  550. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BTkZN-kY.js +0 -0
  551. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BUvLBkUT2.js +0 -0
  552. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BVAhOJRw.js +0 -0
  553. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BWDSh1SW.js +0 -0
  554. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BWPQTe0t.js +0 -0
  555. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BXViO-2h.js +0 -0
  556. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BYdTN3Ud2.js +0 -0
  557. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BYgofb2h.js +0 -0
  558. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BYsxK_gZ.js +0 -0
  559. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BZ4HG2rr2.js +0 -0
  560. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BZCL-v6S.js +0 -0
  561. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B_-2JulU.js +0 -0
  562. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/B_tTalzw.js +0 -0
  563. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Ba7i2nA0.js +0 -0
  564. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BacktestTabs.BhkXf2je.css +0 -0
  565. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BapWjBt9.js +0 -0
  566. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BcJ0KAXG.js +0 -0
  567. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bc_sGQ0U.js +0 -0
  568. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bdoqq8BI2.js +0 -0
  569. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BeGwcela.js +0 -0
  570. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Beywemwu.js +0 -0
  571. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BfbyNUB7.js +0 -0
  572. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bh7THQLS2.js +0 -0
  573. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BhKQO4Px.js +0 -0
  574. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BhPF9KW82.js +0 -0
  575. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BhjAJghj.js +0 -0
  576. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BiK3sWoz2.js +0 -0
  577. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BiX_3ZGn2.js +0 -0
  578. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BjSKRB-a2.js +0 -0
  579. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BjshL_xA2.js +0 -0
  580. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BkmU6oQY.js +0 -0
  581. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bkml37m-.js +0 -0
  582. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BldMJGpi.js +0 -0
  583. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bm3Qr25_2.js +0 -0
  584. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BmBupKYI2.js +0 -0
  585. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bmbr8zF3.js +0 -0
  586. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BnjxR4X6.js +0 -0
  587. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bnr-372i.js +0 -0
  588. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bnr-Ft3Y.js +0 -0
  589. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bo9Dl7tn.js +0 -0
  590. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BoEzQrVW.js +0 -0
  591. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BoK4YRpC2.js +0 -0
  592. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BolyLLo5.js +0 -0
  593. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BpBaBBm3.js +0 -0
  594. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BpJ9fpSU.js +0 -0
  595. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BqJ9I9M42.js +0 -0
  596. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bqx3koTc.js +0 -0
  597. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bri6UV-V.js +0 -0
  598. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BshRgckk.js +0 -0
  599. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BsuIFbdf2.js +0 -0
  600. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bt4sAq3f.js +0 -0
  601. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BtUnaqJ2.js +0 -0
  602. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Buu8uHmp2.js +0 -0
  603. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BvwLaU7c.js +0 -0
  604. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BvzEE6Lm.js +0 -0
  605. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bw1-c76v.js +0 -0
  606. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BwWrilGY2.js +0 -0
  607. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BwjZg7Kw2.js +0 -0
  608. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bx1FflLF.js +0 -0
  609. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bxkupp3x.js +0 -0
  610. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/By-L4I7w.js +0 -0
  611. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/By1ptfmn2.js +0 -0
  612. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Bz4Y3fRF.js +0 -0
  613. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/BzMNZVT72.js +0 -0
  614. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C-69Y6Pu.js +0 -0
  615. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C-LZuMrd.js +0 -0
  616. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C-RhCxcP2.js +0 -0
  617. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C-y9NEjX.js +0 -0
  618. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C25aelnV2.js +0 -0
  619. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C2shJFxU.js +0 -0
  620. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C3oCr-8k2.js +0 -0
  621. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C531GsRP2.js +0 -0
  622. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C5_-GSwl.js +0 -0
  623. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C5kJGiKi2.js +0 -0
  624. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C7h46wYY.js +0 -0
  625. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C8468PWD.js +0 -0
  626. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C8Ef5oNN.js +0 -0
  627. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C8q3xVCB.js +0 -0
  628. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C8r90Shi.js +0 -0
  629. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C96bnRGM.js +0 -0
  630. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C9St-qHN.js +0 -0
  631. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CAWjiWzg2.js +0 -0
  632. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CC-BCOei.js +0 -0
  633. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CC2rA5mh.js +0 -0
  634. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CC3Dc58n.js +0 -0
  635. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CC8GggWq2.js +0 -0
  636. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CCUjCBK52.js +0 -0
  637. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CD78tava2.js +0 -0
  638. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CDeNXAV0.js +0 -0
  639. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CFAvbRBv.js +0 -0
  640. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CFDCSoUG.js +0 -0
  641. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CH6Zxsf52.js +0 -0
  642. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CHKcdHUs2.js +0 -0
  643. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CHQ94UKr2.js +0 -0
  644. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CIPQ_RoX2.js +0 -0
  645. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CJ3rzSJv2.js +0 -0
  646. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CJ5SUZOH2.js +0 -0
  647. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CJNUlr67.js +0 -0
  648. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CLIur_dZ.js +0 -0
  649. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CMC9H7kb.js +0 -0
  650. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CMnkeXFt.js +0 -0
  651. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CO65HNi2.js +0 -0
  652. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/COtstiRA2.js +0 -0
  653. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/COyNsUt6.js +0 -0
  654. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CQRhyXHt.js +0 -0
  655. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CQUMS8QJ2.js +0 -0
  656. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CRal5XOA2.js +0 -0
  657. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CRfGWb83.js +0 -0
  658. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CRyZUaTi.js +0 -0
  659. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CTweb8Dz2.js +0 -0
  660. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CUKGrt9p2.js +0 -0
  661. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CUL-_UXV2.js +0 -0
  662. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CUP8soDG.js +0 -0
  663. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CVPISREU.js +0 -0
  664. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CVaqCwHa.js +0 -0
  665. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CW42rLZD.js +0 -0
  666. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CWDvEqlu2.js +0 -0
  667. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CXHoNUfW.js +0 -0
  668. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CXcZYQdg.js +0 -0
  669. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CXtmUGW6.js +0 -0
  670. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CXuuVbXE.js +0 -0
  671. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CZ3SG3_I2.js +0 -0
  672. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CZoCCMwk2.js +0 -0
  673. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CZsCp6_J.js +0 -0
  674. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CZymKofZ2.js +0 -0
  675. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/C_8bwKvT2.js +0 -0
  676. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CaLoWpdj2.js +0 -0
  677. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cb4Vim4T2.js +0 -0
  678. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CbKt6i1F2.js +0 -0
  679. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cba4tSYP.js +0 -0
  680. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CbdYpKc9.js +0 -0
  681. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CcEz-6AP2.js +0 -0
  682. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CcwsVR0C.js +0 -0
  683. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cd-sGgPF.js +0 -0
  684. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CdkpiU2Y2.js +0 -0
  685. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Ceyelwdz.js +0 -0
  686. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cf85K_3V.js +0 -0
  687. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cf9Ao90m2.js +0 -0
  688. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CfSJPG6W2.js +0 -0
  689. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cfl0F_Ix.js +0 -0
  690. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CfvQ0GVj2.js +0 -0
  691. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Ci7ol7o5.js +0 -0
  692. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cimd5fb32.js +0 -0
  693. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CioJR-lb.js +0 -0
  694. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CircleProgressbar.DG_Oo3ZB.css +0 -0
  695. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CjM6HreG.js +0 -0
  696. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CjSZG47B2.js +0 -0
  697. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Ck9wOcVq.js +0 -0
  698. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CkJ3IzwM2.js +0 -0
  699. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CkN8TU5K.js +0 -0
  700. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CkRax0sH.js +0 -0
  701. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cl4KV_tk.js +0 -0
  702. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/ClCothXP.js +0 -0
  703. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/ClamHrr62.js +0 -0
  704. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cm7r79vr.js +0 -0
  705. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CnscBGsj2.js +0 -0
  706. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CoKYUvtC.js +0 -0
  707. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CoKk4mC0.js +0 -0
  708. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Con6PA_2.js +0 -0
  709. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CopQ2nXW2.js +0 -0
  710. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CowLSvep.js +0 -0
  711. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CpL23Fmb2.js +0 -0
  712. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CpdwwrfH.js +0 -0
  713. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CpzslTdj.js +0 -0
  714. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cr7JoK-F.js +0 -0
  715. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CrVSgIkM2.js +0 -0
  716. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cs2F2srj.js +0 -0
  717. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CsQS60Ue2.js +0 -0
  718. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CsvMBhTu.js +0 -0
  719. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cuy4t56v.js +0 -0
  720. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CximN0RY2.js +0 -0
  721. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CyQZr6J2.js +0 -0
  722. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CyiiZBUN2.js +0 -0
  723. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/CylTzRX72.js +0 -0
  724. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Cz7rf_X82.js +0 -0
  725. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Czk_mF82.js +0 -0
  726. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D-9WcGfc2.js +0 -0
  727. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D-V0WHGE2.js +0 -0
  728. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D-kcNTYM.js +0 -0
  729. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D-oSqn_W2.js +0 -0
  730. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D-ptJ9y-2.js +0 -0
  731. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D05T4iGw.js +0 -0
  732. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D0mw5jGK.js +0 -0
  733. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D1yN6wZY2.js +0 -0
  734. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D24BC_UT2.js +0 -0
  735. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D2ZwgM9U2.js +0 -0
  736. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D2mw--Fl2.js +0 -0
  737. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D2ymy_yS.js +0 -0
  738. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D3HTKQgj2.js +0 -0
  739. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D3hlyOfw2.js +0 -0
  740. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D4-rlkSU.js +0 -0
  741. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D5GhRiPb.js +0 -0
  742. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D5ROd09N2.js +0 -0
  743. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D5Retr0R2.js +0 -0
  744. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D5Z5IiLY2.js +0 -0
  745. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D8_NR6i12.js +0 -0
  746. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D94iqX0Y2.js +0 -0
  747. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DB-uxtVd.js +0 -0
  748. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DCQb3MpD.js +0 -0
  749. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DD7sRF69.js +0 -0
  750. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DDPgixDB.js +0 -0
  751. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DDe1Q-WN2.js +0 -0
  752. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DDpmG2fV2.js +0 -0
  753. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DDwmkQR0.js +0 -0
  754. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DEJw_qiA2.js +0 -0
  755. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DFBbRf0l.js +0 -0
  756. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DFfgcuRt.js +0 -0
  757. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DFwEHpFD.js +0 -0
  758. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DHBI_yxQ.js +0 -0
  759. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DHpiXF5c.js +0 -0
  760. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DIMkf-bt.js +0 -0
  761. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DISqw1ZD.js +0 -0
  762. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DItLkvgc2.js +0 -0
  763. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DK0GhfdP.js +0 -0
  764. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DKCQ3kY7.js +0 -0
  765. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DKSmMEZa2.js +0 -0
  766. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DLJdWeDZ2.js +0 -0
  767. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DLSXrvMj.js +0 -0
  768. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DMUM7wLl.js +0 -0
  769. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DMnEoi8l.js +0 -0
  770. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DNB37k3h2.js +0 -0
  771. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DOTl9kKz.js +0 -0
  772. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DOgf9of5.js +0 -0
  773. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DOwBwxAc2.js +0 -0
  774. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DP8dx3Mz.js +0 -0
  775. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DPDvM2ct.js +0 -0
  776. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DPJPAjQR.js +0 -0
  777. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DPUBG1Sa2.js +0 -0
  778. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DPZlj92U.js +0 -0
  779. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DQ-b8cau.js +0 -0
  780. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DQU07tlD.js +0 -0
  781. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DQUlB_uC.js +0 -0
  782. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DQwYfKfQ2.js +0 -0
  783. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DRFjx7u42.js +0 -0
  784. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DSh2HLQt2.js +0 -0
  785. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DT7zqm-g.js +0 -0
  786. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DTj74zXo2.js +0 -0
  787. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DV17i1UV2.js +0 -0
  788. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DV3o63ZY.js +0 -0
  789. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DVG0V4jx.js +0 -0
  790. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DVQuIRkW2.js +0 -0
  791. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DVvwPJMn2.js +0 -0
  792. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DWUE7pqF2.js +0 -0
  793. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DXG-b-1a.js +0 -0
  794. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DXgieCCJ.js +0 -0
  795. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DY43dlCC.js +0 -0
  796. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DYlRzrDj.js +0 -0
  797. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DZFCIeNp.js +0 -0
  798. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DZsh6Vsl2.js +0 -0
  799. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D_3yiDAS.js +0 -0
  800. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D_Lu-MrJ.js +0 -0
  801. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/D_Sm39l5.js +0 -0
  802. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DauUninz2.js +0 -0
  803. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DaxQctDl.js +0 -0
  804. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Db4fpp4X2.js +0 -0
  805. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DbInun42.js +0 -0
  806. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DcUUodPk.js +0 -0
  807. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DdJ6paNh.js +0 -0
  808. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DdL9SqIa.js +0 -0
  809. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/De02G7DS.js +0 -0
  810. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/De2hgUGE.js +0 -0
  811. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DezsRK8O.js +0 -0
  812. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Df2xbC6M.js +0 -0
  813. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DfC9-Oas2.js +0 -0
  814. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DgPtEepw2.js +0 -0
  815. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DgfQ8roX.js +0 -0
  816. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DhQhRRFW2.js +0 -0
  817. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DhmEMT882.js +0 -0
  818. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DiQii0fS.js +0 -0
  819. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DikR2-RP.js +0 -0
  820. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DipiWojk.js +0 -0
  821. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DjAgHZrJ2.js +0 -0
  822. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DkmNSMHY.js +0 -0
  823. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DkqhCAOL2.js +0 -0
  824. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dl3pNQBR2.js +0 -0
  825. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DlW2jO6L2.js +0 -0
  826. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DljXZpSz.js +0 -0
  827. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dm6T-vrV2.js +0 -0
  828. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DmHpPYUd2.js +0 -0
  829. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DmNVVboZ.js +0 -0
  830. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dmf8Y0ON2.js +0 -0
  831. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DnKPLd6d.js +0 -0
  832. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DnToyrRv2.js +0 -0
  833. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DoT8DRFX.js +0 -0
  834. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dp-2asp4.js +0 -0
  835. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DpFanUEy.js +0 -0
  836. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DpIdnCtC.js +0 -0
  837. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DpTtcPZs2.js +0 -0
  838. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DpW8JRZm.js +0 -0
  839. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DqJzYO7Y2.js +0 -0
  840. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DqT4cj-J.js +0 -0
  841. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DqXIJaHE.js +0 -0
  842. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DrH0SRf22.js +0 -0
  843. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Ds29f9ZA.js +0 -0
  844. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Ds9iBrvx.js +0 -0
  845. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dsw3HnIE.js +0 -0
  846. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dt39crSB.js +0 -0
  847. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dt9aNFbE.js +0 -0
  848. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DtGle1nz2.js +0 -0
  849. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DtX02f_x2.js +0 -0
  850. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DuT2u1M92.js +0 -0
  851. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DxSv1ANE2.js +0 -0
  852. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dxp_UTNE.js +0 -0
  853. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DyeqKBoC.js +0 -0
  854. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Dyqgk9ID2.js +0 -0
  855. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/DytYwiiF.js +0 -0
  856. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/EUqPIrTm.js +0 -0
  857. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/EZH7P6f9.js +0 -0
  858. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/EoqKQiEy2.js +0 -0
  859. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/FIalSC7A.js +0 -0
  860. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/FXfnIlgg2.js +0 -0
  861. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/FvmIjYaQ2.js +0 -0
  862. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/HSRijeU2.js +0 -0
  863. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/HclGiUj8.js +0 -0
  864. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/HlOV9je9.js +0 -0
  865. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Hsn-rFuA.js +0 -0
  866. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Hza2DNlp.js +0 -0
  867. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/IXshMDJQ.js +0 -0
  868. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/IliqAppL.js +0 -0
  869. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Inter-VariableFont_slnt_wght.Cl4AQHp9.ttf +0 -0
  870. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/JVoApnG_.js +0 -0
  871. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/JaHKEXQh.js +0 -0
  872. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/JgXkd7uo2.js +0 -0
  873. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/JjuYFqoF.js +0 -0
  874. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/JpkrmRYq2.js +0 -0
  875. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/KfYW7BGn.js +0 -0
  876. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/KgIFLbLy.js +0 -0
  877. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/KhqzbbC32.js +0 -0
  878. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/L2jIIa9o.js +0 -0
  879. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/LO_BkMJ8.js +0 -0
  880. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/LRbiS5Dz.js +0 -0
  881. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/LiveTabs.rsQh4sN8.css +0 -0
  882. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Mi0eZJ_C2.js +0 -0
  883. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/NEE52Syq.js +0 -0
  884. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/NyRjDEkA2.js +0 -0
  885. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/O1vzaDvk2.js +0 -0
  886. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/OaeI3Ulg.js +0 -0
  887. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/OfUAv67B2.js +0 -0
  888. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/ProgressStatusText.BQK0FaGL.css +0 -0
  889. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Q6FVf6Zo.js +0 -0
  890. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/QTnfLwEv.js +0 -0
  891. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/QZfQtQzF2.js +0 -0
  892. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/QoymgQo0.js +0 -0
  893. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/SOo6toE52.js +0 -0
  894. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/StrategiesSidebar.DVMKtiGP.css +0 -0
  895. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/TradeHistoryChart.Bs0aEPiQ.css +0 -0
  896. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/TtSlr_h_2.js +0 -0
  897. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/VbXTXTou.js +0 -0
  898. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/VuUr933P2.js +0 -0
  899. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/WA2gHESr.js +0 -0
  900. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/WF6tEroY2.js +0 -0
  901. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/WFnVOHr3.js +0 -0
  902. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/WZ5HE0X3.js +0 -0
  903. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Wy_umkB72.js +0 -0
  904. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/YdFKNLmY.js +0 -0
  905. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/Z5eAx3Zn2.js +0 -0
  906. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/_3zCpt1T.js +0 -0
  907. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/_7BVYBMY2.js +0 -0
  908. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/_b8AQjYy.js +0 -0
  909. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/_id_.B3a6JG34.css +0 -0
  910. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/_id_.BCRDQrek.css +0 -0
  911. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/_id_.BRd1elCl.css +0 -0
  912. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/aQXfN9KN.js +0 -0
  913. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/apGZNcKz.js +0 -0
  914. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/atteXEGs.js +0 -0
  915. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/bTuwJoIa.js +0 -0
  916. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/bjCyB0Gn2.js +0 -0
  917. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/bpSru2N82.js +0 -0
  918. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/ccMIPn_w.js +0 -0
  919. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/coSIg_O3.js +0 -0
  920. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/codicon.Brq4_Ui5.ttf +0 -0
  921. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/css.worker-B1A7g9RU.js +0 -0
  922. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/dLd1bcTA2.js +0 -0
  923. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/dnt9x4Qr.js +0 -0
  924. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/eDEyLi0S.js +0 -0
  925. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/editor.DNwT-hdg.css +0 -0
  926. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/entry.CkGiV5Q9.css +0 -0
  927. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/error-404.DjFB7pgG.css +0 -0
  928. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/error-500.BG9pmads.css +0 -0
  929. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/fmXr3nnJ.js +0 -0
  930. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/foABv0nJ.js +0 -0
  931. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/fwtXNY1n.js +0 -0
  932. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/gEsa7Idh.js +0 -0
  933. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/gG0NvZLm2.js +0 -0
  934. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/gp-XZpBa.js +0 -0
  935. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/grryJGmv.js +0 -0
  936. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/hBpBmjHp.js +0 -0
  937. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/hZRgR8Lc.js +0 -0
  938. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/hdxB67uV.js +0 -0
  939. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/html.worker-NdFMIQdB.js +0 -0
  940. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/i0X4ZdIN.js +0 -0
  941. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/ibI1KQep.js +0 -0
  942. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/json.worker-Ax0gao5O.js +0 -0
  943. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/lP7_xLqx2.js +0 -0
  944. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/live.BHsUui2i.css +0 -0
  945. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/logo-dark.tKoQPl1k.svg +0 -0
  946. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/logo-light.CS4l4ePq.png +0 -0
  947. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/mAYmvPyL.js +0 -0
  948. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/mnTiCSRt2.js +0 -0
  949. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/monte-carlo.SA-Jni4T.css +0 -0
  950. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/nFMaYfgc.js +0 -0
  951. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/nR0dIlKu.js +0 -0
  952. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/nr791fC22.js +0 -0
  953. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/onAF5SnQ.js +0 -0
  954. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/oz_6vUea2.js +0 -0
  955. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/pQUz-uq3.js +0 -0
  956. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/pRr3cFVo.js +0 -0
  957. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/paCCX65n.js +0 -0
  958. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/pages.Kz8uii-H.css +0 -0
  959. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/qBoaT7Fk2.js +0 -0
  960. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/qpEHnBAB.js +0 -0
  961. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/rHIqefrb.js +0 -0
  962. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/sB-x3p7T.js +0 -0
  963. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/sBoK_t0W.js +0 -0
  964. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/significance-test.C3_9t58f.css +0 -0
  965. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/sltzmVWM2.js +0 -0
  966. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/strategies.CZAezJwX.css +0 -0
  967. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/toggleHighContrast.DUMOsFrl.css +0 -0
  968. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/ts.worker-CiiXQ93o.js +0 -0
  969. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/u9_Y1g7K2.js +0 -0
  970. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/uHUmCDd7.js +0 -0
  971. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/u_o9HDF2.js +0 -0
  972. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/uf1cV9ZP.js +0 -0
  973. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/uhdI0v042.js +0 -0
  974. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/v83TR0fG.js +0 -0
  975. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/wbypxrpR.js +0 -0
  976. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/xk2_4sNk2.js +0 -0
  977. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/xse2Sllu2.js +0 -0
  978. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/y2WM_oP32.js +0 -0
  979. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/y_x7m0Ik2.js +0 -0
  980. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/yjvMp0c6.js +0 -0
  981. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/zMsjhnnN2.js +0 -0
  982. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/_nuxt/zbKwAOr32.js +0 -0
  983. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/favicon.ico +0 -0
  984. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/favicons/android-chrome-192x192.png +0 -0
  985. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/favicons/android-chrome-512x512.png +0 -0
  986. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/favicons/apple-touch-icon.png +0 -0
  987. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/favicons/favicon-16x16.png +0 -0
  988. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/favicons/favicon-32x32.png +0 -0
  989. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/index.html +0 -0
  990. {jesse-3.2.0 → jesse-3.2.2}/jesse/static/robots.txt +0 -0
  991. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/__init__.py +0 -0
  992. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_app.py +0 -0
  993. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_candles.py +0 -0
  994. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_closed_trades.py +0 -0
  995. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_exchanges.py +0 -0
  996. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_logs.py +0 -0
  997. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_orderbook.py +0 -0
  998. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_orders.py +0 -0
  999. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_positions.py +0 -0
  1000. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_tickers.py +0 -0
  1001. {jesse-3.2.0 → jesse-3.2.2}/jesse/store/state_trades.py +0 -0
  1002. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/CanAddClosedTradeToStore/__init__.py +0 -0
  1003. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/RealStrategyRegression1/__init__.py +0 -0
  1004. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/RealStrategyRegression2/__init__.py +0 -0
  1005. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/RealStrategyRegression3/__init__.py +0 -0
  1006. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Strategy.py +0 -0
  1007. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test01/__init__.py +0 -0
  1008. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test02/__init__.py +0 -0
  1009. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test04/__init__.py +0 -0
  1010. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test05/__init__.py +0 -0
  1011. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test06/__init__.py +0 -0
  1012. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test07/__init__.py +0 -0
  1013. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test08/__init__.py +0 -0
  1014. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test09/__init__.py +0 -0
  1015. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test10/__init__.py +0 -0
  1016. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test11/__init__.py +0 -0
  1017. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test12/__init__.py +0 -0
  1018. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test13/__init__.py +0 -0
  1019. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test14/__init__.py +0 -0
  1020. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test15/__init__.py +0 -0
  1021. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test16/__init__.py +0 -0
  1022. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test17/__init__.py +0 -0
  1023. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test18/__init__.py +0 -0
  1024. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test19/__init__.py +0 -0
  1025. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test20/__init__.py +0 -0
  1026. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test21/__init__.py +0 -0
  1027. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test22/__init__.py +0 -0
  1028. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test23/__init__.py +0 -0
  1029. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test24/__init__.py +0 -0
  1030. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test25/__init__.py +0 -0
  1031. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test26/__init__.py +0 -0
  1032. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test27/__init__.py +0 -0
  1033. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test28/__init__.py +0 -0
  1034. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test29/__init__.py +0 -0
  1035. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test30/__init__.py +0 -0
  1036. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test31/__init__.py +0 -0
  1037. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test32/__init__.py +0 -0
  1038. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test33/__init__.py +0 -0
  1039. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test34/__init__.py +0 -0
  1040. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test35/__init__.py +0 -0
  1041. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test36/__init__.py +0 -0
  1042. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test37/__init__.py +0 -0
  1043. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test38/__init__.py +0 -0
  1044. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test39/__init__.py +0 -0
  1045. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test40/__init__.py +0 -0
  1046. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test41/__init__.py +0 -0
  1047. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test44/__init__.py +0 -0
  1048. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test45/__init__.py +0 -0
  1049. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test46/__init__.py +0 -0
  1050. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test47/__init__.py +0 -0
  1051. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/Test48/__init__.py +0 -0
  1052. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestAddHorizontalLineToCandleChart/__init__.py +0 -0
  1053. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestAddHorizontalLineToExtraChart/__init__.py +0 -0
  1054. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestAddLineToCandleChart/__init__.py +0 -0
  1055. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestAddLineToExtraChart/__init__.py +0 -0
  1056. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestAfterMethod/__init__.py +0 -0
  1057. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestAverageEntryPriceProperty/__init__.py +0 -0
  1058. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestBalanceAndFeeReductionWorksCorrectlyInSpotModeInBothBuyAndSellOrders/__init__.py +0 -0
  1059. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestBalancesAreHandledCorrectlyForCancellingOrdersInSpot/__init__.py +0 -0
  1060. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestBaseAndQuoteAssetProperties/__init__.py +0 -0
  1061. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestBeforeMethod/__init__.py +0 -0
  1062. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestBeforeTerminate/__init__.py +0 -0
  1063. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong1/__init__.py +0 -0
  1064. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong2/__init__.py +0 -0
  1065. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort1/__init__.py +0 -0
  1066. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort2/__init__.py +0 -0
  1067. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanOpenANewPositionImmediatelyAfterClosingViaUpdatePosition/__init__.py +0 -0
  1068. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanRunWithoutShorting/__init__.py +0 -0
  1069. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1070. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1071. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanSubmitTakeProfitAndStopLossAtSameTimeInSpot/__init__.py +0 -0
  1072. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1073. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1074. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCannotSetStopLossOrderInGoLong/__init__.py +0 -0
  1075. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCannotSetTakeProfitOrderInGoLong/__init__.py +0 -0
  1076. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCannotSpendMoreThanAvailableBalance/__init__.py +0 -0
  1077. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCannotSubmitStopLossOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1078. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCannotSubmitTakeProfitOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1079. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCapitalPropertyRaisesNotImplementedError/__init__.py +0 -0
  1080. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestClosedTradeAfterExitingTrade/__init__.py +0 -0
  1081. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCommonWarmupStart/__init__.py +0 -0
  1082. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCurrentRouteIndex1/__init__.py +0 -0
  1083. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestCurrentRouteIndex2/__init__.py +0 -0
  1084. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestDailyBalanceStoresPortfolioValue/__init__.py +0 -0
  1085. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestDailyBalancesProperty/__init__.py +0 -0
  1086. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestDataRoutes1/__init__.py +0 -0
  1087. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestDataRoutes2/__init__.py +0 -0
  1088. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestDefaultHyperparameters/__init__.py +0 -0
  1089. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestDnaMethod/__init__.py +0 -0
  1090. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestEmptyStrategy/__init__.py +0 -0
  1091. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestEntryOrdersAndExitOrdersProperties/__init__.py +0 -0
  1092. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestExchangeTypeProperty1/__init__.py +0 -0
  1093. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestExchangeTypeProperty2/__init__.py +0 -0
  1094. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestFuturesExchangeAvailableMargin/__init__.py +0 -0
  1095. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestGeneratedDataRouteExecutionBTC/__init__.py +0 -0
  1096. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestGeneratedDataRouteExecutionETH/__init__.py +0 -0
  1097. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestHasLongAndShortEntryOrdersPropertiesInFilters/__init__.py +0 -0
  1098. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestHasLongEntryOrdersProperty/__init__.py +0 -0
  1099. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestHasShortEntryOrdersProperty/__init__.py +0 -0
  1100. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestIncreasedAndReducedCount/__init__.py +0 -0
  1101. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestIncreasingShortPosition/__init__.py +0 -0
  1102. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestInsufficientMargin1/__init__.py +0 -0
  1103. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestInsufficientMargin2/__init__.py +0 -0
  1104. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestInsufficientMargin3/__init__.py +0 -0
  1105. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLeverageProperty1/__init__.py +0 -0
  1106. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLeverageProperty2/__init__.py +0 -0
  1107. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLiquidationInCrossModeForShortTrade/__init__.py +0 -0
  1108. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLiquidationInIsolatedModeForLongTrade/__init__.py +0 -0
  1109. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLiquidationInIsolatedModeForShortTrade/__init__.py +0 -0
  1110. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLogMethodInStrategyClass/__init__.py +0 -0
  1111. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLongLifecycleAcrossTradingModes/__init__.py +0 -0
  1112. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestLongSparseGap/__init__.py +0 -0
  1113. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestMarkPrice/__init__.py +0 -0
  1114. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestMarketOrderForLowPriceDifference/__init__.py +0 -0
  1115. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestMetrics1/__init__.py +0 -0
  1116. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestMultiInstrumentReplayA/__init__.py +0 -0
  1117. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestMultiInstrumentReplayB/__init__.py +0 -0
  1118. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryLongPositions/__init__.py +0 -0
  1119. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryShortPositions/__init__.py +0 -0
  1120. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOnCancelMethod/__init__.py +0 -0
  1121. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOnClosePosition/__init__.py +0 -0
  1122. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOnRouteOpenPosition/__init__.py +0 -0
  1123. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOnRouteOpenPosition2/__init__.py +0 -0
  1124. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOptimizationIsolation/__init__.py +0 -0
  1125. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOrderIsStopLossProperty/__init__.py +0 -0
  1126. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOrderIsTakeProfitProperty/__init__.py +0 -0
  1127. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOrderPriceCannotBeGreaterThanZero/__init__.py +0 -0
  1128. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOrderValueProperty/__init__.py +0 -0
  1129. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOrdersAreSortedBeforeExecution/__init__.py +0 -0
  1130. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestOversizedReduceOnlyExitAccounting/__init__.py +0 -0
  1131. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPortfolioValue/__init__.py +0 -0
  1132. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPortfolioValueIncludesPositionValueAndOpenOrdersValue/__init__.py +0 -0
  1133. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPositionExchangeTypeProperty1/__init__.py +0 -0
  1134. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPositionExchangeTypeProperty2/__init__.py +0 -0
  1135. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPositionOpenIncreaseReduceCloseEventsInSpot/__init__.py +0 -0
  1136. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPositionTotalCostProperty/__init__.py +0 -0
  1137. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPositionWithLeverage1/__init__.py +0 -0
  1138. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPositionWithLeverage2/__init__.py +0 -0
  1139. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestPositions/__init__.py +0 -0
  1140. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestProperBalanceHanldingInSpotAfterOrderCancellation/__init__.py +0 -0
  1141. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestProtectiveOrdersAcrossTradingModes/__init__.py +0 -0
  1142. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestReduceOnlyMarketOrders/__init__.py +0 -0
  1143. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestRuleSignificanceAlignment/__init__.py +0 -0
  1144. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestRuleSignificanceFailure/__init__.py +0 -0
  1145. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestShortInSpot/__init__.py +0 -0
  1146. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestSparseTimestampRoutes/__init__.py +0 -0
  1147. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceLongPosition/__init__.py +0 -0
  1148. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceShortPosition/__init__.py +0 -0
  1149. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestStopOrderShouldConsiderExecutedTakeProfitOrdersInSpot/__init__.py +0 -0
  1150. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestStrategyChartsReport/__init__.py +0 -0
  1151. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestStrategyVariablesAreResetBeforeOpeningNewPosition/__init__.py +0 -0
  1152. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientLongPosition/__init__.py +0 -0
  1153. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientShortPosition/__init__.py +0 -0
  1154. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestTerminate/__init__.py +0 -0
  1155. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestTradingHours/__init__.py +0 -0
  1156. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestUsageOfShouldCancelRaisesNotImplementedError/__init__.py +0 -0
  1157. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestVanillaStrategy/__init__.py +0 -0
  1158. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestWalletBalance/__init__.py +0 -0
  1159. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/TestWithoutCancelMethod/__init__.py +0 -0
  1160. {jesse-3.2.0 → jesse-3.2.2}/jesse/strategies/__init__.py +0 -0
  1161. {jesse-3.2.0 → jesse-3.2.2}/jesse/testing_utils.py +0 -0
  1162. {jesse-3.2.0 → jesse-3.2.2}/jesse/utils.py +0 -0
  1163. {jesse-3.2.0 → jesse-3.2.2}/jesse.egg-info/dependency_links.txt +0 -0
  1164. {jesse-3.2.0 → jesse-3.2.2}/jesse.egg-info/entry_points.txt +0 -0
  1165. {jesse-3.2.0 → jesse-3.2.2}/jesse.egg-info/top_level.txt +0 -0
  1166. {jesse-3.2.0 → jesse-3.2.2}/setup.cfg +0 -0
  1167. {jesse-3.2.0 → jesse-3.2.2}/tests/__init__.py +0 -0
  1168. {jesse-3.2.0 → jesse-3.2.2}/tests/conftest.py +0 -0
  1169. {jesse-3.2.0 → jesse-3.2.2}/tests/data/__init__.py +0 -0
  1170. {jesse-3.2.0 → jesse-3.2.2}/tests/data/test_candles_0.py +0 -0
  1171. {jesse-3.2.0 → jesse-3.2.2}/tests/data/test_candles_1.py +0 -0
  1172. {jesse-3.2.0 → jesse-3.2.2}/tests/data/test_candles_indicators.py +0 -0
  1173. {jesse-3.2.0 → jesse-3.2.2}/tests/test_backtest.py +0 -0
  1174. {jesse-3.2.0 → jesse-3.2.2}/tests/test_backtest_session_chart_data.py +0 -0
  1175. {jesse-3.2.0 → jesse-3.2.2}/tests/test_broker.py +0 -0
  1176. {jesse-3.2.0 → jesse-3.2.2}/tests/test_candle_copy.py +0 -0
  1177. {jesse-3.2.0 → jesse-3.2.2}/tests/test_candle_service.py +0 -0
  1178. {jesse-3.2.0 → jesse-3.2.2}/tests/test_candle_timeframe_filter.py +0 -0
  1179. {jesse-3.2.0 → jesse-3.2.2}/tests/test_chart_data_serialization.py +0 -0
  1180. {jesse-3.2.0 → jesse-3.2.2}/tests/test_completed_trade.py +0 -0
  1181. {jesse-3.2.0 → jesse-3.2.2}/tests/test_config_safety.py +0 -0
  1182. {jesse-3.2.0 → jesse-3.2.2}/tests/test_conflicting_orders.py +0 -0
  1183. {jesse-3.2.0 → jesse-3.2.2}/tests/test_dynamic_numpy_array.py +0 -0
  1184. {jesse-3.2.0 → jesse-3.2.2}/tests/test_e2e_database.py +0 -0
  1185. {jesse-3.2.0 → jesse-3.2.2}/tests/test_exchange.py +0 -0
  1186. {jesse-3.2.0 → jesse-3.2.2}/tests/test_helpers.py +0 -0
  1187. {jesse-3.2.0 → jesse-3.2.2}/tests/test_historical_data_contracts.py +0 -0
  1188. {jesse-3.2.0 → jesse-3.2.2}/tests/test_import_and_backtest_request_boundaries.py +0 -0
  1189. {jesse-3.2.0 → jesse-3.2.2}/tests/test_import_candle_drivers.py +0 -0
  1190. {jesse-3.2.0 → jesse-3.2.2}/tests/test_import_candles.py +0 -0
  1191. {jesse-3.2.0 → jesse-3.2.2}/tests/test_import_candles_workflow.py +0 -0
  1192. {jesse-3.2.0 → jesse-3.2.2}/tests/test_indicators.py +0 -0
  1193. {jesse-3.2.0 → jesse-3.2.2}/tests/test_isolated_backtest.py +0 -0
  1194. {jesse-3.2.0 → jesse-3.2.2}/tests/test_live_session_chart_data.py +0 -0
  1195. {jesse-3.2.0 → jesse-3.2.2}/tests/test_live_strategy_charts.py +0 -0
  1196. {jesse-3.2.0 → jesse-3.2.2}/tests/test_lsp.py +0 -0
  1197. {jesse-3.2.0 → jesse-3.2.2}/tests/test_mcp_config.py +0 -0
  1198. {jesse-3.2.0 → jesse-3.2.2}/tests/test_mcp_credentials.py +0 -0
  1199. {jesse-3.2.0 → jesse-3.2.2}/tests/test_mcp_usage_limits.py +0 -0
  1200. {jesse-3.2.0 → jesse-3.2.2}/tests/test_metrics.py +0 -0
  1201. {jesse-3.2.0 → jesse-3.2.2}/tests/test_optimization_and_monte_carlo_session_failures.py +0 -0
  1202. {jesse-3.2.0 → jesse-3.2.2}/tests/test_order.py +0 -0
  1203. {jesse-3.2.0 → jesse-3.2.2}/tests/test_parent_strategy.py +0 -0
  1204. {jesse-3.2.0 → jesse-3.2.2}/tests/test_position.py +0 -0
  1205. {jesse-3.2.0 → jesse-3.2.2}/tests/test_price_gap_backtest.py +0 -0
  1206. {jesse-3.2.0 → jesse-3.2.2}/tests/test_progressbar.py +0 -0
  1207. {jesse-3.2.0 → jesse-3.2.2}/tests/test_real_strategy_regression.py +0 -0
  1208. {jesse-3.2.0 → jesse-3.2.2}/tests/test_research.py +0 -0
  1209. {jesse-3.2.0 → jesse-3.2.2}/tests/test_research_monte_carlo.py +0 -0
  1210. {jesse-3.2.0 → jesse-3.2.2}/tests/test_research_optimization_isolation.py +0 -0
  1211. {jesse-3.2.0 → jesse-3.2.2}/tests/test_research_session_lifecycle.py +0 -0
  1212. {jesse-3.2.0 → jesse-3.2.2}/tests/test_router.py +0 -0
  1213. {jesse-3.2.0 → jesse-3.2.2}/tests/test_rule_significance_testing.py +0 -0
  1214. {jesse-3.2.0 → jesse-3.2.2}/tests/test_session_scoped_configuration.py +0 -0
  1215. {jesse-3.2.0 → jesse-3.2.2}/tests/test_significance_test_session.py +0 -0
  1216. {jesse-3.2.0 → jesse-3.2.2}/tests/test_simulator_parity.py +0 -0
  1217. {jesse-3.2.0 → jesse-3.2.2}/tests/test_spot_mode.py +0 -0
  1218. {jesse-3.2.0 → jesse-3.2.2}/tests/test_state_candle.py +0 -0
  1219. {jesse-3.2.0 → jesse-3.2.2}/tests/test_state_exchanges.py +0 -0
  1220. {jesse-3.2.0 → jesse-3.2.2}/tests/test_state_logs.py +0 -0
  1221. {jesse-3.2.0 → jesse-3.2.2}/tests/test_state_orderbook.py +0 -0
  1222. {jesse-3.2.0 → jesse-3.2.2}/tests/test_state_orders.py +0 -0
  1223. {jesse-3.2.0 → jesse-3.2.2}/tests/test_state_ticker.py +0 -0
  1224. {jesse-3.2.0 → jesse-3.2.2}/tests/test_state_trades.py +0 -0
  1225. {jesse-3.2.0 → jesse-3.2.2}/tests/test_trading_hours.py +0 -0
  1226. {jesse-3.2.0 → jesse-3.2.2}/tests/test_trading_mode_contracts.py +0 -0
  1227. {jesse-3.2.0 → jesse-3.2.2}/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.2
4
4
  Summary: A trading framework for cryptocurrencies
5
5
  Home-page: https://jesse.trade
6
6
  Author: Saleh Mir
@@ -48,7 +48,7 @@ Requires-Dist: ray
48
48
  Requires-Dist: eth-account~=0.13.5
49
49
  Requires-Dist: msgpack~=1.1.0
50
50
  Requires-Dist: starkbank-ecdsa~=1.1.0
51
- Requires-Dist: jesse-rust==1.2.0
51
+ Requires-Dist: jesse-rust==1.3.0
52
52
  Requires-Dist: mcp==1.28.1
53
53
  Requires-Dist: joblib~=1.5.3
54
54
  Requires-Dist: scikit-learn~=1.7.2; python_version < "3.11"
@@ -40,7 +40,13 @@ def install_live(strict: bool) -> None:
40
40
  default=False,
41
41
  help="Skip syncing the agent rules file (AGENTS.md / CLAUDE.md / mcp-rules.md) in the project directory.",
42
42
  )
43
- def run(skip_agent_rules: bool) -> None:
43
+ @click.option(
44
+ "--skip-lsp",
45
+ is_flag=True,
46
+ default=False,
47
+ help="Skip the Python Language Server for this run (disables editor code intelligence).",
48
+ )
49
+ def run(skip_agent_rules: bool, skip_lsp: bool) -> None:
44
50
  """Start the Jesse application server."""
45
51
  from jesse.services.env import is_test_env
46
52
 
@@ -102,11 +108,14 @@ def run(skip_agent_rules: bool) -> None:
102
108
  time.sleep(sleep_seconds)
103
109
  run_migrations()
104
110
 
105
- if not is_test_env():
111
+ if skip_lsp:
112
+ click.echo("Skipping Python Language Server for this run. Editor code intelligence will be unavailable.")
113
+
114
+ if not is_test_env() and not skip_lsp:
106
115
  try:
107
116
  from jesse.services.lsp import install_lsp_server
108
117
 
109
- install_lsp_server()
118
+ skip_lsp = not install_lsp_server(allow_skip=True)
110
119
  except Exception as e:
111
120
  print(jh.color(f"Error installing Python Language Server: {str(e)}", "red"))
112
121
  pass
@@ -124,7 +133,7 @@ def run(skip_agent_rules: bool) -> None:
124
133
 
125
134
  # Set global Jesse API configuration for MCP and other services
126
135
 
127
- if not is_test_env():
136
+ if not is_test_env() and not skip_lsp:
128
137
  try:
129
138
  from jesse.services.lsp import run_lsp_server
130
139
 
@@ -56,7 +56,7 @@ Jesse provides comprehensive documentation through MCP resources.
56
56
 
57
57
  Key resources include:
58
58
 
59
- - jesse://strategy - Strategy structure and required methods and How strategies execute candle-by-candle
59
+ - jesse://strategy - Strategy structure, candle-by-candle execution, and Trading Hours workflow for adapting traditional-market research to 24/7 exchanges
60
60
  - jesse://strategy_examples - Library of complete, worked example strategies (full, runnable references)
61
61
  - jesse://charts - Strategy chart APIs, update_chart lifecycle, and live intrabar behavior
62
62
  - jesse://indicator - Step-by-step guide for discovering and using indicators and Essential indicators and candle data access
@@ -113,10 +113,11 @@ 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.
117
+ - For requests to adapt traditional-market research to 24/7 crypto trading, follow the Trading Hours adaptation workflow in `jesse://strategy`, even when the user does not mention sessions.
116
118
 
117
119
  For full structure, lifecycle, and complete runnable examples see jesse://strategy and jesse://strategy_examples.
118
120
 
119
-
120
121
  === STRATEGY DEVELOPMENT ===
121
122
 
122
123
  Improvement Workflow:
@@ -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,132 @@ 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
+
435
+ ### Adapting traditional-market research to 24/7 execution
436
+
437
+ Use this workflow for requests to prepare, adapt, port or make a strategy live-ready when
438
+ its research used traditional-market candles and its target is a continuously traded
439
+ crypto-exchange instrument. Examples include stock, index, forex or commodity research
440
+ moved to a corresponding tokenized instrument or perpetual. Recognize the intent even
441
+ without the words "trading hours". Ordinary crypto strategies do not acquire a session
442
+ restriction merely because their data came from a CSV.
443
+
444
+ Treat the session adaptation as one coordinated change, even when it needs several edits;
445
+ preserve the trading idea rather than performing unrelated strategy optimization.
446
+
447
+ Reference: [Trading Hours](https://docs.jesse.trade/docs/strategies/trading-hours).
448
+
449
+ 1. **Read the strategy and identify the mismatch.** Use MCP to inspect the strategy,
450
+ research settings and available route/data context. Distinguish the historical source
451
+ (for example Massive or Custom Data) from the execution venue and verify the target
452
+ symbol and spot/futures type. Determine the underlying market, timezone and the session
453
+ actually used in research, including regular versus extended hours. Ask for missing
454
+ material details rather than guessing a calendar or silently imposing US equity hours.
455
+ 2. **Define the intended schedule.** Implement `trading_hours()` using the dict above and
456
+ an IANA timezone, not fixed UTC offsets. Account for market breaks and overnight windows
457
+ where applicable. `closed` and `overrides` are explicit, year-specific dates: neither
458
+ holidays nor early closes are populated automatically. Do not claim complete holiday
459
+ coverage from a weekday schedule or copy example dates into a different trading year.
460
+ 3. **Make the history choice deliberate.** For consistent session selection, use the same
461
+ schedule in backtests and live trading. Imported data can include extended-hours bars;
462
+ it is not automatically regular-session-only. Returning `None` in backtests is an
463
+ intentional alternative when retaining the provider's own session is desired, not a
464
+ default migration shortcut. Revalidate if session selection changes the original research.
465
+ 4. **Adapt both entry decisions and their inputs.** Gate each enabled entry direction in
466
+ `should_long()`/`should_short()` with `self.is_trading_hours`. Create a `@property` plus
467
+ `@cached` session-candle accessor using `utils.filter_candles_by_hours(...)`. Trace the
468
+ signal's indicators, direct candle indexing, features and auxiliary `get_candles()`
469
+ inputs; filter the relevant history using the appropriate underlying market's schedule.
470
+ Do not blindly apply a stock calendar to an unrelated crypto input. Preserve existing
471
+ indicator parameters, signal rules and risk sizing. Never overwrite `self.candles`,
472
+ fabricate closure candles, or substitute a historical session close for the live price.
473
+ 5. **Check timeframe alignment and warm-up.** Candle filtering uses candle **open times**,
474
+ while the entry gate uses the current **decision time**, `self.time`. A bar opening
475
+ before the session is excluded even if it partly overlaps it. Intraday windows can
476
+ discard every UTC-midnight `1D` bar; use an appropriate full-day calendar for daily
477
+ routes and verify the local date mapping. Filtering does not realign or rebuild bars.
478
+ `warm_up_candles` counts raw candles before filtering: size it for the longest required
479
+ lookback on each relevant input, including weekends/closures, and verify enough retained
480
+ candles remain. Do not assume one fixed multiplier works across timeframes and calendars.
481
+ 6. **Keep risk management active.** Do not gate `update_position()`, stop-loss, take-profit
482
+ or exits by market hours, and do not flatten at the close unless requested. Make the
483
+ unfilled-entry policy explicit: cancel at the first execution outside the session or
484
+ retain overnight orders as intended. Preserve other cancellation conditions when adding
485
+ the close condition. Cancellation is evaluated on execution ticks, not guaranteed at
486
+ the exact wall-clock close. Preserve the target venue's spot/futures order rules.
487
+ 7. **Verify and explain the adaptation.** Read back the saved code and use MCP backtests
488
+ with the selected session and adequate warm-up. Check session boundaries, weekend gaps
489
+ and relevant date exceptions in the available data. State when target-venue history or
490
+ another required check is unavailable. Matching session selection does not make prices,
491
+ bar alignment, liquidity, fees or fills identical between underlying and tokenized
492
+ instruments. Report the calendar, history choice, cancellation policy and actual
493
+ validation performed; preparing a strategy is not evidence of a running live session.
494
+
366
495
  ## Charting Helpers
367
496
 
368
497
  These `Strategy` methods add lines and levels to interactive backtest, paper,
@@ -466,6 +595,7 @@ def dna(self):
466
595
  - **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
596
  - **Check position type in `on_open_position()`** — branch on `self.is_long` / `self.is_short` before setting `stop_loss`/`take_profit`.
468
597
  - **`on_close_position` takes two args** — `def on_close_position(self, order, closed_trade) -> None`.
598
+ - **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
599
 
470
600
  ## Utility Functions (used in strategies)
471
601
 
@@ -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)
@@ -52,8 +52,16 @@ mcp_config.JESSE_PASSWORD = args.password
52
52
  mcp_config.MCP_PORT = args.port
53
53
  mcp_config.MCP_URL = f"http://localhost:{args.port}/mcp"
54
54
 
55
- # Create the MCP server instance
56
- mcp = FastMCP("Jesse MCP Server", host=MCP_HOST, port=args.port, json_response=True)
55
+ # Advertise this workflow during initialization, including to clients without local agent rules.
56
+ mcp = FastMCP(
57
+ "Jesse MCP Server", host=MCP_HOST, port=args.port, json_response=True,
58
+ instructions=(
59
+ "When asked to prepare, adapt, port, or deploy a strategy researched on traditional-market "
60
+ "data for a 24/7 crypto exchange (including tokenized or stock-linked instruments), read "
61
+ "jesse://strategy, especially Trading Hours and its adaptation workflow, before editing. "
62
+ "Recognize equivalent requests even when the user does not mention trading hours."
63
+ ),
64
+ )
57
65
 
58
66
  # Register all available resources
59
67
  from jesse.mcp.resources import register_resources
@@ -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
 
@@ -50,6 +50,11 @@ def register_strategy_tools(mcp):
50
50
  The provided content must be valid Python code following Jesse's Strategy
51
51
  class structure with proper imports and method implementations.
52
52
 
53
+ Traditional-market adaptation:
54
+ When preparing traditional-market research for a 24/7 crypto exchange,
55
+ read the Trading Hours adaptation workflow in `jesse://strategy` first,
56
+ even if the user does not explicitly request session filtering.
57
+
53
58
  Parameters:
54
59
  name (str): Name for the new strategy class and file
55
60
  Requirements: Valid Python identifier, no spaces, unique within Jesse
@@ -268,6 +273,11 @@ def register_strategy_tools(mcp):
268
273
  Use after create_strategy() to see the template, or to examine existing
269
274
  strategies before modification with write_strategy().
270
275
 
276
+ Traditional-market adaptation:
277
+ For requests to port research to tokenized instruments or a 24/7 crypto
278
+ exchange, also read the Trading Hours adaptation workflow in `jesse://strategy`.
279
+ Inspect every indicator's candle source and the existing entry/exit policies.
280
+
271
281
  Parameters:
272
282
  name (str): Exact name of the strategy to read (case-sensitive)
273
283
  Must match the class name and filename exactly
@@ -399,6 +409,12 @@ def register_strategy_tools(mcp):
399
409
  Use read_strategy() first to get current content, modify it, then save
400
410
  with this function. Changes take effect immediately for new backtests.
401
411
 
412
+ Traditional-market adaptation:
413
+ Follow the Trading Hours adaptation workflow in `jesse://strategy` when
414
+ porting traditional-market research to a 24/7 crypto exchange. Entry gates
415
+ alone are insufficient: use session-filtered history for the relevant
416
+ indicators, verify warm-up, and preserve round-the-clock position management.
417
+
402
418
  Parameters:
403
419
  name (str): Exact name of the strategy to update (case-sensitive)
404
420
  Must match existing strategy name exactly