diff --git a/.gitignore b/.gitignore index fac40c8d..7c9b0963 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ wheelhouse/ *.dist-info/ .installed.cfg *.egg +build/ # PyInstaller # Usually these files are written by a python script from a template diff --git a/README.md b/README.md index e6c292f3..cc6f8832 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,22 @@ while True: ... ``` +### `trigger_exception_handler()` function +Debugpy supports a `trigger_exception_handler()` function for post-mortem inspection of a caught exception, similar in spirit to `pdb.post_mortem()`. Call `debugpy.trigger_exception_handler(e)` with an exception or `(type(e),e,e.__traceback__)` tuple; or with no arguments in an except block. If the debugger is attached, it will pause execution and start post-mortem debugging of the exception stack as-if an uncaught exception. This respects breakpoint filters set by the debugger by default. When resuming afterward, the program will continue executing as normal (including unwinding the stack further if trigger_exception_handler() was invoked in a context manager's `__exit__` for example, or the exception is re-raised). If there's no client attached, this function does nothing, as breakpoint(). + +```python +import debugpy +debugpy.listen(...) + +... +def risky_function(): + raise ValueError("threw an exception") +try: + risky_function() +except Exception as e: + debugpy.trigger_exception_handler(e) +``` + ## Debugger logging To enable debugger internal logging via CLI, the `--log-to` switch can be used: diff --git a/src/debugpy/__init__.py b/src/debugpy/__init__.py index 890d10af..b466cde0 100644 --- a/src/debugpy/__init__.py +++ b/src/debugpy/__init__.py @@ -20,6 +20,7 @@ "listen", "log_to", "trace_this_thread", + "trigger_exception_handler", "wait_for_client", ] diff --git a/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py b/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py index 4e141f5d..2df9ae18 100644 --- a/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +++ b/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py @@ -1866,6 +1866,56 @@ def stop_monitoring(all_threads=False): thread_info.trace = False +# fmt: off +# IFDEF CYTHON +# cpdef bint suspend_current_thread_tracing(): +# cdef ThreadInfo thread_info +# ELSE +def suspend_current_thread_tracing(): +# ENDIF +# fmt: on + """ + Suspends tracing for the current thread. + + Returns the previous tracing state (True if tracing was enabled, False otherwise). + This is useful for temporarily disabling tracing to prevent recursive debugging. + + Use resume_current_thread_tracing() to restore. + """ + try: + thread_info = _thread_local_info.thread_info + except: + # Create the thread info if it doesn't exist yet: if tracing is not + # explicitly disabled here, the first monitoring event on this thread + # would create it with tracing enabled. + thread_info = _get_thread_info(True, 1) + if thread_info is None: + return False + previous_state = thread_info.trace + thread_info.trace = False + return previous_state + + +# fmt: off +# IFDEF CYTHON +# cpdef resume_current_thread_tracing(): +# cdef ThreadInfo thread_info +# ELSE +def resume_current_thread_tracing(): +# ENDIF +# fmt: on + """ + Resumes tracing for the current thread. + """ + try: + thread_info = _thread_local_info.thread_info + except: + thread_info = _get_thread_info(True, 1) + if thread_info is None: + return + thread_info.trace = True + + def update_monitor_events(suspend_requested: Optional[bool]=None) -> None: """ This should be called when breakpoints change. diff --git a/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c b/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c index fd61882a..bffbbb48 100644 --- a/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +++ b/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c @@ -2906,6 +2906,8 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__start_method_event(PyO static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__ensure_monitoring(int __pyx_skip_dispatch); /*proto*/ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython_start_monitoring(int __pyx_skip_dispatch, struct __pyx_opt_args_29_pydevd_sys_monitoring_cython_start_monitoring *__pyx_optional_args); /*proto*/ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython_stop_monitoring(int __pyx_skip_dispatch, struct __pyx_opt_args_29_pydevd_sys_monitoring_cython_stop_monitoring *__pyx_optional_args); /*proto*/ +static int __pyx_f_29_pydevd_sys_monitoring_cython_suspend_current_thread_tracing(int __pyx_skip_dispatch); /*proto*/ +static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython_resume_current_thread_tracing(int __pyx_skip_dispatch); /*proto*/ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *, PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython___pyx_unpickle_ThreadInfo__set_state(struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *, PyObject *); /*proto*/ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython___pyx_unpickle_FuncCodeInfo__set_state(struct __pyx_obj_29_pydevd_sys_monitoring_cython_FuncCodeInfo *, PyObject *); /*proto*/ @@ -2960,13 +2962,15 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_22_TryExceptContainerO static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_10_ensure_monitoring(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_12start_monitoring(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_all_threads); /* proto */ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_14stop_monitoring(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_all_threads); /* proto */ -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_events(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_suspend_requested); /* proto */ -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18restart_events(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20_do_wait_suspend(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *__pyx_v_thread_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_22__pyx_unpickle_ThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_24__pyx_unpickle_FuncCodeInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_26__pyx_unpickle__CodeLineInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_28__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16suspend_current_thread_tracing(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18resume_current_thread_tracing(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20update_monitor_events(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_suspend_requested); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_22restart_events(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_24_do_wait_suspend(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *__pyx_v_thread_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_26__pyx_unpickle_ThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_28__pyx_unpickle_FuncCodeInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_30__pyx_unpickle__CodeLineInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_32__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ static PyObject *__pyx_tp_new_29_pydevd_sys_monitoring_cython_ThreadInfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_29_pydevd_sys_monitoring_cython_FuncCodeInfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_29_pydevd_sys_monitoring_cython__CodeLineInfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ @@ -3022,8 +3026,8 @@ typedef struct { PyObject *__pyx_k__2; PyObject *__pyx_slice[1]; PyObject *__pyx_tuple[7]; - PyObject *__pyx_codeobj_tab[31]; - PyObject *__pyx_string_tab[365]; + PyObject *__pyx_codeobj_tab[33]; + PyObject *__pyx_string_tab[369]; PyObject *__pyx_number_tab[17]; /* #### Code section: module_state_contents ### */ /* CommonTypesMetaclass.module_state_decls */ @@ -3371,90 +3375,94 @@ static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_stati #define __pyx_n_u_required_events_stepping __pyx_string_tab[278] #define __pyx_n_u_reset_thread_local_info __pyx_string_tab[279] #define __pyx_n_u_restart_events __pyx_string_tab[280] -#define __pyx_n_u_return __pyx_string_tab[281] -#define __pyx_n_u_retval __pyx_string_tab[282] -#define __pyx_n_u_run __pyx_string_tab[283] -#define __pyx_n_u_run_2 __pyx_string_tab[284] -#define __pyx_n_u_runpy __pyx_string_tab[285] -#define __pyx_n_u_self __pyx_string_tab[286] -#define __pyx_n_u_set_events __pyx_string_tab[287] -#define __pyx_n_u_set_local_events __pyx_string_tab[288] -#define __pyx_n_u_set_name __pyx_string_tab[289] -#define __pyx_n_u_set_suspend __pyx_string_tab[290] -#define __pyx_n_u_set_trace_for_frame_and_parents __pyx_string_tab[291] -#define __pyx_n_u_setdefault __pyx_string_tab[292] -#define __pyx_n_u_setstate __pyx_string_tab[293] -#define __pyx_n_u_setstate_cython __pyx_string_tab[294] -#define __pyx_n_u_should_stop_on_exception __pyx_string_tab[295] -#define __pyx_n_u_should_trace_hook __pyx_string_tab[296] -#define __pyx_n_u_show_return_values __pyx_string_tab[297] -#define __pyx_n_u_splitext __pyx_string_tab[298] -#define __pyx_n_u_start __pyx_string_tab[299] -#define __pyx_n_u_start_monitoring __pyx_string_tab[300] -#define __pyx_n_u_startswith __pyx_string_tab[301] -#define __pyx_n_u_state __pyx_string_tab[302] -#define __pyx_n_u_stop __pyx_string_tab[303] -#define __pyx_n_u_stop_monitoring __pyx_string_tab[304] -#define __pyx_n_u_stop_on_unhandled_exception __pyx_string_tab[305] -#define __pyx_n_u_suspend __pyx_string_tab[306] -#define __pyx_n_u_suspend_other_threads __pyx_string_tab[307] -#define __pyx_n_u_suspend_policy __pyx_string_tab[308] -#define __pyx_n_u_suspend_requested __pyx_string_tab[309] -#define __pyx_n_u_sys __pyx_string_tab[310] -#define __pyx_n_u_sys_monitor __pyx_string_tab[311] -#define __pyx_n_u_t __pyx_string_tab[312] -#define __pyx_n_u_test __pyx_string_tab[313] -#define __pyx_n_u_thread __pyx_string_tab[314] -#define __pyx_n_u_thread_active __pyx_string_tab[315] -#define __pyx_n_u_thread_ident __pyx_string_tab[316] -#define __pyx_n_u_thread_info __pyx_string_tab[317] -#define __pyx_n_u_thread_local_info __pyx_string_tab[318] -#define __pyx_n_u_threading __pyx_string_tab[319] -#define __pyx_n_u_tident __pyx_string_tab[320] -#define __pyx_n_u_to_offset __pyx_string_tab[321] -#define __pyx_n_u_trace __pyx_string_tab[322] -#define __pyx_n_u_traceback __pyx_string_tab[323] -#define __pyx_n_u_track_dummy_thread_ref __pyx_string_tab[324] -#define __pyx_n_u_try_except_infos __pyx_string_tab[325] -#define __pyx_n_u_types __pyx_string_tab[326] -#define __pyx_n_u_typing __pyx_string_tab[327] -#define __pyx_n_u_update __pyx_string_tab[328] -#define __pyx_n_u_update_monitor_events __pyx_string_tab[329] -#define __pyx_n_u_use_setstate __pyx_string_tab[330] -#define __pyx_n_u_use_tool_id __pyx_string_tab[331] -#define __pyx_n_u_user_uncaught_exc_info __pyx_string_tab[332] -#define __pyx_n_u_values __pyx_string_tab[333] -#define __pyx_n_u_wrap __pyx_string_tab[334] -#define __pyx_n_u_writer __pyx_string_tab[335] -#define __pyx_kp_b_PyObject_PyObject_int___pyx_skip __pyx_string_tab[336] -#define __pyx_kp_b_iso88591_1F __pyx_string_tab[337] -#define __pyx_kp_b_iso88591_4AV1 __pyx_string_tab[338] -#define __pyx_kp_b_iso88591_5Q_YgWA __pyx_string_tab[339] -#define __pyx_kp_b_iso88591_6 __pyx_string_tab[340] -#define __pyx_kp_b_iso88591_A_G5_IYa_vWE_T_T_gQ_7_V4wc_1 __pyx_string_tab[341] -#define __pyx_kp_b_iso88591_A_Q_K_1_5Q __pyx_string_tab[342] -#define __pyx_kp_b_iso88591_A_a_T_j_4q_d_4z __pyx_string_tab[343] -#define __pyx_kp_b_iso88591_A_q __pyx_string_tab[344] -#define __pyx_kp_b_iso88591_A_q_A __pyx_string_tab[345] -#define __pyx_kp_b_iso88591_A_q_q __pyx_string_tab[346] -#define __pyx_kp_b_iso88591_EQ_wiq_S_vS_A_A_E_A_was_0_1_3a __pyx_string_tab[347] -#define __pyx_kp_b_iso88591_T_4_tCUUYYbbffuuyyz_G1F_a_vWE_Q __pyx_string_tab[348] -#define __pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t_WA_q_7t1G_gUV __pyx_string_tab[349] -#define __pyx_kp_b_iso88591_T_T_tCVVZZrrv_w_J_J_N_N_n_n_r_r __pyx_string_tab[350] -#define __pyx_kp_b_iso88591_T_d_d_G1F_a_vWE_Q_q_t_7_q_d_7_W __pyx_string_tab[351] -#define __pyx_kp_b_iso88591__6 __pyx_string_tab[352] -#define __pyx_kp_b_iso88591__7 __pyx_string_tab[353] -#define __pyx_kp_b_iso88591_a_A __pyx_string_tab[354] -#define __pyx_kp_b_iso88591_q __pyx_string_tab[355] -#define __pyx_kp_b_iso88591_q_0_kQR_7_8_9RR_a_1 __pyx_string_tab[356] -#define __pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1 __pyx_string_tab[357] -#define __pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1 __pyx_string_tab[358] -#define __pyx_kp_b_iso88591_q_0_kQR_xq_7_a_nA_1 __pyx_string_tab[359] -#define __pyx_kp_b_iso88591_q_7_1G_A_awnA_Qm7_A_Qm7_Q_Qm7_Q __pyx_string_tab[360] -#define __pyx_kp_b_iso88591_q_gQ_4wiq_q_Q_A_6_3a_9A __pyx_string_tab[361] -#define __pyx_kp_b_iso88591_t7_1A_1M_Q_a __pyx_string_tab[362] -#define __pyx_kp_b_iso88591_vS_S_Q_q_6avQ_Q_q_aq_7_Q_1_4AQ __pyx_string_tab[363] -#define __pyx_kp_b_iso88591_vS_q_2_aq_gQ_S_Q_1_A_A_fD_a_1_Q __pyx_string_tab[364] +#define __pyx_n_u_resume_current_thread_tracing __pyx_string_tab[281] +#define __pyx_n_u_return __pyx_string_tab[282] +#define __pyx_n_u_retval __pyx_string_tab[283] +#define __pyx_n_u_run __pyx_string_tab[284] +#define __pyx_n_u_run_2 __pyx_string_tab[285] +#define __pyx_n_u_runpy __pyx_string_tab[286] +#define __pyx_n_u_self __pyx_string_tab[287] +#define __pyx_n_u_set_events __pyx_string_tab[288] +#define __pyx_n_u_set_local_events __pyx_string_tab[289] +#define __pyx_n_u_set_name __pyx_string_tab[290] +#define __pyx_n_u_set_suspend __pyx_string_tab[291] +#define __pyx_n_u_set_trace_for_frame_and_parents __pyx_string_tab[292] +#define __pyx_n_u_setdefault __pyx_string_tab[293] +#define __pyx_n_u_setstate __pyx_string_tab[294] +#define __pyx_n_u_setstate_cython __pyx_string_tab[295] +#define __pyx_n_u_should_stop_on_exception __pyx_string_tab[296] +#define __pyx_n_u_should_trace_hook __pyx_string_tab[297] +#define __pyx_n_u_show_return_values __pyx_string_tab[298] +#define __pyx_n_u_splitext __pyx_string_tab[299] +#define __pyx_n_u_start __pyx_string_tab[300] +#define __pyx_n_u_start_monitoring __pyx_string_tab[301] +#define __pyx_n_u_startswith __pyx_string_tab[302] +#define __pyx_n_u_state __pyx_string_tab[303] +#define __pyx_n_u_stop __pyx_string_tab[304] +#define __pyx_n_u_stop_monitoring __pyx_string_tab[305] +#define __pyx_n_u_stop_on_unhandled_exception __pyx_string_tab[306] +#define __pyx_n_u_suspend __pyx_string_tab[307] +#define __pyx_n_u_suspend_current_thread_tracing __pyx_string_tab[308] +#define __pyx_n_u_suspend_other_threads __pyx_string_tab[309] +#define __pyx_n_u_suspend_policy __pyx_string_tab[310] +#define __pyx_n_u_suspend_requested __pyx_string_tab[311] +#define __pyx_n_u_sys __pyx_string_tab[312] +#define __pyx_n_u_sys_monitor __pyx_string_tab[313] +#define __pyx_n_u_t __pyx_string_tab[314] +#define __pyx_n_u_test __pyx_string_tab[315] +#define __pyx_n_u_thread __pyx_string_tab[316] +#define __pyx_n_u_thread_active __pyx_string_tab[317] +#define __pyx_n_u_thread_ident __pyx_string_tab[318] +#define __pyx_n_u_thread_info __pyx_string_tab[319] +#define __pyx_n_u_thread_local_info __pyx_string_tab[320] +#define __pyx_n_u_threading __pyx_string_tab[321] +#define __pyx_n_u_tident __pyx_string_tab[322] +#define __pyx_n_u_to_offset __pyx_string_tab[323] +#define __pyx_n_u_trace __pyx_string_tab[324] +#define __pyx_n_u_traceback __pyx_string_tab[325] +#define __pyx_n_u_track_dummy_thread_ref __pyx_string_tab[326] +#define __pyx_n_u_try_except_infos __pyx_string_tab[327] +#define __pyx_n_u_types __pyx_string_tab[328] +#define __pyx_n_u_typing __pyx_string_tab[329] +#define __pyx_n_u_update __pyx_string_tab[330] +#define __pyx_n_u_update_monitor_events __pyx_string_tab[331] +#define __pyx_n_u_use_setstate __pyx_string_tab[332] +#define __pyx_n_u_use_tool_id __pyx_string_tab[333] +#define __pyx_n_u_user_uncaught_exc_info __pyx_string_tab[334] +#define __pyx_n_u_values __pyx_string_tab[335] +#define __pyx_n_u_wrap __pyx_string_tab[336] +#define __pyx_n_u_writer __pyx_string_tab[337] +#define __pyx_kp_b_PyObject_PyObject_int___pyx_skip __pyx_string_tab[338] +#define __pyx_kp_b_iso88591_1F __pyx_string_tab[339] +#define __pyx_kp_b_iso88591_4AV1 __pyx_string_tab[340] +#define __pyx_kp_b_iso88591_5Q_YgWA __pyx_string_tab[341] +#define __pyx_kp_b_iso88591_6 __pyx_string_tab[342] +#define __pyx_kp_b_iso88591_A_G5_IYa_vWE_T_T_gQ_7_V4wc_1 __pyx_string_tab[343] +#define __pyx_kp_b_iso88591_A_Q_K_1_5Q __pyx_string_tab[344] +#define __pyx_kp_b_iso88591_A_a_T_j_4q_d_4z __pyx_string_tab[345] +#define __pyx_kp_b_iso88591_A_q __pyx_string_tab[346] +#define __pyx_kp_b_iso88591_A_q_A __pyx_string_tab[347] +#define __pyx_kp_b_iso88591_A_q_q __pyx_string_tab[348] +#define __pyx_kp_b_iso88591_EQ_wiq_S_vS_A_A_E_A_was_0_1_3a __pyx_string_tab[349] +#define __pyx_kp_b_iso88591_T_4_tCUUYYbbffuuyyz_G1F_a_vWE_Q __pyx_string_tab[350] +#define __pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t_WA_q_7t1G_gUV __pyx_string_tab[351] +#define __pyx_kp_b_iso88591_T_T_tCVVZZrrv_w_J_J_N_N_n_n_r_r __pyx_string_tab[352] +#define __pyx_kp_b_iso88591_T_d_d_G1F_a_vWE_Q_q_t_7_q_d_7_W __pyx_string_tab[353] +#define __pyx_kp_b_iso88591__6 __pyx_string_tab[354] +#define __pyx_kp_b_iso88591__7 __pyx_string_tab[355] +#define __pyx_kp_b_iso88591_a_A __pyx_string_tab[356] +#define __pyx_kp_b_iso88591_avQ_s_1_y_1 __pyx_string_tab[357] +#define __pyx_kp_b_iso88591_avQ_s_y __pyx_string_tab[358] +#define __pyx_kp_b_iso88591_q __pyx_string_tab[359] +#define __pyx_kp_b_iso88591_q_0_kQR_7_8_9RR_a_1 __pyx_string_tab[360] +#define __pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1 __pyx_string_tab[361] +#define __pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1 __pyx_string_tab[362] +#define __pyx_kp_b_iso88591_q_0_kQR_xq_7_a_nA_1 __pyx_string_tab[363] +#define __pyx_kp_b_iso88591_q_7_1G_A_awnA_Qm7_A_Qm7_Q_Qm7_Q __pyx_string_tab[364] +#define __pyx_kp_b_iso88591_q_gQ_4wiq_q_Q_A_6_3a_9A __pyx_string_tab[365] +#define __pyx_kp_b_iso88591_t7_1A_1M_Q_a __pyx_string_tab[366] +#define __pyx_kp_b_iso88591_vS_S_Q_q_6avQ_Q_q_aq_7_Q_1_4AQ __pyx_string_tab[367] +#define __pyx_kp_b_iso88591_vS_q_2_aq_gQ_S_Q_1_A_A_fD_a_1_Q __pyx_string_tab[368] #define __pyx_int_0 __pyx_number_tab[0] #define __pyx_int_neg_1 __pyx_number_tab[1] #define __pyx_int_1 __pyx_number_tab[2] @@ -3508,8 +3516,8 @@ static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) { Py_CLEAR(clear_module_state->__pyx_k__2); for (int i=0; i<1; ++i) { Py_CLEAR(clear_module_state->__pyx_slice[i]); } for (int i=0; i<7; ++i) { Py_CLEAR(clear_module_state->__pyx_tuple[i]); } - for (int i=0; i<31; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); } - for (int i=0; i<365; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); } + for (int i=0; i<33; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); } + for (int i=0; i<369; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); } for (int i=0; i<17; ++i) { Py_CLEAR(clear_module_state->__pyx_number_tab[i]); } /* #### Code section: module_state_clear_contents ### */ /* CommonTypesMetaclass.module_state_clear */ @@ -3555,8 +3563,8 @@ static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void Py_VISIT(traverse_module_state->__pyx_k__2); for (int i=0; i<1; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_slice[i]); } for (int i=0; i<7; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_tuple[i]); } - for (int i=0; i<31; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); } - for (int i=0; i<365; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); } + for (int i=0; i<33; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); } + for (int i=0; i<369; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); } for (int i=0; i<17; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_number_tab[i]); } /* #### Code section: module_state_traverse_contents ### */ /* CommonTypesMetaclass.module_state_traverse */ @@ -27188,7 +27196,510 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_14stop_monitoring(CYTH return __pyx_r; } -/* "_pydevd_sys_monitoring_cython.pyx":1861 +/* "_pydevd_sys_monitoring_cython.pyx":1863 + * # fmt: off + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef bint suspend_current_thread_tracing(): # <<<<<<<<<<<<<< + * cdef ThreadInfo thread_info + * # ELSE +*/ + +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_17suspend_current_thread_tracing(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static int __pyx_f_29_pydevd_sys_monitoring_cython_suspend_current_thread_tracing(CYTHON_UNUSED int __pyx_skip_dispatch) { + struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *__pyx_v_thread_info = 0; + int __pyx_v_previous_state; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("suspend_current_thread_tracing", 0); + + /* "_pydevd_sys_monitoring_cython.pyx":1877 + * Use resume_current_thread_tracing() to restore. + * """ + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: +*/ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "_pydevd_sys_monitoring_cython.pyx":1878 + * """ + * try: + * thread_info = _thread_local_info.thread_info # <<<<<<<<<<<<<< + * except: + * # Create the thread info if it doesn't exist yet: if tracing is not +*/ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_thread_local_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1878, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_thread_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1878, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_29_pydevd_sys_monitoring_cython_ThreadInfo))))) __PYX_ERR(0, 1878, __pyx_L3_error) + __pyx_v_thread_info = ((struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1877 + * Use resume_current_thread_tracing() to restore. + * """ + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: +*/ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1879 + * try: + * thread_info = _thread_local_info.thread_info + * except: # <<<<<<<<<<<<<< + * # Create the thread info if it doesn't exist yet: if tracing is not + * # explicitly disabled here, the first monitoring event on this thread +*/ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_sys_monitoring_cython.suspend_current_thread_tracing", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 1879, __pyx_L5_except_error) + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_6); + + /* "_pydevd_sys_monitoring_cython.pyx":1883 + * # explicitly disabled here, the first monitoring event on this thread + * # would create it with tracing enabled. + * thread_info = _get_thread_info(True, 1) # <<<<<<<<<<<<<< + * if thread_info is None: + * return False +*/ + __pyx_t_7 = __pyx_f_29_pydevd_sys_monitoring_cython__get_thread_info(1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1883, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_7); + if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_mstate_global->__pyx_ptype_29_pydevd_sys_monitoring_cython_ThreadInfo))))) __PYX_ERR(0, 1883, __pyx_L5_except_error) + __Pyx_XDECREF_SET(__pyx_v_thread_info, ((struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *)__pyx_t_7)); + __pyx_t_7 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1884 + * # would create it with tracing enabled. + * thread_info = _get_thread_info(True, 1) + * if thread_info is None: # <<<<<<<<<<<<<< + * return False + * previous_state = thread_info.trace +*/ + __pyx_t_8 = (((PyObject *)__pyx_v_thread_info) == Py_None); + if (__pyx_t_8) { + + /* "_pydevd_sys_monitoring_cython.pyx":1885 + * thread_info = _get_thread_info(True, 1) + * if thread_info is None: + * return False # <<<<<<<<<<<<<< + * previous_state = thread_info.trace + * thread_info.trace = False +*/ + __pyx_r = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L6_except_return; + + /* "_pydevd_sys_monitoring_cython.pyx":1884 + * # would create it with tracing enabled. + * thread_info = _get_thread_info(True, 1) + * if thread_info is None: # <<<<<<<<<<<<<< + * return False + * previous_state = thread_info.trace +*/ + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L4_exception_handled; + } + + /* "_pydevd_sys_monitoring_cython.pyx":1877 + * Use resume_current_thread_tracing() to restore. + * """ + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: +*/ + __pyx_L5_except_error:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L4_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L8_try_end:; + } + + /* "_pydevd_sys_monitoring_cython.pyx":1886 + * if thread_info is None: + * return False + * previous_state = thread_info.trace # <<<<<<<<<<<<<< + * thread_info.trace = False + * return previous_state +*/ + __pyx_t_8 = __pyx_v_thread_info->trace; + __pyx_v_previous_state = __pyx_t_8; + + /* "_pydevd_sys_monitoring_cython.pyx":1887 + * return False + * previous_state = thread_info.trace + * thread_info.trace = False # <<<<<<<<<<<<<< + * return previous_state + * +*/ + __pyx_v_thread_info->trace = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1888 + * previous_state = thread_info.trace + * thread_info.trace = False + * return previous_state # <<<<<<<<<<<<<< + * + * +*/ + __pyx_r = __pyx_v_previous_state; + goto __pyx_L0; + + /* "_pydevd_sys_monitoring_cython.pyx":1863 + * # fmt: off + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef bint suspend_current_thread_tracing(): # <<<<<<<<<<<<<< + * cdef ThreadInfo thread_info + * # ELSE +*/ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("_pydevd_sys_monitoring_cython.suspend_current_thread_tracing", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_thread_info); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_17suspend_current_thread_tracing(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_17suspend_current_thread_tracing = {"suspend_current_thread_tracing", (PyCFunction)__pyx_pw_29_pydevd_sys_monitoring_cython_17suspend_current_thread_tracing, METH_NOARGS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_17suspend_current_thread_tracing(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("suspend_current_thread_tracing (wrapper)", 0); + __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_16suspend_current_thread_tracing(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16suspend_current_thread_tracing(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("suspend_current_thread_tracing", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_29_pydevd_sys_monitoring_cython_suspend_current_thread_tracing(1); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1863, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1863, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("_pydevd_sys_monitoring_cython.suspend_current_thread_tracing", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_sys_monitoring_cython.pyx":1893 + * # fmt: off + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef resume_current_thread_tracing(): # <<<<<<<<<<<<<< + * cdef ThreadInfo thread_info + * # ELSE +*/ + +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_19resume_current_thread_tracing(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython_resume_current_thread_tracing(CYTHON_UNUSED int __pyx_skip_dispatch) { + struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *__pyx_v_thread_info = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("resume_current_thread_tracing", 0); + + /* "_pydevd_sys_monitoring_cython.pyx":1902 + * Resumes tracing for the current thread. + * """ + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: +*/ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "_pydevd_sys_monitoring_cython.pyx":1903 + * """ + * try: + * thread_info = _thread_local_info.thread_info # <<<<<<<<<<<<<< + * except: + * thread_info = _get_thread_info(True, 1) +*/ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_thread_local_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_thread_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1903, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_29_pydevd_sys_monitoring_cython_ThreadInfo))))) __PYX_ERR(0, 1903, __pyx_L3_error) + __pyx_v_thread_info = ((struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1902 + * Resumes tracing for the current thread. + * """ + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: +*/ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1904 + * try: + * thread_info = _thread_local_info.thread_info + * except: # <<<<<<<<<<<<<< + * thread_info = _get_thread_info(True, 1) + * if thread_info is None: +*/ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_sys_monitoring_cython.resume_current_thread_tracing", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 1904, __pyx_L5_except_error) + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_6); + + /* "_pydevd_sys_monitoring_cython.pyx":1905 + * thread_info = _thread_local_info.thread_info + * except: + * thread_info = _get_thread_info(True, 1) # <<<<<<<<<<<<<< + * if thread_info is None: + * return +*/ + __pyx_t_7 = __pyx_f_29_pydevd_sys_monitoring_cython__get_thread_info(1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1905, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_7); + if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_mstate_global->__pyx_ptype_29_pydevd_sys_monitoring_cython_ThreadInfo))))) __PYX_ERR(0, 1905, __pyx_L5_except_error) + __Pyx_XDECREF_SET(__pyx_v_thread_info, ((struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *)__pyx_t_7)); + __pyx_t_7 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1906 + * except: + * thread_info = _get_thread_info(True, 1) + * if thread_info is None: # <<<<<<<<<<<<<< + * return + * thread_info.trace = True +*/ + __pyx_t_8 = (((PyObject *)__pyx_v_thread_info) == Py_None); + if (__pyx_t_8) { + + /* "_pydevd_sys_monitoring_cython.pyx":1907 + * thread_info = _get_thread_info(True, 1) + * if thread_info is None: + * return # <<<<<<<<<<<<<< + * thread_info.trace = True + * +*/ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L6_except_return; + + /* "_pydevd_sys_monitoring_cython.pyx":1906 + * except: + * thread_info = _get_thread_info(True, 1) + * if thread_info is None: # <<<<<<<<<<<<<< + * return + * thread_info.trace = True +*/ + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L4_exception_handled; + } + + /* "_pydevd_sys_monitoring_cython.pyx":1902 + * Resumes tracing for the current thread. + * """ + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: +*/ + __pyx_L5_except_error:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L4_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L8_try_end:; + } + + /* "_pydevd_sys_monitoring_cython.pyx":1908 + * if thread_info is None: + * return + * thread_info.trace = True # <<<<<<<<<<<<<< + * + * +*/ + __pyx_v_thread_info->trace = 1; + + /* "_pydevd_sys_monitoring_cython.pyx":1893 + * # fmt: off + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef resume_current_thread_tracing(): # <<<<<<<<<<<<<< + * cdef ThreadInfo thread_info + * # ELSE +*/ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("_pydevd_sys_monitoring_cython.resume_current_thread_tracing", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_thread_info); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_19resume_current_thread_tracing(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_19resume_current_thread_tracing = {"resume_current_thread_tracing", (PyCFunction)__pyx_pw_29_pydevd_sys_monitoring_cython_19resume_current_thread_tracing, METH_NOARGS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_19resume_current_thread_tracing(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + CYTHON_UNUSED PyObject *const *__pyx_kwvalues; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("resume_current_thread_tracing (wrapper)", 0); + __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_18resume_current_thread_tracing(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18resume_current_thread_tracing(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("resume_current_thread_tracing", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_29_pydevd_sys_monitoring_cython_resume_current_thread_tracing(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1893, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_sys_monitoring_cython.resume_current_thread_tracing", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_sys_monitoring_cython.pyx":1911 * * * def update_monitor_events(suspend_requested: Optional[bool]=None) -> None: # <<<<<<<<<<<<<< @@ -27197,16 +27708,16 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_14stop_monitoring(CYTH */ /* Python wrapper */ -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_17update_monitor_events(PyObject *__pyx_self, +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_21update_monitor_events(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -PyDoc_STRVAR(__pyx_doc_29_pydevd_sys_monitoring_cython_16update_monitor_events, "\n This should be called when breakpoints change.\n\n :param suspend: means the user requested threads to be suspended\n "); -static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_17update_monitor_events = {"update_monitor_events", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_17update_monitor_events, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_29_pydevd_sys_monitoring_cython_16update_monitor_events}; -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_17update_monitor_events(PyObject *__pyx_self, +PyDoc_STRVAR(__pyx_doc_29_pydevd_sys_monitoring_cython_20update_monitor_events, "\n This should be called when breakpoints change.\n\n :param suspend: means the user requested threads to be suspended\n "); +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_21update_monitor_events = {"update_monitor_events", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_21update_monitor_events, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_29_pydevd_sys_monitoring_cython_20update_monitor_events}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_21update_monitor_events(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -27236,24 +27747,24 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_suspend_requested,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1861, __pyx_L3_error) + if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1911, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1861, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1911, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update_monitor_events", 0) < (0)) __PYX_ERR(0, 1861, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "update_monitor_events", 0) < (0)) __PYX_ERR(0, 1911, __pyx_L3_error) if (!values[0]) values[0] = __Pyx_NewRef(((PyObject*)Py_None)); } else { switch (__pyx_nargs) { case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1861, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1911, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; @@ -27264,7 +27775,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("update_monitor_events", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 1861, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("update_monitor_events", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 1911, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -27275,8 +27786,8 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_suspend_requested), (&PyBool_Type), 1, "suspend_requested", 2))) __PYX_ERR(0, 1861, __pyx_L1_error) - __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_events(__pyx_self, __pyx_v_suspend_requested); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_suspend_requested), (&PyBool_Type), 1, "suspend_requested", 2))) __PYX_ERR(0, 1911, __pyx_L1_error) + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_20update_monitor_events(__pyx_self, __pyx_v_suspend_requested); /* function exit code */ goto __pyx_L0; @@ -27295,7 +27806,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_events(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_suspend_requested) { +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20update_monitor_events(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_suspend_requested) { PyObject *__pyx_v_py_db = NULL; PyObject *__pyx_v_t = NULL; PyObject *__pyx_v_additional_info = NULL; @@ -27330,7 +27841,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_RefNannySetupContext("update_monitor_events", 0); __Pyx_INCREF(__pyx_v_suspend_requested); - /* "_pydevd_sys_monitoring_cython.pyx":1867 + /* "_pydevd_sys_monitoring_cython.pyx":1917 * :param suspend: means the user requested threads to be suspended * """ * if monitor.get_tool(monitor.DEBUGGER_ID) != "pydevd": # <<<<<<<<<<<<<< @@ -27338,14 +27849,14 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * return */ __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1867, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_get_tool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1867, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_get_tool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1867, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1867, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = 1; @@ -27366,14 +27877,14 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1867, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } - __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_pydevd, Py_NE)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1867, __pyx_L1_error) + __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_pydevd, Py_NE)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1869 + /* "_pydevd_sys_monitoring_cython.pyx":1919 * if monitor.get_tool(monitor.DEBUGGER_ID) != "pydevd": * # It is still not initialized. * return # <<<<<<<<<<<<<< @@ -27384,7 +27895,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; - /* "_pydevd_sys_monitoring_cython.pyx":1867 + /* "_pydevd_sys_monitoring_cython.pyx":1917 * :param suspend: means the user requested threads to be suspended * """ * if monitor.get_tool(monitor.DEBUGGER_ID) != "pydevd": # <<<<<<<<<<<<<< @@ -27393,22 +27904,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1873 + /* "_pydevd_sys_monitoring_cython.pyx":1923 * # When breakpoints change we need to update what we want to track based * # on the breakpoints. * py_db = GlobalDebuggerHolder.global_dbg # <<<<<<<<<<<<<< * if py_db is None: * return */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_GlobalDebuggerHolder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1873, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_GlobalDebuggerHolder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_global_dbg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1873, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_global_dbg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_py_db = __pyx_t_4; __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1874 + /* "_pydevd_sys_monitoring_cython.pyx":1924 * # on the breakpoints. * py_db = GlobalDebuggerHolder.global_dbg * if py_db is None: # <<<<<<<<<<<<<< @@ -27418,7 +27929,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_t_7 = (__pyx_v_py_db == Py_None); if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1875 + /* "_pydevd_sys_monitoring_cython.pyx":1925 * py_db = GlobalDebuggerHolder.global_dbg * if py_db is None: * return # <<<<<<<<<<<<<< @@ -27429,7 +27940,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; - /* "_pydevd_sys_monitoring_cython.pyx":1874 + /* "_pydevd_sys_monitoring_cython.pyx":1924 * # on the breakpoints. * py_db = GlobalDebuggerHolder.global_dbg * if py_db is None: # <<<<<<<<<<<<<< @@ -27438,7 +27949,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1877 + /* "_pydevd_sys_monitoring_cython.pyx":1927 * return * * if suspend_requested is None: # <<<<<<<<<<<<<< @@ -27448,7 +27959,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_t_7 = (__pyx_v_suspend_requested == ((PyObject*)Py_None)); if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1878 + /* "_pydevd_sys_monitoring_cython.pyx":1928 * * if suspend_requested is None: * suspend_requested = False # <<<<<<<<<<<<<< @@ -27458,7 +27969,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_INCREF(Py_False); __Pyx_DECREF_SET(__pyx_v_suspend_requested, Py_False); - /* "_pydevd_sys_monitoring_cython.pyx":1880 + /* "_pydevd_sys_monitoring_cython.pyx":1930 * suspend_requested = False * * for t in threading.enumerate(): # <<<<<<<<<<<<<< @@ -27466,9 +27977,9 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * continue */ __pyx_t_1 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_threading); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1880, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_threading); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_enumerate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1880, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_enumerate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = 1; @@ -27488,7 +27999,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1880, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { @@ -27496,9 +28007,9 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { - __pyx_t_8 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1880, __pyx_L1_error) + __pyx_t_8 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1880, __pyx_L1_error) + __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1930, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { @@ -27507,7 +28018,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1880, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1930, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } @@ -27517,7 +28028,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2); #if !CYTHON_ASSUME_SAFE_SIZE - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1880, __pyx_L1_error) + if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1930, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } @@ -27528,13 +28039,13 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event #endif ++__pyx_t_8; } - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1880, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1930, __pyx_L1_error) } else { __pyx_t_4 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 1880, __pyx_L1_error) + if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 1930, __pyx_L1_error) PyErr_Clear(); } break; @@ -27544,20 +28055,20 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1881 + /* "_pydevd_sys_monitoring_cython.pyx":1931 * * for t in threading.enumerate(): * if getattr(t, "pydev_do_not_trace", False): # <<<<<<<<<<<<<< * continue * try: */ - __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_t, __pyx_mstate_global->__pyx_n_u_pydev_do_not_trace, Py_False); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1881, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_t, __pyx_mstate_global->__pyx_n_u_pydev_do_not_trace, Py_False); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1881, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1931, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1882 + /* "_pydevd_sys_monitoring_cython.pyx":1932 * for t in threading.enumerate(): * if getattr(t, "pydev_do_not_trace", False): * continue # <<<<<<<<<<<<<< @@ -27566,7 +28077,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ goto __pyx_L6_continue; - /* "_pydevd_sys_monitoring_cython.pyx":1881 + /* "_pydevd_sys_monitoring_cython.pyx":1931 * * for t in threading.enumerate(): * if getattr(t, "pydev_do_not_trace", False): # <<<<<<<<<<<<<< @@ -27575,7 +28086,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1883 + /* "_pydevd_sys_monitoring_cython.pyx":1933 * if getattr(t, "pydev_do_not_trace", False): * continue * try: # <<<<<<<<<<<<<< @@ -27591,19 +28102,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_XGOTREF(__pyx_t_12); /*try:*/ { - /* "_pydevd_sys_monitoring_cython.pyx":1884 + /* "_pydevd_sys_monitoring_cython.pyx":1934 * continue * try: * additional_info = t.additional_info # <<<<<<<<<<<<<< * if additional_info is None: * # i.e.: if we don't have it then it makes no sense to check if it was suspended or is stepping */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_mstate_global->__pyx_n_u_additional_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1884, __pyx_L9_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_mstate_global->__pyx_n_u_additional_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1934, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_additional_info, __pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1885 + /* "_pydevd_sys_monitoring_cython.pyx":1935 * try: * additional_info = t.additional_info * if additional_info is None: # <<<<<<<<<<<<<< @@ -27613,7 +28124,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_t_7 = (__pyx_v_additional_info == Py_None); if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1887 + /* "_pydevd_sys_monitoring_cython.pyx":1937 * if additional_info is None: * # i.e.: if we don't have it then it makes no sense to check if it was suspended or is stepping * continue # <<<<<<<<<<<<<< @@ -27622,7 +28133,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ goto __pyx_L15_try_continue; - /* "_pydevd_sys_monitoring_cython.pyx":1885 + /* "_pydevd_sys_monitoring_cython.pyx":1935 * try: * additional_info = t.additional_info * if additional_info is None: # <<<<<<<<<<<<<< @@ -27631,7 +28142,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1883 + /* "_pydevd_sys_monitoring_cython.pyx":1933 * if getattr(t, "pydev_do_not_trace", False): * continue * try: # <<<<<<<<<<<<<< @@ -27649,7 +28160,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1888 + /* "_pydevd_sys_monitoring_cython.pyx":1938 * # i.e.: if we don't have it then it makes no sense to check if it was suspended or is stepping * continue * except AttributeError: # <<<<<<<<<<<<<< @@ -27659,12 +28170,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_AttributeError)))); if (__pyx_t_13) { __Pyx_AddTraceback("_pydevd_sys_monitoring_cython.update_monitor_events", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1888, __pyx_L11_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1938, __pyx_L11_except_error) __Pyx_XGOTREF(__pyx_t_4); __Pyx_XGOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_t_5); - /* "_pydevd_sys_monitoring_cython.pyx":1889 + /* "_pydevd_sys_monitoring_cython.pyx":1939 * continue * except AttributeError: * continue # <<<<<<<<<<<<<< @@ -27680,7 +28191,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event } goto __pyx_L11_except_error; - /* "_pydevd_sys_monitoring_cython.pyx":1883 + /* "_pydevd_sys_monitoring_cython.pyx":1933 * if getattr(t, "pydev_do_not_trace", False): * continue * try: # <<<<<<<<<<<<<< @@ -27702,31 +28213,31 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_L16_try_end:; } - /* "_pydevd_sys_monitoring_cython.pyx":1890 + /* "_pydevd_sys_monitoring_cython.pyx":1940 * except AttributeError: * continue * if additional_info.pydev_step_cmd != -1 or additional_info.pydev_state == 2: # <<<<<<<<<<<<<< * suspend_requested = True * break */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_mstate_global->__pyx_n_u_pydev_step_cmd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1890, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_mstate_global->__pyx_n_u_pydev_step_cmd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = (__Pyx_PyLong_BoolNeObjC(__pyx_t_5, __pyx_mstate_global->__pyx_int_neg_1, -1L, 0)); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1890, __pyx_L1_error) + __pyx_t_14 = (__Pyx_PyLong_BoolNeObjC(__pyx_t_5, __pyx_mstate_global->__pyx_int_neg_1, -1L, 0)); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1940, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!__pyx_t_14) { } else { __pyx_t_7 = __pyx_t_14; goto __pyx_L21_bool_binop_done; } - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_mstate_global->__pyx_n_u_pydev_state); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1890, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_mstate_global->__pyx_n_u_pydev_state); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = (__Pyx_PyLong_BoolEqObjC(__pyx_t_5, __pyx_mstate_global->__pyx_int_2, 2, 0)); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1890, __pyx_L1_error) + __pyx_t_14 = (__Pyx_PyLong_BoolEqObjC(__pyx_t_5, __pyx_mstate_global->__pyx_int_2, 2, 0)); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1940, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __pyx_t_14; __pyx_L21_bool_binop_done:; if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1891 + /* "_pydevd_sys_monitoring_cython.pyx":1941 * continue * if additional_info.pydev_step_cmd != -1 or additional_info.pydev_state == 2: * suspend_requested = True # <<<<<<<<<<<<<< @@ -27736,7 +28247,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_INCREF(Py_True); __Pyx_DECREF_SET(__pyx_v_suspend_requested, Py_True); - /* "_pydevd_sys_monitoring_cython.pyx":1892 + /* "_pydevd_sys_monitoring_cython.pyx":1942 * if additional_info.pydev_step_cmd != -1 or additional_info.pydev_state == 2: * suspend_requested = True * break # <<<<<<<<<<<<<< @@ -27745,7 +28256,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ goto __pyx_L7_break; - /* "_pydevd_sys_monitoring_cython.pyx":1890 + /* "_pydevd_sys_monitoring_cython.pyx":1940 * except AttributeError: * continue * if additional_info.pydev_step_cmd != -1 or additional_info.pydev_state == 2: # <<<<<<<<<<<<<< @@ -27754,7 +28265,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1880 + /* "_pydevd_sys_monitoring_cython.pyx":1930 * suspend_requested = False * * for t in threading.enumerate(): # <<<<<<<<<<<<<< @@ -27770,7 +28281,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event goto __pyx_L23_for_end; __pyx_L23_for_end:; - /* "_pydevd_sys_monitoring_cython.pyx":1877 + /* "_pydevd_sys_monitoring_cython.pyx":1927 * return * * if suspend_requested is None: # <<<<<<<<<<<<<< @@ -27779,7 +28290,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1894 + /* "_pydevd_sys_monitoring_cython.pyx":1944 * break * * required_events = 0 # <<<<<<<<<<<<<< @@ -27789,16 +28300,16 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0); __pyx_v_required_events = __pyx_mstate_global->__pyx_int_0; - /* "_pydevd_sys_monitoring_cython.pyx":1897 + /* "_pydevd_sys_monitoring_cython.pyx":1947 * * has_caught_exception_breakpoint_in_pydb = ( * py_db.break_on_caught_exceptions or py_db.break_on_user_uncaught_exceptions or py_db.has_plugin_exception_breaks # <<<<<<<<<<<<<< * ) * */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_break_on_caught_exceptions); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1897, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_break_on_caught_exceptions); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1897, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1947, __pyx_L1_error) if (!__pyx_t_7) { __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { @@ -27807,9 +28318,9 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L24_bool_binop_done; } - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1897, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1897, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1947, __pyx_L1_error) if (!__pyx_t_7) { __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { @@ -27818,7 +28329,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L24_bool_binop_done; } - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_has_plugin_exception_breaks); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1897, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_has_plugin_exception_breaks); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_5); __pyx_t_2 = __pyx_t_5; @@ -27827,62 +28338,62 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_v_has_caught_exception_breakpoint_in_pydb = __pyx_t_2; __pyx_t_2 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1900 + /* "_pydevd_sys_monitoring_cython.pyx":1950 * ) * * break_on_uncaught_exceptions = py_db.break_on_uncaught_exceptions # <<<<<<<<<<<<<< * * if has_caught_exception_breakpoint_in_pydb: */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_break_on_uncaught_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1900, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_break_on_uncaught_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_break_on_uncaught_exceptions = __pyx_t_2; __pyx_t_2 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1902 + /* "_pydevd_sys_monitoring_cython.pyx":1952 * break_on_uncaught_exceptions = py_db.break_on_uncaught_exceptions * * if has_caught_exception_breakpoint_in_pydb: # <<<<<<<<<<<<<< * required_events |= monitor.events.RAISE | monitor.events.PY_UNWIND * # print('track RAISE') */ - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_has_caught_exception_breakpoint_in_pydb); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1902, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_has_caught_exception_breakpoint_in_pydb); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1952, __pyx_L1_error) if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1903 + /* "_pydevd_sys_monitoring_cython.pyx":1953 * * if has_caught_exception_breakpoint_in_pydb: * required_events |= monitor.events.RAISE | monitor.events.PY_UNWIND # <<<<<<<<<<<<<< * # print('track RAISE') * monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, _raise_event) */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1903, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1903, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_RAISE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1903, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_RAISE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1903, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1903, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1903, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Or(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1903, __pyx_L1_error) + __pyx_t_1 = PyNumber_Or(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_InPlaceOr(__pyx_v_required_events, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1903, __pyx_L1_error) + __pyx_t_5 = PyNumber_InPlaceOr(__pyx_v_required_events, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_required_events, __pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1905 + /* "_pydevd_sys_monitoring_cython.pyx":1955 * required_events |= monitor.events.RAISE | monitor.events.PY_UNWIND * # print('track RAISE') * monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, _raise_event) # <<<<<<<<<<<<<< @@ -27890,22 +28401,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * else: */ __pyx_t_1 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1905, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1905, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1905, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1905, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1905, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_RAISE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1905, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_RAISE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc(__pyx_f_29_pydevd_sys_monitoring_cython__raise_event); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1905, __pyx_L1_error) + __pyx_t_15 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc(__pyx_f_29_pydevd_sys_monitoring_cython__raise_event); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -27927,12 +28438,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1905, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1906 + /* "_pydevd_sys_monitoring_cython.pyx":1956 * # print('track RAISE') * monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, _raise_event) * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, _unwind_event) # <<<<<<<<<<<<<< @@ -27940,22 +28451,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * if break_on_uncaught_exceptions: */ __pyx_t_4 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1906, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1906, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1906, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1906, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1906, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1906, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc(__pyx_f_29_pydevd_sys_monitoring_cython__unwind_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1906, __pyx_L1_error) + __pyx_t_1 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc(__pyx_f_29_pydevd_sys_monitoring_cython__unwind_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -27977,12 +28488,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1906, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1902 + /* "_pydevd_sys_monitoring_cython.pyx":1952 * break_on_uncaught_exceptions = py_db.break_on_uncaught_exceptions * * if has_caught_exception_breakpoint_in_pydb: # <<<<<<<<<<<<<< @@ -27992,7 +28503,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event goto __pyx_L27; } - /* "_pydevd_sys_monitoring_cython.pyx":1908 + /* "_pydevd_sys_monitoring_cython.pyx":1958 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, _unwind_event) * else: * if break_on_uncaught_exceptions: # <<<<<<<<<<<<<< @@ -28000,31 +28511,31 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, _unwind_event) */ /*else*/ { - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_break_on_uncaught_exceptions); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1908, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_break_on_uncaught_exceptions); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1958, __pyx_L1_error) if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1909 + /* "_pydevd_sys_monitoring_cython.pyx":1959 * else: * if break_on_uncaught_exceptions: * required_events |= monitor.events.PY_UNWIND # <<<<<<<<<<<<<< * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, _unwind_event) * else: */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1909, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1909, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1909, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceOr(__pyx_v_required_events, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1909, __pyx_L1_error) + __pyx_t_3 = PyNumber_InPlaceOr(__pyx_v_required_events, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_required_events, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1910 + /* "_pydevd_sys_monitoring_cython.pyx":1960 * if break_on_uncaught_exceptions: * required_events |= monitor.events.PY_UNWIND * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, _unwind_event) # <<<<<<<<<<<<<< @@ -28032,22 +28543,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, None) */ __pyx_t_5 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1910, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1910, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1910, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1910, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1910, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1910, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc(__pyx_f_29_pydevd_sys_monitoring_cython__unwind_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1910, __pyx_L1_error) + __pyx_t_4 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc(__pyx_f_29_pydevd_sys_monitoring_cython__unwind_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -28069,12 +28580,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1910, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1908 + /* "_pydevd_sys_monitoring_cython.pyx":1958 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, _unwind_event) * else: * if break_on_uncaught_exceptions: # <<<<<<<<<<<<<< @@ -28084,7 +28595,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event goto __pyx_L28; } - /* "_pydevd_sys_monitoring_cython.pyx":1912 + /* "_pydevd_sys_monitoring_cython.pyx":1962 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, _unwind_event) * else: * monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, None) # <<<<<<<<<<<<<< @@ -28093,19 +28604,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ /*else*/ { __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1912, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1912, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1912, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1912, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1912, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_RAISE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1912, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_RAISE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = 1; @@ -28127,12 +28638,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1912, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1913 + /* "_pydevd_sys_monitoring_cython.pyx":1963 * else: * monitor.register_callback(DEBUGGER_ID, monitor.events.RAISE, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, None) # <<<<<<<<<<<<<< @@ -28140,19 +28651,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * has_breaks = py_db.has_plugin_line_breaks */ __pyx_t_15 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1913, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1913, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1913, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1913, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1913, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1913, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_UNWIND); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = 1; @@ -28174,7 +28685,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1913, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -28183,43 +28694,43 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event } __pyx_L27:; - /* "_pydevd_sys_monitoring_cython.pyx":1915 + /* "_pydevd_sys_monitoring_cython.pyx":1965 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_UNWIND, None) * * has_breaks = py_db.has_plugin_line_breaks # <<<<<<<<<<<<<< * if not has_breaks: * if py_db.function_breakpoint_name_to_breakpoint: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_has_plugin_line_breaks); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1915, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_has_plugin_line_breaks); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_has_breaks = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1916 + /* "_pydevd_sys_monitoring_cython.pyx":1966 * * has_breaks = py_db.has_plugin_line_breaks * if not has_breaks: # <<<<<<<<<<<<<< * if py_db.function_breakpoint_name_to_breakpoint: * has_breaks = True */ - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_has_breaks); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1916, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_has_breaks); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1966, __pyx_L1_error) __pyx_t_14 = (!__pyx_t_7); if (__pyx_t_14) { - /* "_pydevd_sys_monitoring_cython.pyx":1917 + /* "_pydevd_sys_monitoring_cython.pyx":1967 * has_breaks = py_db.has_plugin_line_breaks * if not has_breaks: * if py_db.function_breakpoint_name_to_breakpoint: # <<<<<<<<<<<<<< * has_breaks = True * else: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_function_breakpoint_name_to_brea); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1917, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_function_breakpoint_name_to_brea); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1917, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1967, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_14) { - /* "_pydevd_sys_monitoring_cython.pyx":1918 + /* "_pydevd_sys_monitoring_cython.pyx":1968 * if not has_breaks: * if py_db.function_breakpoint_name_to_breakpoint: * has_breaks = True # <<<<<<<<<<<<<< @@ -28229,7 +28740,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_INCREF(Py_True); __Pyx_DECREF_SET(__pyx_v_has_breaks, Py_True); - /* "_pydevd_sys_monitoring_cython.pyx":1917 + /* "_pydevd_sys_monitoring_cython.pyx":1967 * has_breaks = py_db.has_plugin_line_breaks * if not has_breaks: * if py_db.function_breakpoint_name_to_breakpoint: # <<<<<<<<<<<<<< @@ -28239,7 +28750,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event goto __pyx_L30; } - /* "_pydevd_sys_monitoring_cython.pyx":1920 + /* "_pydevd_sys_monitoring_cython.pyx":1970 * has_breaks = True * else: * file_to_line_to_breakpoints = py_db.breakpoints # <<<<<<<<<<<<<< @@ -28247,12 +28758,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * if line_to_breakpoints: */ /*else*/ { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_breakpoints); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1920, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_mstate_global->__pyx_n_u_breakpoints); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_file_to_line_to_breakpoints = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1921 + /* "_pydevd_sys_monitoring_cython.pyx":1971 * else: * file_to_line_to_breakpoints = py_db.breakpoints * for line_to_breakpoints in file_to_line_to_breakpoints.values(): # <<<<<<<<<<<<<< @@ -28262,9 +28773,9 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __pyx_t_8 = 0; if (unlikely(__pyx_v_file_to_line_to_breakpoints == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values"); - __PYX_ERR(0, 1921, __pyx_L1_error) + __PYX_ERR(0, 1971, __pyx_L1_error) } - __pyx_t_4 = __Pyx_dict_iterator(__pyx_v_file_to_line_to_breakpoints, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_16), (&__pyx_t_13)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1921, __pyx_L1_error) + __pyx_t_4 = __Pyx_dict_iterator(__pyx_v_file_to_line_to_breakpoints, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_16), (&__pyx_t_13)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_4; @@ -28272,22 +28783,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event while (1) { __pyx_t_17 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_16, &__pyx_t_8, NULL, &__pyx_t_4, NULL, __pyx_t_13); if (unlikely(__pyx_t_17 == 0)) break; - if (unlikely(__pyx_t_17 == -1)) __PYX_ERR(0, 1921, __pyx_L1_error) + if (unlikely(__pyx_t_17 == -1)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_line_to_breakpoints, __pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1922 + /* "_pydevd_sys_monitoring_cython.pyx":1972 * file_to_line_to_breakpoints = py_db.breakpoints * for line_to_breakpoints in file_to_line_to_breakpoints.values(): * if line_to_breakpoints: # <<<<<<<<<<<<<< * has_breaks = True * break */ - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_line_to_breakpoints); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1922, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_line_to_breakpoints); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1972, __pyx_L1_error) if (__pyx_t_14) { - /* "_pydevd_sys_monitoring_cython.pyx":1923 + /* "_pydevd_sys_monitoring_cython.pyx":1973 * for line_to_breakpoints in file_to_line_to_breakpoints.values(): * if line_to_breakpoints: * has_breaks = True # <<<<<<<<<<<<<< @@ -28297,7 +28808,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_INCREF(Py_True); __Pyx_DECREF_SET(__pyx_v_has_breaks, Py_True); - /* "_pydevd_sys_monitoring_cython.pyx":1924 + /* "_pydevd_sys_monitoring_cython.pyx":1974 * if line_to_breakpoints: * has_breaks = True * break # <<<<<<<<<<<<<< @@ -28306,7 +28817,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ goto __pyx_L32_break; - /* "_pydevd_sys_monitoring_cython.pyx":1922 + /* "_pydevd_sys_monitoring_cython.pyx":1972 * file_to_line_to_breakpoints = py_db.breakpoints * for line_to_breakpoints in file_to_line_to_breakpoints.values(): * if line_to_breakpoints: # <<<<<<<<<<<<<< @@ -28320,7 +28831,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event } __pyx_L30:; - /* "_pydevd_sys_monitoring_cython.pyx":1916 + /* "_pydevd_sys_monitoring_cython.pyx":1966 * * has_breaks = py_db.has_plugin_line_breaks * if not has_breaks: # <<<<<<<<<<<<<< @@ -28329,58 +28840,58 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1926 + /* "_pydevd_sys_monitoring_cython.pyx":1976 * break * * if has_breaks or suspend_requested: # <<<<<<<<<<<<<< * # print('track PY_START|PY_RESUME, suspend_requested=', suspend_requested) * required_events |= monitor.events.PY_START | monitor.events.PY_RESUME */ - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_has_breaks); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1926, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_has_breaks); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1976, __pyx_L1_error) if (!__pyx_t_7) { } else { __pyx_t_14 = __pyx_t_7; goto __pyx_L35_bool_binop_done; } - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_suspend_requested); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1926, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_suspend_requested); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1976, __pyx_L1_error) __pyx_t_14 = __pyx_t_7; __pyx_L35_bool_binop_done:; if (__pyx_t_14) { - /* "_pydevd_sys_monitoring_cython.pyx":1928 + /* "_pydevd_sys_monitoring_cython.pyx":1978 * if has_breaks or suspend_requested: * # print('track PY_START|PY_RESUME, suspend_requested=', suspend_requested) * required_events |= monitor.events.PY_START | monitor.events.PY_RESUME # <<<<<<<<<<<<<< * * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, _start_method_event) */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1928, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1928, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_START); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1928, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_START); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1928, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1928, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_RESUME); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1928, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_RESUME); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Or(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1928, __pyx_L1_error) + __pyx_t_2 = PyNumber_Or(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_InPlaceOr(__pyx_v_required_events, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1928, __pyx_L1_error) + __pyx_t_4 = PyNumber_InPlaceOr(__pyx_v_required_events, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_required_events, __pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1930 + /* "_pydevd_sys_monitoring_cython.pyx":1980 * required_events |= monitor.events.PY_START | monitor.events.PY_RESUME * * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, _start_method_event) # <<<<<<<<<<<<<< @@ -28388,22 +28899,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, _line_event) */ __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1930, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1930, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1930, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1930, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1930, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_START); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1930, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_START); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CFunc_893235__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_18instruction_offset(__pyx_f_29_pydevd_sys_monitoring_cython__start_method_event); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1930, __pyx_L1_error) + __pyx_t_5 = __Pyx_CFunc_893235__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_18instruction_offset(__pyx_f_29_pydevd_sys_monitoring_cython__start_method_event); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -28425,12 +28936,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1930, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1932 + /* "_pydevd_sys_monitoring_cython.pyx":1982 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, _start_method_event) * # monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, _resume_method_event) * monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, _line_event) # <<<<<<<<<<<<<< @@ -28438,22 +28949,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * # In Python 3.13+ jump_events aren't necessary as we have a line_event for every */ __pyx_t_1 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1932, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1932, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1932, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1932, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1932, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LINE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1932, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LINE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CFunc_b0409f__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_4line(__pyx_f_29_pydevd_sys_monitoring_cython__line_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1932, __pyx_L1_error) + __pyx_t_2 = __Pyx_CFunc_b0409f__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_4line(__pyx_f_29_pydevd_sys_monitoring_cython__line_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -28475,26 +28986,26 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1932, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1933 + /* "_pydevd_sys_monitoring_cython.pyx":1983 * # monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, _resume_method_event) * monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, _line_event) * if not IS_PY313_OR_GREATER: # <<<<<<<<<<<<<< * # In Python 3.13+ jump_events aren't necessary as we have a line_event for every * # jump location. */ - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_IS_PY313_OR_GREATER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1933, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_IS_PY313_OR_GREATER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1933, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1983, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = (!__pyx_t_14); if (__pyx_t_7) { - /* "_pydevd_sys_monitoring_cython.pyx":1936 + /* "_pydevd_sys_monitoring_cython.pyx":1986 * # In Python 3.13+ jump_events aren't necessary as we have a line_event for every * # jump location. * monitor.register_callback(DEBUGGER_ID, monitor.events.JUMP, _jump_event) # <<<<<<<<<<<<<< @@ -28502,22 +29013,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * */ __pyx_t_15 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1936, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1936, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1936, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1936, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1936, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_JUMP); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1936, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_JUMP); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_CFunc_7f6725__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11from_offset_9to_offset(__pyx_f_29_pydevd_sys_monitoring_cython__jump_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1936, __pyx_L1_error) + __pyx_t_1 = __Pyx_CFunc_7f6725__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11from_offset_9to_offset(__pyx_f_29_pydevd_sys_monitoring_cython__jump_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -28539,12 +29050,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1936, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1933 + /* "_pydevd_sys_monitoring_cython.pyx":1983 * # monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, _resume_method_event) * monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, _line_event) * if not IS_PY313_OR_GREATER: # <<<<<<<<<<<<<< @@ -28553,7 +29064,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ } - /* "_pydevd_sys_monitoring_cython.pyx":1937 + /* "_pydevd_sys_monitoring_cython.pyx":1987 * # jump location. * monitor.register_callback(DEBUGGER_ID, monitor.events.JUMP, _jump_event) * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, _return_event) # <<<<<<<<<<<<<< @@ -28561,22 +29072,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * else: */ __pyx_t_3 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1937, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1937, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1937, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1937, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1937, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_PY_RETURN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1937, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_PY_RETURN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_6retval(__pyx_f_29_pydevd_sys_monitoring_cython__return_event); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1937, __pyx_L1_error) + __pyx_t_15 = __Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_6retval(__pyx_f_29_pydevd_sys_monitoring_cython__return_event); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -28598,12 +29109,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1937, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1926 + /* "_pydevd_sys_monitoring_cython.pyx":1976 * break * * if has_breaks or suspend_requested: # <<<<<<<<<<<<<< @@ -28613,7 +29124,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event goto __pyx_L34; } - /* "_pydevd_sys_monitoring_cython.pyx":1940 + /* "_pydevd_sys_monitoring_cython.pyx":1990 * * else: * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, None) # <<<<<<<<<<<<<< @@ -28622,19 +29133,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ /*else*/ { __pyx_t_5 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1940, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1940, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1940, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1940, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1940, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_START); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1940, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_START); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = 1; @@ -28656,12 +29167,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1940, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1941 + /* "_pydevd_sys_monitoring_cython.pyx":1991 * else: * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, None) # <<<<<<<<<<<<<< @@ -28669,19 +29180,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * monitor.register_callback(DEBUGGER_ID, monitor.events.JUMP, None) */ __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1941, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1941, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1941, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1941, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1941, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_RESUME); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1941, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_RESUME); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = 1; @@ -28703,12 +29214,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1941, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1942 + /* "_pydevd_sys_monitoring_cython.pyx":1992 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_START, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, None) # <<<<<<<<<<<<<< @@ -28716,19 +29227,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, None) */ __pyx_t_15 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1942, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1942, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1942, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1942, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1942, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LINE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1942, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LINE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = 1; @@ -28750,12 +29261,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1942, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1943 + /* "_pydevd_sys_monitoring_cython.pyx":1993 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RESUME, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.JUMP, None) # <<<<<<<<<<<<<< @@ -28763,19 +29274,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * */ __pyx_t_1 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1943, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1943, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1943, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1943, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1943, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_JUMP); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1943, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_JUMP); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = 1; @@ -28797,12 +29308,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1943, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1944 + /* "_pydevd_sys_monitoring_cython.pyx":1994 * monitor.register_callback(DEBUGGER_ID, monitor.events.LINE, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.JUMP, None) * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, None) # <<<<<<<<<<<<<< @@ -28810,19 +29321,19 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * monitor.set_events(DEBUGGER_ID, required_events) */ __pyx_t_5 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1944, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1944, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_register_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1944, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1944, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1944, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_events); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_RETURN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1944, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_RETURN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = 1; @@ -28844,14 +29355,14 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1944, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_L34:; - /* "_pydevd_sys_monitoring_cython.pyx":1946 + /* "_pydevd_sys_monitoring_cython.pyx":1996 * monitor.register_callback(DEBUGGER_ID, monitor.events.PY_RETURN, None) * * monitor.set_events(DEBUGGER_ID, required_events) # <<<<<<<<<<<<<< @@ -28859,12 +29370,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event * */ __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1946, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_set_events); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1946, __pyx_L1_error) + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_set_events); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1946, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_DEBUGGER_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = 1; #if CYTHON_UNPACK_METHODS @@ -28884,12 +29395,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1946, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1861 + /* "_pydevd_sys_monitoring_cython.pyx":1911 * * * def update_monitor_events(suspend_requested: Optional[bool]=None) -> None: # <<<<<<<<<<<<<< @@ -28925,7 +29436,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event return __pyx_r; } -/* "_pydevd_sys_monitoring_cython.pyx":1949 +/* "_pydevd_sys_monitoring_cython.pyx":1999 * * * def restart_events() -> None: # <<<<<<<<<<<<<< @@ -28934,22 +29445,22 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_16update_monitor_event */ /* Python wrapper */ -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_19restart_events(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_19restart_events = {"restart_events", (PyCFunction)__pyx_pw_29_pydevd_sys_monitoring_cython_19restart_events, METH_NOARGS, 0}; -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_19restart_events(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_23restart_events(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_23restart_events = {"restart_events", (PyCFunction)__pyx_pw_29_pydevd_sys_monitoring_cython_23restart_events, METH_NOARGS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_23restart_events(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("restart_events (wrapper)", 0); __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_18restart_events(__pyx_self); + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_22restart_events(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18restart_events(CYTHON_UNUSED PyObject *__pyx_self) { +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_22restart_events(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -28962,7 +29473,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18restart_events(CYTHO int __pyx_clineno = 0; __Pyx_RefNannySetupContext("restart_events", 0); - /* "_pydevd_sys_monitoring_cython.pyx":1953 + /* "_pydevd_sys_monitoring_cython.pyx":2003 * # called first, then the line event tracing must be set for existing frames * # and then this function must be called at the end. * monitor.restart_events() # <<<<<<<<<<<<<< @@ -28970,9 +29481,9 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18restart_events(CYTHO * */ __pyx_t_2 = NULL; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1953, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_monitor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_restart_events); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1953, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_restart_events); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = 1; @@ -28992,12 +29503,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18restart_events(CYTHO __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1953, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1949 + /* "_pydevd_sys_monitoring_cython.pyx":1999 * * * def restart_events() -> None: # <<<<<<<<<<<<<< @@ -29021,7 +29532,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_18restart_events(CYTHO return __pyx_r; } -/* "_pydevd_sys_monitoring_cython.pyx":1958 +/* "_pydevd_sys_monitoring_cython.pyx":2008 * # fmt: off * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef _is_same_frame(PyDBAdditionalThreadInfo info, target_frame, current_frame): # <<<<<<<<<<<<<< @@ -29043,7 +29554,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_is_same_frame", 0); - /* "_pydevd_sys_monitoring_cython.pyx":1963 + /* "_pydevd_sys_monitoring_cython.pyx":2013 * # ENDIF * # fmt: on * if target_frame is current_frame: # <<<<<<<<<<<<<< @@ -29053,7 +29564,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ __pyx_t_1 = (__pyx_v_target_frame == __pyx_v_current_frame); if (__pyx_t_1) { - /* "_pydevd_sys_monitoring_cython.pyx":1964 + /* "_pydevd_sys_monitoring_cython.pyx":2014 * # fmt: on * if target_frame is current_frame: * return True # <<<<<<<<<<<<<< @@ -29065,7 +29576,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ __pyx_r = Py_True; goto __pyx_L0; - /* "_pydevd_sys_monitoring_cython.pyx":1963 + /* "_pydevd_sys_monitoring_cython.pyx":2013 * # ENDIF * # fmt: on * if target_frame is current_frame: # <<<<<<<<<<<<<< @@ -29074,7 +29585,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ } - /* "_pydevd_sys_monitoring_cython.pyx":1966 + /* "_pydevd_sys_monitoring_cython.pyx":2016 * return True * * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< @@ -29083,7 +29594,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ if (__pyx_v_info->pydev_use_scoped_step_frame) { - /* "_pydevd_sys_monitoring_cython.pyx":1969 + /* "_pydevd_sys_monitoring_cython.pyx":2019 * # If using scoped step we don't check the target, we just need to check * # if the current matches the same heuristic where the target was defined. * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< @@ -29101,43 +29612,43 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ __pyx_L6_bool_binop_done:; if (__pyx_t_1) { - /* "_pydevd_sys_monitoring_cython.pyx":1970 + /* "_pydevd_sys_monitoring_cython.pyx":2020 * # if the current matches the same heuristic where the target was defined. * if target_frame is not None and current_frame is not None: * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< * # The co_name may be different (it may include the line number), but * # the filename must still be the same. */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_target_frame, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1970, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_target_frame, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1970, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1970, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1970, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1970, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1970, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { - /* "_pydevd_sys_monitoring_cython.pyx":1973 + /* "_pydevd_sys_monitoring_cython.pyx":2023 * # The co_name may be different (it may include the line number), but * # the filename must still be the same. * f = current_frame.f_back # <<<<<<<<<<<<<< * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: * f = f.f_back */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_mstate_global->__pyx_n_u_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1973, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_mstate_global->__pyx_n_u_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1974 + /* "_pydevd_sys_monitoring_cython.pyx":2024 * # the filename must still be the same. * f = current_frame.f_back * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< @@ -29150,38 +29661,38 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ __pyx_t_1 = __pyx_t_2; goto __pyx_L10_bool_binop_done; } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1974, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1974, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1974, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1974, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1974, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2024, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1974, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2024, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_2; __pyx_L10_bool_binop_done:; if (__pyx_t_1) { - /* "_pydevd_sys_monitoring_cython.pyx":1975 + /* "_pydevd_sys_monitoring_cython.pyx":2025 * f = current_frame.f_back * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: * f = f.f_back # <<<<<<<<<<<<<< * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: * return True */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_mstate_global->__pyx_n_u_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1975, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_mstate_global->__pyx_n_u_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1976 + /* "_pydevd_sys_monitoring_cython.pyx":2026 * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: * f = f.f_back * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< @@ -29194,26 +29705,26 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ __pyx_t_1 = __pyx_t_2; goto __pyx_L13_bool_binop_done; } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1976, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_mstate_global->__pyx_n_u_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1976, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1976, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1976, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1976, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1976, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_2; __pyx_L13_bool_binop_done:; if (__pyx_t_1) { - /* "_pydevd_sys_monitoring_cython.pyx":1977 + /* "_pydevd_sys_monitoring_cython.pyx":2027 * f = f.f_back * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: * return True # <<<<<<<<<<<<<< @@ -29225,7 +29736,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ __pyx_r = Py_True; goto __pyx_L0; - /* "_pydevd_sys_monitoring_cython.pyx":1976 + /* "_pydevd_sys_monitoring_cython.pyx":2026 * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: * f = f.f_back * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< @@ -29234,7 +29745,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ } - /* "_pydevd_sys_monitoring_cython.pyx":1974 + /* "_pydevd_sys_monitoring_cython.pyx":2024 * # the filename must still be the same. * f = current_frame.f_back * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< @@ -29243,7 +29754,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ } - /* "_pydevd_sys_monitoring_cython.pyx":1970 + /* "_pydevd_sys_monitoring_cython.pyx":2020 * # if the current matches the same heuristic where the target was defined. * if target_frame is not None and current_frame is not None: * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< @@ -29252,7 +29763,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ } - /* "_pydevd_sys_monitoring_cython.pyx":1969 + /* "_pydevd_sys_monitoring_cython.pyx":2019 * # If using scoped step we don't check the target, we just need to check * # if the current matches the same heuristic where the target was defined. * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< @@ -29261,7 +29772,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ } - /* "_pydevd_sys_monitoring_cython.pyx":1966 + /* "_pydevd_sys_monitoring_cython.pyx":2016 * return True * * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< @@ -29270,7 +29781,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ } - /* "_pydevd_sys_monitoring_cython.pyx":1979 + /* "_pydevd_sys_monitoring_cython.pyx":2029 * return True * * return False # <<<<<<<<<<<<<< @@ -29282,7 +29793,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ __pyx_r = Py_False; goto __pyx_L0; - /* "_pydevd_sys_monitoring_cython.pyx":1958 + /* "_pydevd_sys_monitoring_cython.pyx":2008 * # fmt: off * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * cdef _is_same_frame(PyDBAdditionalThreadInfo info, target_frame, current_frame): # <<<<<<<<<<<<<< @@ -29304,7 +29815,7 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ return __pyx_r; } -/* "_pydevd_sys_monitoring_cython.pyx":1984 +/* "_pydevd_sys_monitoring_cython.pyx":2034 * # fmt: off * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * def _do_wait_suspend(py_db, ThreadInfo thread_info, frame, event, arg): # <<<<<<<<<<<<<< @@ -29313,15 +29824,15 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython__is_same_frame(struct _ */ /* Python wrapper */ -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_21_do_wait_suspend(PyObject *__pyx_self, +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_25_do_wait_suspend(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_21_do_wait_suspend = {"_do_wait_suspend", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_21_do_wait_suspend, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_21_do_wait_suspend(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_25_do_wait_suspend = {"_do_wait_suspend", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_25_do_wait_suspend, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_25_do_wait_suspend(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -29355,50 +29866,50 @@ PyObject *__pyx_args, PyObject *__pyx_kwds { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_py_db,&__pyx_mstate_global->__pyx_n_u_thread_info,&__pyx_mstate_global->__pyx_n_u_frame,&__pyx_mstate_global->__pyx_n_u_event,&__pyx_mstate_global->__pyx_n_u_arg,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; - if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1984, __pyx_L3_error) + if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2034, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 5: values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 2034, __pyx_L3_error) CYTHON_FALLTHROUGH; case 4: values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2034, __pyx_L3_error) CYTHON_FALLTHROUGH; case 3: values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2034, __pyx_L3_error) CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2034, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2034, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_do_wait_suspend", 0) < (0)) __PYX_ERR(0, 1984, __pyx_L3_error) + if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_do_wait_suspend", 0) < (0)) __PYX_ERR(0, 2034, __pyx_L3_error) for (Py_ssize_t i = __pyx_nargs; i < 5; i++) { - if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_do_wait_suspend", 1, 5, 5, i); __PYX_ERR(0, 1984, __pyx_L3_error) } + if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_do_wait_suspend", 1, 5, 5, i); __PYX_ERR(0, 2034, __pyx_L3_error) } } } else if (unlikely(__pyx_nargs != 5)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2034, __pyx_L3_error) values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2034, __pyx_L3_error) values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2034, __pyx_L3_error) values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2034, __pyx_L3_error) values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4); - if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1984, __pyx_L3_error) + if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 2034, __pyx_L3_error) } __pyx_v_py_db = values[0]; __pyx_v_thread_info = ((struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *)values[1]); @@ -29408,7 +29919,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_do_wait_suspend", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 1984, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_do_wait_suspend", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 2034, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; @@ -29419,8 +29930,8 @@ PyObject *__pyx_args, PyObject *__pyx_kwds __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_thread_info), __pyx_mstate_global->__pyx_ptype_29_pydevd_sys_monitoring_cython_ThreadInfo, 1, "thread_info", 0))) __PYX_ERR(0, 1984, __pyx_L1_error) - __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_20_do_wait_suspend(__pyx_self, __pyx_v_py_db, __pyx_v_thread_info, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_thread_info), __pyx_mstate_global->__pyx_ptype_29_pydevd_sys_monitoring_cython_ThreadInfo, 1, "thread_info", 0))) __PYX_ERR(0, 2034, __pyx_L1_error) + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_24_do_wait_suspend(__pyx_self, __pyx_v_py_db, __pyx_v_thread_info, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); /* function exit code */ goto __pyx_L0; @@ -29439,7 +29950,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20_do_wait_suspend(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *__pyx_v_thread_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_24_do_wait_suspend(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, struct __pyx_obj_29_pydevd_sys_monitoring_cython_ThreadInfo *__pyx_v_thread_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -29450,7 +29961,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20_do_wait_suspend(CYT int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_do_wait_suspend", 0); - /* "_pydevd_sys_monitoring_cython.pyx":1989 + /* "_pydevd_sys_monitoring_cython.pyx":2039 * # ENDIF * # fmt: on * thread_info.additional_info.trace_suspend_type = "sys_monitor" # <<<<<<<<<<<<<< @@ -29463,7 +29974,7 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20_do_wait_suspend(CYT __Pyx_DECREF(__pyx_v_thread_info->additional_info->trace_suspend_type); __pyx_v_thread_info->additional_info->trace_suspend_type = __pyx_mstate_global->__pyx_n_u_sys_monitor; - /* "_pydevd_sys_monitoring_cython.pyx":1990 + /* "_pydevd_sys_monitoring_cython.pyx":2040 * # fmt: on * thread_info.additional_info.trace_suspend_type = "sys_monitor" * py_db.do_wait_suspend(thread_info.thread, frame, event, arg) # <<<<<<<<<<<<<< @@ -29477,12 +29988,12 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20_do_wait_suspend(CYT PyObject *__pyx_callargs[5] = {__pyx_t_2, __pyx_v_thread_info->thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_do_wait_suspend_2, __pyx_callargs+__pyx_t_3, (5-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1990, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1984 + /* "_pydevd_sys_monitoring_cython.pyx":2034 * # fmt: off * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * def _do_wait_suspend(py_db, ThreadInfo thread_info, frame, event, arg): # <<<<<<<<<<<<<< @@ -29513,15 +30024,15 @@ static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_20_do_wait_suspend(CYT */ /* Python wrapper */ -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_23__pyx_unpickle_ThreadInfo(PyObject *__pyx_self, +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_27__pyx_unpickle_ThreadInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_23__pyx_unpickle_ThreadInfo = {"__pyx_unpickle_ThreadInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_23__pyx_unpickle_ThreadInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_23__pyx_unpickle_ThreadInfo(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_27__pyx_unpickle_ThreadInfo = {"__pyx_unpickle_ThreadInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_27__pyx_unpickle_ThreadInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_27__pyx_unpickle_ThreadInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -29604,7 +30115,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_22__pyx_unpickle_ThreadInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_26__pyx_unpickle_ThreadInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -29623,7 +30134,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_22__pyx_unpickle_ThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_26__pyx_unpickle_ThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -29832,15 +30343,15 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython___pyx_unpickle_ThreadIn */ /* Python wrapper */ -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_25__pyx_unpickle_FuncCodeInfo(PyObject *__pyx_self, +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_29__pyx_unpickle_FuncCodeInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_25__pyx_unpickle_FuncCodeInfo = {"__pyx_unpickle_FuncCodeInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_25__pyx_unpickle_FuncCodeInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_25__pyx_unpickle_FuncCodeInfo(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_29__pyx_unpickle_FuncCodeInfo = {"__pyx_unpickle_FuncCodeInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_29__pyx_unpickle_FuncCodeInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_29__pyx_unpickle_FuncCodeInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -29923,7 +30434,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_24__pyx_unpickle_FuncCodeInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_28__pyx_unpickle_FuncCodeInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -29942,7 +30453,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_24__pyx_unpickle_FuncCodeInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_28__pyx_unpickle_FuncCodeInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -30231,15 +30742,15 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython___pyx_unpickle_FuncCode */ /* Python wrapper */ -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_27__pyx_unpickle__CodeLineInfo(PyObject *__pyx_self, +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_31__pyx_unpickle__CodeLineInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_27__pyx_unpickle__CodeLineInfo = {"__pyx_unpickle__CodeLineInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_27__pyx_unpickle__CodeLineInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_27__pyx_unpickle__CodeLineInfo(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_31__pyx_unpickle__CodeLineInfo = {"__pyx_unpickle__CodeLineInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_31__pyx_unpickle__CodeLineInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_31__pyx_unpickle__CodeLineInfo(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -30322,7 +30833,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_26__pyx_unpickle__CodeLineInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_30__pyx_unpickle__CodeLineInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -30341,7 +30852,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_26__pyx_unpickle__CodeLineInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_30__pyx_unpickle__CodeLineInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -30531,15 +31042,15 @@ static PyObject *__pyx_f_29_pydevd_sys_monitoring_cython___pyx_unpickle__CodeLin */ /* Python wrapper */ -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_29__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_33__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ -static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_29__pyx_unpickle__TryExceptContainerObj = {"__pyx_unpickle__TryExceptContainerObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_29__pyx_unpickle__TryExceptContainerObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_29__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, +static PyMethodDef __pyx_mdef_29_pydevd_sys_monitoring_cython_33__pyx_unpickle__TryExceptContainerObj = {"__pyx_unpickle__TryExceptContainerObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_29_pydevd_sys_monitoring_cython_33__pyx_unpickle__TryExceptContainerObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_29_pydevd_sys_monitoring_cython_33__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else @@ -30622,7 +31133,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error) - __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_28__pyx_unpickle__TryExceptContainerObj(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + __pyx_r = __pyx_pf_29_pydevd_sys_monitoring_cython_32__pyx_unpickle__TryExceptContainerObj(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); /* function exit code */ goto __pyx_L0; @@ -30641,7 +31152,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds return __pyx_r; } -static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_28__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_29_pydevd_sys_monitoring_cython_32__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_v___pyx_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -33824,18 +34335,48 @@ __Pyx_RefNannySetupContext("PyInit__pydevd_sys_monitoring_cython", 0); if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_stop_monitoring, __pyx_t_4) < (0)) __PYX_ERR(0, 1833, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1861 + /* "_pydevd_sys_monitoring_cython.pyx":1863 + * # fmt: off + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef bint suspend_current_thread_tracing(): # <<<<<<<<<<<<<< + * cdef ThreadInfo thread_info + * # ELSE +*/ + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_17suspend_current_thread_tracing, 0, __pyx_mstate_global->__pyx_n_u_suspend_current_thread_tracing, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1863, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + #endif + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_suspend_current_thread_tracing, __pyx_t_4) < (0)) __PYX_ERR(0, 1863, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1893 + * # fmt: off + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef resume_current_thread_tracing(): # <<<<<<<<<<<<<< + * cdef ThreadInfo thread_info + * # ELSE +*/ + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_19resume_current_thread_tracing, 0, __pyx_mstate_global->__pyx_n_u_resume_current_thread_tracing, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1893, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 + PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); + #endif + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_resume_current_thread_tracing, __pyx_t_4) < (0)) __PYX_ERR(0, 1893, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_sys_monitoring_cython.pyx":1911 * * * def update_monitor_events(suspend_requested: Optional[bool]=None) -> None: # <<<<<<<<<<<<<< * """ * This should be called when breakpoints change. */ - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1861, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_suspend_requested, __pyx_mstate_global->__pyx_kp_u_Optional_bool) < (0)) __PYX_ERR(0, 1861, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 1861, __pyx_L1_error) - __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_17update_monitor_events, 0, __pyx_mstate_global->__pyx_n_u_update_monitor_events, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1861, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_suspend_requested, __pyx_mstate_global->__pyx_kp_u_Optional_bool) < (0)) __PYX_ERR(0, 1911, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 1911, __pyx_L1_error) + __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_21update_monitor_events, 0, __pyx_mstate_global->__pyx_n_u_update_monitor_events, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10); @@ -33843,42 +34384,42 @@ __Pyx_RefNannySetupContext("PyInit__pydevd_sys_monitoring_cython", 0); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[6]); __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_update_monitor_events, __pyx_t_10) < (0)) __PYX_ERR(0, 1861, __pyx_L1_error) + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_update_monitor_events, __pyx_t_10) < (0)) __PYX_ERR(0, 1911, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1949 + /* "_pydevd_sys_monitoring_cython.pyx":1999 * * * def restart_events() -> None: # <<<<<<<<<<<<<< * # Note: if breakpoints change, update_monitor_events usually needs to be * # called first, then the line event tracing must be set for existing frames */ - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1949, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 1949, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_19restart_events, 0, __pyx_mstate_global->__pyx_n_u_restart_events, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1949, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 1999, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_23restart_events, 0, __pyx_mstate_global->__pyx_n_u_restart_events, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_restart_events, __pyx_t_4) < (0)) __PYX_ERR(0, 1949, __pyx_L1_error) + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_restart_events, __pyx_t_4) < (0)) __PYX_ERR(0, 1999, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "_pydevd_sys_monitoring_cython.pyx":1984 + /* "_pydevd_sys_monitoring_cython.pyx":2034 * # fmt: off * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) * def _do_wait_suspend(py_db, ThreadInfo thread_info, frame, event, arg): # <<<<<<<<<<<<<< * # ELSE * # def _do_wait_suspend(py_db, thread_info, frame, event, arg): */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_21_do_wait_suspend, 0, __pyx_mstate_global->__pyx_n_u_do_wait_suspend, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1984, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_25_do_wait_suspend, 0, __pyx_mstate_global->__pyx_n_u_do_wait_suspend, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); #endif - if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_do_wait_suspend, __pyx_t_4) < (0)) __PYX_ERR(0, 1984, __pyx_L1_error) + if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_do_wait_suspend, __pyx_t_4) < (0)) __PYX_ERR(0, 2034, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "(tree fragment)":4 @@ -33888,7 +34429,7 @@ __Pyx_RefNannySetupContext("PyInit__pydevd_sys_monitoring_cython", 0); * cdef object __pyx_result * __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x006f6da, 0xef211db, 0xa818889, b'_use_is_stopped, _use_on_thread_handle, additional_info, thread, thread_ident, trace') */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_23__pyx_unpickle_ThreadInfo, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ThreadInfo, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_27__pyx_unpickle_ThreadInfo, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ThreadInfo, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); @@ -33901,7 +34442,7 @@ __Pyx_RefNannySetupContext("PyInit__pydevd_sys_monitoring_cython", 0); * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 * int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1 */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_25__pyx_unpickle_FuncCodeInfo, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_FuncCodeInfo, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_29__pyx_unpickle_FuncCodeInfo, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_FuncCodeInfo, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); @@ -33916,7 +34457,7 @@ __Pyx_RefNannySetupContext("PyInit__pydevd_sys_monitoring_cython", 0); * cdef object __pyx_result * __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5a9bcd5, 0x0267473, 0x3fbbd02, b'first_line, last_line, line_to_offset') */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_27__pyx_unpickle__CodeLineInfo, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__CodeLineInfo, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_31__pyx_unpickle__CodeLineInfo, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__CodeLineInfo, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[31])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); @@ -33929,7 +34470,7 @@ __Pyx_RefNannySetupContext("PyInit__pydevd_sys_monitoring_cython", 0); * int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1 * int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1 */ - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_29__pyx_unpickle__TryExceptContainerObj, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TryExceptContain, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_29_pydevd_sys_monitoring_cython_33__pyx_unpickle__TryExceptContainerObj, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle__TryExceptContain, NULL, __pyx_mstate_global->__pyx_n_u_pydevd_sys_monitoring_cython, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[32])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4); @@ -34086,14 +34627,14 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[5]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[5]); - /* "_pydevd_sys_monitoring_cython.pyx":1861 + /* "_pydevd_sys_monitoring_cython.pyx":1911 * * * def update_monitor_events(suspend_requested: Optional[bool]=None) -> None: # <<<<<<<<<<<<<< * """ * This should be called when breakpoints change. */ - __pyx_mstate_global->__pyx_tuple[6] = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(0, 1861, __pyx_L1_error) + __pyx_mstate_global->__pyx_tuple[6] = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(0, 1911, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[6]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]); #if CYTHON_IMMORTAL_CONSTANTS @@ -34145,31 +34686,31 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) { static int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate) { CYTHON_UNUSED_VAR(__pyx_mstate); { - const struct { const unsigned int length: 10; } index[] = {{0},{1},{82},{24},{4},{22},{179},{14},{24},{165},{4},{1},{1},{8},{7},{6},{14},{2},{9},{8},{4},{18},{9},{56},{23},{15},{11},{14},{3},{3},{13},{31},{33},{8},{11},{11},{16},{7},{23},{31},{32},{4},{12},{22},{29},{12},{9},{12},{30},{32},{31},{20},{20},{19},{4},{4},{29},{4},{8},{22},{14},{9},{9},{8},{9},{116},{119},{122},{118},{103},{20},{5},{18},{14},{6},{10},{28},{30},{22},{40},{42},{5},{21},{7},{18},{11},{15},{11},{18},{3},{4},{18},{8},{11},{10},{17},{16},{26},{28},{33},{11},{8},{4},{11},{17},{9},{17},{18},{11},{13},{13},{11},{8},{7},{4},{8},{29},{23},{11},{7},{14},{5},{7},{8},{5},{3},{20},{16},{15},{7},{12},{13},{19},{3},{8},{18},{9},{9},{5},{6},{3},{9},{5},{8},{8},{10},{6},{11},{6},{28},{7},{8},{8},{19},{17},{27},{14},{10},{5},{14},{12},{11},{8},{38},{3},{41},{42},{14},{19},{20},{13},{19},{10},{9},{18},{16},{45},{8},{9},{12},{10},{30},{35},{27},{28},{16},{10},{39},{13},{27},{22},{5},{8},{11},{18},{8},{27},{13},{7},{23},{11},{22},{11},{15},{16},{22},{9},{5},{6},{9},{4},{19},{14},{7},{5},{4},{8},{15},{3},{13},{3},{10},{7},{10},{5},{8},{10},{7},{41},{6},{17},{2},{7},{17},{6},{3},{11},{5},{13},{13},{34},{35},{18},{9},{12},{11},{14},{6},{14},{33},{36},{31},{36},{27},{17},{17},{22},{12},{29},{14},{14},{12},{11},{10},{27},{25},{28},{37},{14},{12},{2},{10},{17},{13},{4},{17},{15},{26},{24},{23},{14},{6},{6},{3},{4},{5},{4},{10},{16},{12},{11},{31},{10},{12},{19},{24},{17},{18},{8},{5},{16},{10},{5},{4},{15},{27},{7},{21},{14},{17},{3},{11},{1},{8},{6},{14},{12},{11},{18},{9},{7},{9},{5},{13},{23},{16},{5},{6},{6},{21},{12},{11},{23},{6},{4},{6},{124},{11},{11},{33},{11},{71},{29},{39},{7},{15},{13},{593},{137},{99},{536},{106},{16},{14},{23},{11},{59},{56},{55},{55},{203},{97},{45},{128},{858}}; - #if (CYTHON_COMPRESS_STRINGS) == 2 /* compression: bz2 (4440 bytes) */ -const char* const cstring = "BZh91AY&SY\240\365\034\014\000\002\336\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300@@@@@@@@@@@@\000@\000`\021_{\336\336G\251\336{+M\254OL\256\353C\3273\321\252\367\232\352\312\004QRI\025:0zT\000\007\203\204\242\021&\322d\310Lh\0311\032d`M&\321OL\023\rS\324\323#\006\243F\323$\323i\251\223OBi\215'\250\323\311\251\342\206\203E\014L\0024\243\320\214L\247\250\310\301\021\220h\365\032z\203@\006\200\r\014\324\000\320\032=&\232\001\246\200\320jz\004\321\010\231&)\265\017D\017Ph\000\003\3244\323\004\000\000\001\352h\321\240h\320\3202\000\032\000\221\020\2044\311\245O&\324\3112\004\362\237\252hmOS\324i\200\230@\032\032\000\321\206\240\014\231\r4\321\246\2002z\232\004\032b`A\200\t\246\232i\200\010\300F&L\002`\000#\010\300\000#\000&L\230L@\221!\003H\002jz\000&\324\022y\242C\324\323h\324\036\240\320\017S\324\364\200\000\001\240\003@\000\003@\377\310\022\311s1q]O\215\205\016^\030\261M\206\250\205\377\002\250\350i\014b\033K\365\276\323o\341\264@\3068\210B\247\360\375]\277u\177\256\332\377\217\337\222\t\355\205h\203\373\016\201j\313\020\001ho\360\304\000!\020~\035\017[\327\344|\037\027/\221\317\347_[\370\325\307\031\305\316s\\\340\347<{4\373\2357\217\223\251\037\256<1\374\377^\034cS\016[l\262\301\033,\225\217\262\313,\266}\263\377!\214clLblM\261\241\260i\244\30646\303\237\364\215\371~\337\342\373\270rz'\312\266\202\010d8p\341\304\211I\021\014,Kh]\0311\310\363f\234\032I\022\010 \211\324\004\217\373\313\347\253\325\034\347=\230{\370\277\2369\002\ty\322\351\025\007^\362A\004\020\\\2014\232\250\251\266\323i\261\215\r\214`\333m\266\223Lm\260l\0304\332\033\r\341\265j\216df\312x;|`\324\037\237\374x\237\233\366kW\242\360\033\\a\006\001\222H\315\241\264\330\332\260\330\341\217\315\316\327\260d32\307n\212\024\370XH.\321j\021`\254m6&\200\275U\241\264\246\352R\370\265M\206\026\323b\027\002\252c\276\241\0357\347Y\311I\264\314\305\030\307\315X\335\255`\025E\315f\230,\331j\301\332Y!\267,\265\313\204\354Afz\215\225\362\322\255\340\031\353OV\323\014\226\350\3153\344""\226\001*\337B.0\204\250\300\225f_\255k\272\347OH\353P\350=s\246\021\210\265\300\022Xd\343Q\225D-\244\223e\202\026\302\311z!\2277\2201c\236r\246\232\220\202\332\000\363\344\361\351Jy\024\033[t\346\332\201<}\377\024(\203\313\334\333w\343#rxO~\022xG\3418\331:\027I\355,\220\305\3670A\223\315\320\264\177Mp\326\273\256/K\337\262\236&\034\354'\304!M\236PHi\217\003\001\270\241\020\032\341\366\265\223\250[\273\3133\257\000^\347\265\005\3559\342/\332X \205\241/'QJ\206T\020\344&\345\006\224\001\t\217a\363]\275\031\351\351\366\204\204\204\207'N]\373\306\334\037\323\036\350cP\214c\203\242\341r\224\006\243B\261\rQ\373\335\214GH\302\302\277\266\020\207\255\217\277\375\350\3242/\325\246Js\250\253=\332\215 \251\304\362%~\224W!\251\212\361\301~O\301\362\273\253\016c\235\252\335M/\024oe\0317q\201\363s\373y\313\254sZ\t\005\202\3205\312]^g\035\277\032aR\275\315\226\014Y\204\314=]\016o\277=\006m\035\324\371:\377jF\254\351\031l\352lv:\375z\310\250\007x\254^0r\355\302\230*B\335\241\2018I-\325kw\343\\G+\261UD\322\022\t-\220\300\0132\255\305\242C\310\310\241\212\204\252\362\030Y\021\367\354\321\203\251\t2\344\247\000\031Gq\337\021\206\307\317\331FEAi@\216\202\261\203\003\322di\372Vv}\366\266\347\223\230\\\335\377\211)\344\361\362j\312\336\227\277\331\336\223\300\351\302\036\355\007GZ\363)\276u\016\022\315*D\325\334\272\206\255\206\3177O'E7\306\3725\310\234\267F\262\rC\252\032\021\344F\272\245\036=\275\017F\016\205\331q\352\364\006\"\365\266Q\340\250\261\013&>4\0138\3424\373%\332\343\315\010\352\324\277\210\303!\335P\264\271+q\310\t/b\302\031{\317\023[<\276\317>a\307\022\r\002\274\334\313\357\343\347]#^d&\315\302\333VV\371\310\317""\177\302%\326\t\370\371gk\200#\307^\254\2424U\270H\253\026\213_\315t=\274\260\222`\334\337\224\242\315\307F\310l\361\227\351\244\366\035K\262\346 \361s\225W\346z\262\265#1\n\305\341\215yxb8n>\314o=\233)\201\303\030\276\025\267\211(G\003\270\265\341\254\264\\\027\331s\020\315\275e\336\006x\264^Y\347\276\0326\005\2406\332\364'\237\305&\003\006`+$&\251\236\004\306\230\231\237.\250\304T\212\246\204\001\316J\317\271\3501P\353&\034/\212\374U\351\335JD\207!o\033,\025\n6\212\0109\255,M\316\365\241.u8\221\024\205%\217\2546P\035\273I\265\033\373\310^\2100\027$sL\344\005/\351P\004\022\304\324E\037\014\r\352W\245E\224\r<\272\004`\350\224\241\222<\304\335p\306tw\313i\223\273\303\342\341\216\347J\274L\364\030\347\016\202e*\031l\212\207\267\224N\335\245\364:k\204\032\303=sj\006\020M`\246T\316\227E9A\2655\230_>\022t\304\210\027\315[ F\177\260=\001\"\"\3263:\252#\001\210\223\203\330\3456\203\212H\0033!\013\263<\226lx\257\202\265\245\215\242\3726[r\010\240\200Np\370\242\347\t\252\314\264T9Hf.\233\032\331\254F\230\030i\254\222\3267\272\242\256Wa\2434\326$*-\350\310\304\026RN\362D\003\010\013Fr\364\031\236\326\246$2 \200\252\330\314\207t\244L\023JM\335e\030U\004%V\341\257@h\351|\201ea\247\022Kh\273\033\014\200L&\200\233K\271\315\256\313K\276\236A\343\320T\025\006*\033x#\035tJ\256\302\365\256)\235\334\246\314\214p\241\006k\242jMo]G\025T}}|\2050\240\204\030!\233\242\206\r\202\344\302,N\264*8\023}-\0161u\203\313\344\356\272\335\236\344\277n\310ly\027\344\2032\320t\233l\212\206\354\320.oz7\326\021\035^\255\357\030\352\0149K\224\261.\\w\0172\030\340\241\006!3\254\327\344\266\021\376\\\030\352\271\264\333L\030rS.\312\254\264A\344\366\0138/H\253\351;\350q\315\275\234\270\305\254Q\274\256\347\002\263$\254\260\r\372\220C\232\013\"\345\014\025\207mZ\302Y\320\3134\307\245\253\357 \363z\035\010\204\305\034\326\3522\024\237\236^\035\334\3026\364\004\032l#\227\261q\344\013X\321\371\300\331\342\270Vq\324\222M\212\303\"\341\220\217B}]\221\030\260\216\363\346E\245\002\350P\224Y!\227\262\272phm\242\360C""\035\026\254\024\356dV\013\373\030\310m=a\027\344\276[:I\035\312\337#>\032zh\241-1\216\275\211\331h\t\306\303LL\336f\323\234\233\006R\310\016\214\375\353-\264\355\345\"m\2016\014\230\033Y)\213\202PI\020\310\235TR\223\022\252S\241D\020\341\354v\331\326;\210n\344R\333\304\215}\2108;\227\025\327\\\211\343\202H%\311\246\226\227g6N1\200\256Q\241\021\0144\031/\243b\210\010\023\024Y\206\220\032)\330\344i\354\303\025Rzi\263V\225\312s (:p\250\225C\022\014\211$\016\002\004\312R\200\320L\262\224D\006VYK\335 I\025rI\004\222\023\007\\\005\222\242\341\366\257|0\213\310\220\301QC26L\030\023\002\200,\tx\0377B\315Y\343\022\360%\201\204D\253\004\323\014\331\262\347Sx\030Z\227u\350\262\235\266`\365\020\202\026]\257\000\272\350\243\320\323\004\201\345\3406\366\245y\332TSM\257\262u\037Q\032\331ln\212\306r0%\301;\000\246\030I\320J\314J\347.,\030R\361p\024\0221\270M\033\017~\211\305\352\016\3675+L\256CU\031V\031j)\220%6&\333cwd\210\301P\203[\206\233J\340\300\332\222\014\357R\321\213\3610\345f\226CE\354\223^\033-\340\357\365\372\272|\276\266oK\013\366\316\336\036\3346h\331\242\316GD\215DLE\205R\010\030i\2056\331\204k\222\362\365\275\216Dq1d\273\033\303\317\357\364^o\177\336r\357\342i\367\221\014\n>\353\321\244\360\344\314l\310\216\303:.[.\250\031\235\276~\213\025y\267\255r\3144t\036\206\263\321\021\352/\017\2649x\215`\332\351\252Y\336\316\010\212\"\300cm\241\024\221\r\373\224\014H\340G^4\234\373\203\271\3363\024\245j5sm\251\366w\013\006\023Mp]#\230\306\374\255\264\375\255\326\236\2504\0275pD+Da\227\"\r0\342M2a]\007l\372\033\324\356\323\346s\204\332cEc(\006\306\330.\004[\233b\327\"\233\256e\222\2242FI\006\014,\335\242\236\203\330an\366\315\252\351\205\251+\002\200\375\226\356PY\267m\370o\323\325\231\231\323\033\305\234\210a)\r\234\034Oz\032a\272\330\214\350!\341!IR\230\210\300XZN\005\271\370\222zS\247\314\023JR\245\006\331@\270s(d\020\312\354E\370x\237\026\014Z\2561\rp\325\216H5\014\371\332+\202\275tB0\260\262f0f\030H\265Q\357\324\225\220\2157\233\263\305\230U\025\010`\027\320\345xH\014d""\275\210\340\321\025\036[\000\332#\223\223\227\033\306\3576\302\362\023\022\224J\201\260li\244\366\3040\306\210\205\023\023\216\217G,\271\001\030x\322D\261\2666_yD\250\230\3054LT\030\035\333!\245\322\030^J;\310M\0044!\236[\302\002C\000e\367\353\272\366\026\205\215[\266 R6\213\242\0242\366D\241\303lb\230\" \206\330\024\363\247\257\317\357\366\271CT\013\006\224\223\342\210q\3218\346\232\n8#\254\032\005(H\3562\224\363\010\265%\310\267\357\330\32227y\316\013b\323\035w\361Kx=\371\"\225\033\270y\250V)\035T\034\245J\322\3272\002\366+\264\360\357\353\277*n\334*o*\345\244\355\241\211\216\304ir\304\263,\246\211\242\2162\305\256\211L\241\273\211G>\353M\3339\264-\271f\226\250\270\300\334\215\314\202\025\r\332N\273fM\315\353f\326\207\322\212H\215WqM\316\266\026}\227\251\033\253&doB\253\222eHEHS\320\000R8\334\241\257<\036\233\265\203h\030(}\2461i\201F\321\3260\031\306\021(\350\230\351aZc\242\211\206\323\300\302K\014\263\253\214\010%\232\343W\227\307^2\241\200\202\352# w\314)A\320\232\311\250\201\021i\272\231\020\360\262\232\340Bc\222Z\340\226\031kB+K\305{\330\300\233\240\250\365\312\321sd\202\253(\333\031\222\013\323r\206\301\263\034\256Hx\206(\361\274\255\035V\220\275L\350\255\354K\013\213\001PV\260#e&\203[\023\336\274\rB\234\363\301\262\234L)\202\321\214?8\356\234A\306d\377x""\332b\225Q\006\375\037\\\316\210PI\\Z\254\261\347\227\214\032\277_q\003l\320\231T\020\004\301\352\335\333\333\227$\033sJ\333\210J\310L\363\272\307Q\227w\232\360X\227\336\311$(\343\014Y!\014j\272\000 0$D*.D\020C(\312\277\272b\314Ag\\\\\024J\365\2043\343\366\326\235!.v\302D/01\266\304\020\326\035\253n\354\365q\350<\234@\311\204\221\326s,\203\231P\243\221F\201\0336\365\314\022\315B\210\033\353\356\227\205\222@e\024\002\305\253s5q\246\313\225~\314Q\371-\014D\244\216\201q\236x\303\201\263`{sB\216\365\244\252\307\023\334\306\370>}?M\356v]\361Q\353&\204\330\037\271\035,=v\241\242\0161\245\351\207\364\006\013\247\347OX\251\365*\n\2422\334\322M\265\247\257uvm2\313\336\200\332\377Y\355h\300\356\003C\205Fq\203\004\032\267\275M\340t\320s\r\343\223\002\302\373=\253\205\345o+\203\344\367\322\327\005\025\017[\032\336)K\331\3657\232t\344}\277\237\221\204\300Q\203<\370\201\357W\214]\240\341&\361)\314\304\333b\353\262t\366\0369\356j\357\350\034\370\324\001\237\365\n-\376\232\376\206G\307'\322\177P\365)q\371\0246\224\250\335^_\274\245\363\332O\023^]\027\221\016_W\023J\272\265\377\317.\353=\225\331\225`k\352\210z}\026\375\354\272\035\2673\375y\333?#\231\354\254\354\337\207\311\020\314Z\366s\033\231\006PT\257\262\346\242\014_]\212\265\373\246\255\\R\322\324\330\331o\267e\355r\241\306\312\355\267\313s&\t\313H\300\307R\210\252\270I\213\261=\263?\215~\206\023\377-\206\205\035\213M\241\245oE\203\026\322\362d\366h\032y5i7[\215\227\002\017\323\346\310\247\361V\322\0246\366\373\264\206\315\364\306\265\334\326:6*7\334\321\216\375\0364w{\3265\375\242\0354\230}\276\036\237\273\353\325+\345\364\354\265n\354a\325\312,\010dH\245\2046\231S\226B\233x\372Ig\226\001\006)\245\330\363\022\246v\274\3012Z\325<}\271B\021\267k\0369'\210\302\316\300\350\222!\277\321\266+%\337U\354)\364\336\245\353:\376\016\365\363\024m\235\236\260_}\273\335}\251)\3641]\335\264_\260]\326mo\321\276\241{&O|/\272_\335\237;\017\203\274Y\321\373Q57)\336X\340U;\351\301\301]\200\305A\027D\354'[qD3Sl1\3251e}a\230\243\0254\203\370\251""\370\222?<\000\363jX\3340aU<=Y>\030\233\271\375l\376\347\213\352\310\263\022I\301o/\214<\035\276\376\234<\342Ge:\233\033\\\2625W\343\317\237\307#v6\347!\354\370Q\207/\265\250\337\307\021\030\202\261\317\312W\207\225\365{\313\013\260p\203\2107\340%[\216m@o\\?Gg'\"\253\222\213\226,\225\002j\300\022\325h\205\001\025n\263[\324\005\250\210fUCZ\260Y%\331\n\204Uu^(\212\211\253\211\257\005*\316\360-\276^\032^\334\033\n\315\322\327\360\025\315r\225\021B\022\240J\245\314\275\334\261\0043\025\352\026\216M\004\261DxyR\376\326\216b\016PB\203]\020*\242\250\336\"\253\224fVg%\223\200\210A\207\335f\253\225tF\315\203}\2501\306)\226Z0\322\235\334\204\273\\B\377\342\356H\247\n\022\024\036\243\201\200"; - PyObject *data = __Pyx_DecompressString(cstring, 4440, 2); + const struct { const unsigned int length: 10; } index[] = {{0},{1},{82},{24},{4},{22},{179},{14},{24},{165},{4},{1},{1},{8},{7},{6},{14},{2},{9},{8},{4},{18},{9},{56},{23},{15},{11},{14},{3},{3},{13},{31},{33},{8},{11},{11},{16},{7},{23},{31},{32},{4},{12},{22},{29},{12},{9},{12},{30},{32},{31},{20},{20},{19},{4},{4},{29},{4},{8},{22},{14},{9},{9},{8},{9},{116},{119},{122},{118},{103},{20},{5},{18},{14},{6},{10},{28},{30},{22},{40},{42},{5},{21},{7},{18},{11},{15},{11},{18},{3},{4},{18},{8},{11},{10},{17},{16},{26},{28},{33},{11},{8},{4},{11},{17},{9},{17},{18},{11},{13},{13},{11},{8},{7},{4},{8},{29},{23},{11},{7},{14},{5},{7},{8},{5},{3},{20},{16},{15},{7},{12},{13},{19},{3},{8},{18},{9},{9},{5},{6},{3},{9},{5},{8},{8},{10},{6},{11},{6},{28},{7},{8},{8},{19},{17},{27},{14},{10},{5},{14},{12},{11},{8},{38},{3},{41},{42},{14},{19},{20},{13},{19},{10},{9},{18},{16},{45},{8},{9},{12},{10},{30},{35},{27},{28},{16},{10},{39},{13},{27},{22},{5},{8},{11},{18},{8},{27},{13},{7},{23},{11},{22},{11},{15},{16},{22},{9},{5},{6},{9},{4},{19},{14},{7},{5},{4},{8},{15},{3},{13},{3},{10},{7},{10},{5},{8},{10},{7},{41},{6},{17},{2},{7},{17},{6},{3},{11},{5},{13},{13},{34},{35},{18},{9},{12},{11},{14},{6},{14},{33},{36},{31},{36},{27},{17},{17},{22},{12},{29},{14},{14},{12},{11},{10},{27},{25},{28},{37},{14},{12},{2},{10},{17},{13},{4},{17},{15},{26},{24},{23},{14},{29},{6},{6},{3},{4},{5},{4},{10},{16},{12},{11},{31},{10},{12},{19},{24},{17},{18},{8},{5},{16},{10},{5},{4},{15},{27},{7},{30},{21},{14},{17},{3},{11},{1},{8},{6},{14},{12},{11},{18},{9},{7},{9},{5},{13},{23},{16},{5},{6},{6},{21},{12},{11},{23},{6},{4},{6},{124},{11},{11},{33},{11},{71},{29},{39},{7},{15},{13},{593},{137},{99},{536},{106},{16},{14},{23},{65},{46},{11},{59},{56},{55},{55},{203},{97},{45},{128},{858}}; + #if (CYTHON_COMPRESS_STRINGS) == 2 /* compression: bz2 (4477 bytes) */ +const char* const cstring = "BZh91AY&SY+b\303\360\000\002\371\177\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300@@@@@@@@@@@@\000@\000`\021\237{\336\327\261\343\216\204\233z\350\355\242\331\3245=z\003\336V\275\200\001*P\034\2124\003\332\000\024\360\006\204$4\023&I\342\014L\224\374\215\031\24224L\223\331F\323@\223L\321\244\303\010\03256\206)\215\t\3513\320\230\246\236\240\321\000\t\2112\230\201=4\247\211\352a#\324m&\214\201\246@\0322d\r\0321\003 \000\323jh\001\246@\032h\023D\232I\355P\32242\000\032\000\000h\320h\320\000\000\001\352\006\232\003@\000\000h\002MI(\332M2\233%\036\240h\r144d\003F\232\000\006\004h`\206\010\304\003\365#@\304\003M44A\246&\004\030\000\232i\246\230\000\214\004bd\300&\000\0020\214\000\0020\002d\311\204\304\t\022\010\004\004i\246\200\215=S!\351\241\023M2d\032h\320\003L\200\r\000\000\000\000\000\000\377\310\022\313_5\36238\312\216\214(trET\332\207\256P\277\3420Gm\2441 \262gy*\355XP\210\325T%\337\217\327\324\352O\353\253?\327\255\376\\X\272[\224\005\221\303\207P\326v\231\000\274\277\370\3532\210\304\225#\360\345z>\226\347\273\310\370\267>\376\3243\273wJN\224\245(\312BR\260tS\356u,\035\177\226\237U;\024\374\377^\306\230\321\317\311\202\333m\024\266\332\345\307\227.\\\271\265z\347^\010\210\251\021\"\310\250\310\240\304\003\006\014\201\231\201\334\371\347\327\373\277\263\354\357\355\367x9\035\010<=\357|c\270@\026\236W7\273\267QY\223\007\2734\236\266\333os\000(?\334\256z]p\026\265\263 }8\277\313p\201\002\352]]\007\002\342\361\266\333zY\200\330\033\0061V\013\024F\n\"\n\252\2621\021\212\n\0101`\241\252\031&\225k\311\250\227yY7A\245\016w\361\271\346\363\361K\311x\013\r`\243\010k\240MF\013\024Y\242(\322?\207\242\266\260d3AWf\232\024\367\345\362\013t\330\204TUmL\210\023@\\\260hm*<\t\333\025\241\211mub\205\306QJ7\314\216\207\361\252\344NU\224\245\023c\037-\"\272L\025\341\202.k<\301g\314b\301\330VCf\231\3120S\010\006V \314G\232\270\231\300\n\305|\366\210\013\033m\024:\001\200\022b\365\2048A\000\202\314\000\230\250>\362\274_|\256\31674s\254}\311\235(0H\002d\014""\244m2Q\014\t&[h\236\t\332+\352\010@\340\340$\243\243\254,\r0\200\373@\347\270\355\021\026\241\t\023K\340\360\202i\312\262\024\032?n\\\3263=\027\350\260\306\354%s\3347\317\023\241\264wM\350b\215|\210\240X\267A\006\246w\025\000\247\301T\3041z\374<\274\rm6\002\r\3578#\204O,\320@\t\327\002$\022j\014BQ\255\302\222\276=^d\003\370~\324\337\267+\005,\333x \267\255\226\024\272A*p\324a\r\246\3474H\250\010^:3\275\367t\257\305\200b\355\213E\242\320\255\334V\370\223\034:O\250&#%\257Lu}\271\013\332\3204b\033\2404\207\357\235\260*S\006\335\007\002\017\345\346\353v\374g\006\035\331\250b\0279\2039\313\260\240\333\234L\"\305\272~\262\027\227qG\226,\217\243\3701?\250\025_>\275{yu\2343$\211\016_\001\353\317\351\226\\'\r\343\t\205\030\356@\234Pg@hT\317v\322\235\251\336:\224\321\264\365\0079\213j\320s\374(Bv\370.\346a\354\241\227;\000\263B\270\273[\373\356\"@-\331\010\237i\365\025(\003!>\320\302 \265(T\231\225\357!+\002\213\327\246\035GF\215\342 |\342\215\353,f1\347s5\342\360\236{z\002Y}(\014\325\276\263K?\272\017FWp\306\2305~\004D\312D$n1\315GMaF\353x\351{\234}>W\225\031r4\323\313\241\tP-\001\311\"P\244\220\2607\350\204\316a\312\031\013=\002 V)b\200z\002V\200\252*\252j\013\254\025\\\345\010R.:M\t\030\327k\250W\217\250B\002D\315\356j\267l'!\250n\265\014\361\252\331)\204Q\004\001\231\220\235\371l'\234,\016\352\271\354\214Q\211\033Q\275dSX3\240\\\220\232\005\335\273\2622\234\350;\230]\366\367]\310\322FZZ\211{\234a\225\233<8\331\256\2554\031[\010\352\344\027bN\362\204\203*\013\316\321\204\032\342\367MD:\250\220\314\372\252\204B\244\324\222\211X\206\245qe\022\266l\007\302\002\220\270\314\027g\032j$\276\3149\270\314\005\312\220\023z\210:\366\335\223\021\246\341\343 \310\004\200BA\267tc\301D\260u.\\\021M\016\3256d\307\n\020g\266&\255v_f\212\026I\0266\366\363\t\222\tQ\222\232\302\260p\241\362|\340M\311\336\313,\000\324\362\245rt\203\323\333\332\357y\234\345\271\261\206\307\234\267:\r\005`9\233l\212\006\235\t\013\227\373\306\272B#\273\335\265\345\035#\016B\305&%\311\226\221\350!\216\t\220b\023;&g\301P\352\264i\352\336\261X\202\035\306\206MlS&\204\r\367X\321\355p\310b{\207\205\016:xt\026\230\265\2128U\275\2400\231%Z\201\307\201\0049\241\351\324\205\351\274wN\241V\353\025Q\\2Q\264\302\014WB\335\007HajU\204u\037BT\210\222\302F\226\004\032\252GG\215i\361\002\3064~P6z6\212\274\330\022I\261T\311rHG\233>\316\350\214XG\201\364\242\302\201l(J+!\2273\rW\2646\321p!\216\213]\352v\2620\200\273\306\306Ci\360\004]\225\322\331\334$u\341t\215\027j\372H\231&\230\307O.X\326\002YTi\211\232\315\r9gl""\035GH@v\364x+e\207\217\230\211\266\004\3302`mp\3451n\224\022D2)E\023\234\242J\204\370\246\202\03481\212\343\3368!\272\242u\326$a\345\301\306\354\\6\333j'\215\351 \227>\252X[\240\3318\306\003\014\303B\"\030i2\272\215\206\220\023(4\262\214\3405\223\233g\016\324\364\025[\030\233t\222\372\335q\000\203N{I\250\203\001\241$\201\302P\271\322\240(*\235\212\252\203MN\3060\262(\205\264\022H$\220\331;d.\266\030\021\300\3062\312qB\203\206V\016\352\371\270pL\200@\240\023\274z\232\245H\252HN\361\024\004\020\204\305\001D`R\223\251(\340 \322-\303\266c\255\326\"\302TKT>$\030m\211\010S%\221\343d:\036\0057\335\243\004\322\370\337\235\3254\013\006W+\"\2124H`I\301,@\235\327H\342J\254J\307'\025\005\337\023\200\030\0225`.\315\364c\226\201\213\003\313\353K&x!\354\256\315.\032\3011\213\024\212\250\2705\320\2542\342\214M1d\300\030L\222@\324\275I\243\027\350\260\350f\246CE\314\223^}l\335\341\352\354\356z\277o?\265\276\355\263\263\223\307\206\315;4\327\235\321#Y\023\021S\004\202\006\032\241M\266_\034\022^\257\027\372\347G+\026V\345h|\336\275K\341\365\365rk\341i\365D0&\373^\304\345\307\267@\331\234\217-\233\234\233,\300\014\356\317\026\232\254:xlr3\214]\263\315\340<\341\036\242\363\374\263\243\224\340\006\327s\004\264=\233\242(\212\203\033m\010\244\210o\333\240`-\310\352\215Gkxu\370\014\345)\206\003V\266\332\237wx\257a4\326\353dt\230\335\231\266\237\262\266\303\327\006\202\326\255\010\205`\213\363d\203T8\224BpL0\322x\347\316\341\247~\237+\264\023i\215\027\306`\r\215\260[\221f}\213\202E7\332\312\312P\311\031H/a]\372i\346\275\205\366p\354\332\255\230X\222\250P\037\223\277\240\026}\373~\003\3645\347f\204\306\362f\3240\222Cg\033\211w\003U\332k\220\316$;\244\023\222\222b\"\341]Y\034e|\216\024\236\251\364r\204\2479\320\230\333&\026\016RC \206S\024[w\241\340\203&\251\224C\\w\345\235\005\343=\356\245`S\304\210E\325\026vc\006q\204\213\025\037\036\004\253\010\325q\277DV\374\021\200C\013\230'C\241\337 2\221k\021\306\321\024\036|@\314#n\336L\255\033\264\315\023\317\211%\241iB\202\214drU!\216\350T\253U\261""\346s6L\020\n\303\272\261VDQK\357.\222\350\211-tIp\201\336$4\271\206\026\222\217\002\023A\r$3\325\270 $0\006]w\005\270P\300\032,\301\222\250\226\026\030*\245%\351R\320iQ%\250\250\202\033`O\343O\203\305\341\357t\006\270\025\355)'\313\020\343\2678\351\232\n8#\2104\212P\221\326\312S\326\021bK\235q\335\261\244d\335\307h\026\304z1q\265\260f\037\016\031`\3103Hj\t\246\332!\240yfk^\223D\001\212\216y\302\335z\223\023\305\253\231\346k\312Q\255\302\027\250\362\031\301[\256\312\335\027\215\326P\265\213\2479{\270\256\253g?Kw\247\277\277\2178\233\355\034dBc$\236/\035\331\324\036s;f\240\330\016\200s\337#\016\020\306V7in7\216}\202\3564N\352\347X\332c_(\227%!\013\2740+\205\366\213L8\351h\253\224RZ$\347!3)\276h\232\t\344\325\331\255\215\225\021L\322\2647\370\227\213\225r\223% \217i\347S\330\t\267\022\213\030\351X*\254\nVp\347q\330^\013\001\261\255\251/\033\270\203\314D\204\346\034\357\222\307\256{\320\007*\002F\320h\310\303\267\" \265\034\230oR\312\336\005r\352,Z\306\032\276\034\217 \366\221\0031y\213\354:\202\\\2630)d\313\270K\200%<\206\305\365\231\273\216\003\003\376\337\323\036\314\305\221v\024\231\274\356\241\005,\031\264\035I\004\300\250\356\240\344(Ru\261\220\0271[\253\223\217\202\354\311\273/\300\341Xf\244\354\241\211\216\304jr\304\256iM\023E\034g\311\255\304\363\303v\022G\221\246\262\263\036]Et\255\000_\026\027\032Q\245\220B\231\247T\260\256\202V7\20334>h\234\204_g\014\254k`*\357\034\010Z\264\212\204\\kk\253\006\325A\213clX\001\253\327\033\033\241\027c\350KP\302\r\261\226\266n\330\021\326\3556\267\027D\221\270\313UEYF\344J\033N\342\351\025\031WG\027\020I3\010\277\323\331M\205\002\341\005\223Fpv\312\024\220qJ\222/ DVVO9\016\352\251R\342\023\034\2115\271+\263\340\204Rw\222\367M!l\024h\016+L\323_\216\214S \250\230\350\303\026\324\240\263\034\316Hx\206(\364\236f\216\313\010^\246\204as\022\276\322\242T\025\214\010\331I\240\340b|7\001\254S\236\2106S\225\205/Zq\207\344\035\363\2249\214\277\3366\030\245\202 \343\243\3524\"\024\022V\226*\325\232%\351\003Wpu\240m\232S0A\000L\036\276""\257\037nl\240\332\263\312\313H\002\260\231\344q\035\206m\376\265\300\261.\271\222HQ\314\030\262B\031';\300\274\362\216]X\236\027\327\206\027\236OO'\004>\244=\3724\036I\247\304#\320\321\353\276\316\370\265m\204\210^\2601\266\304\020\325\375\353-\356\366si>'(2a$q9\225\203\245P\243\221F\201\0336\365\027\245\236\205\0207\325\276^{$\200\314(\005\277\220\360\353\352~7WOO$o+\272Az\240Kl\346\261\202Cj\230\3336z\323\366\355\025$X\234\264V\302\274,\370\2746:w\250Cp\214\201\031\201\322'z\207A\224\311Gn2nC\367\004\037C\351\235\001\233\366\n\002>\031\245\256tl\303\2105\222\2637\200\326\374\247\n\202\001\335\001D>f\022\330\010\010(\342\346m\200\271`-\006\330\343\274\250|<&w\337\312\271V\007K5\024\2605F\032\001\357E\365B\370\257\317\271\300\256i\263I\245n\372P`\000a\002{&\001\242>\210\320\301\357\201\363\023x\214s!l!\350$\351\350=\023\326\243\365W\034\370X\200'\375\211A_u5^\217#\233\343\356\363:\225\272f\007|\3055Y\345\361\017c\232zE\347SGa\204C\227\203\211C\027>\247\373\353\252\237\034d\251T)\243\"\034\033\357\274X\363\373\313O\313\027\247\3229\231S\253\225\366\351\"\025\217\033&\262\2537dU\002\235M6(\210!\3741\361j\030\357\2134\346\207\346\345\255%\025M\026Y\016\013h1T\372\252\322X.Z\002\363\004\304\360fw\305\372g\316T\276\330\372\347\364 \301\334\264\2400\355h*}w\370h\020\364\017\216\206\254\361c\022\235\025Y\266\227\000\203Nsb9\310j\242\014\r\215\215j!X\033\3604;\326GE\252J\371(\"\375\314\031\276O\r\\\376\020C \245\217\007\227#\345\333\316\030\265q\353(\342T\221K\030T\0040\341P\276\n\242\034\345\204cc\006\271V\345l\020C\025\373[\242L\275]\320%\312:B\306\254\220B\006\3251\267\034y\205\366U\347DpCs\243\\\032J\215K\3661\251\024\242\247gc\301\031\014*\266\216\230\021\277\215\276\316\264r\322C_z\320\273@{I\255\271>6\024X\361\374`F\272\374V\366\240\373/\315\225\007\270\366\302\266h\353x\331\324\370&|\376%\0050\217\234o\246\357\216\220\334O\207\276H\263c\334\360\003\311JK4\017\253\236q\013v\364\017]\212\233\"\365\325!\344\353\307\362=\332\313\323\313\356\371\273XU\236\307\036\347""\322\255\201\261\253\343\256\363(B\355\226f~\267,.\301\362s\345\333\205\265\003g\214p\360\317y+\271a^{\362B\006\213jI\2600\315\244g\"\335\032z\265\020&\263T\245\026\235\305 \212\361\270Y\322`\351\210\345\361z\024\035\275\255\200\252`\033B\201\264\355\206\337\315\204\227c\363K\213$\266\261\034&oB\213\263\013\341\331\216\325\325(\360\274\272X\337|\255\033\333Q)I\027\364\304\366k\003b\021E{\rjE1Q\005\355\343\203\332\352\330=""\240\254}\373)j\0214\021\321\223\360\233\204\303s\252\036\227\324Yt\307\0245\336\350\252L\215\371\271\305\245H\230\264q\035\232\233\217\2422\203\223d)B\346\"\341P,\034\371e\365\327\345\205\371\3050\034\376\225,\207bo\242\004$\"\257B\3210\231YZ\214\205`/\202\211\246\021\237\313\033\263\341\265Y2\277\274\021{\003X\361L\370]\254>\213\256F\227\303\213\263\313\033$\022\216\256\376\032\346\203\330jd\021\006\334\230\000W\027\327\347\201\002Y.\354\222\031\024\214LM\337\237\222\037\022\362`\372\017\375\230\350qLM\204\250\313\020\320\240\025j%\210\245\303\0352\225\000\345\220`\020\003\334\310q_&\223\220\016\306\237\253:\244\r\363\305x\336\2202\377\3774\037\031\324\332\221\324\243\311>N>z\374\340\177B\026kG\335\374d\032\266\304\360h\312O\246'\037L\376/(?i\027\370\317\250\306\357O\335\237N\376\367T\247\320\341\017#\263\\\340\321\273Hw\255\010MFB\363\020\226\334\343\310Zha5\034%\263\3633\261X$4\023&\313\221\245\345p$\266!\202\\|1\240Z\243\203\201\271o\357@X\222\230Q\020\325xF\327,\tX4\226\342\277\035\276zH\212<\352\334\001:\261\\F\245\253\032\224j\031JE\263\376C\035\254\267\014\r\240*\351\270N@K\333X}\240Z\245\341\n\014\025\021\273\220\357\222:TQ\"z\016S\312d\324\002\301\032c\342\027\372\001\311H\301\257)\231\005-\241\350P\357\014(\223\300\231\031\227\260R\245)!P\237\201=4@k\3246T4\220\243s\036\007r\333\004DIH\271\324\226EZ\225\272\271\003\336r\364\236\t(\217:\220\321\025\3152\t\301\366@|\023X\317\306\271\373$\266\024UF\217\332\221\014E\022\347\260I\001\355\327\007\220M\025\213\246q\2129U\321D\221\214K\211\355DZ&I\320\254n\024phZ\024\305\261\364\346\004Z:#\241s\005\242n`\2108L\200b*\363?tn\302\007\300\022\262&&h\013`\027\232\227\204\256\252\350\375\226Q\250\013\3077\353\313((61@$\2213@\026\253n>\336~4J\034\2211\014\004\200\216\243\336t\324\311\202@\030k\262N\362\022\024<3gf\250&wL\341\256\236\200\017\326\301:\205}\023\321\250\354\303\010\267\340\327\304n\212P\315\314\031\264=\264a\t<\nA.\315\373N\272\203+\3701Q\314\206\031y\243\323hv\340\370.\326d\272\2331\250i\302v\222\240-""\222-\227Jr\036\222\244!\243\006\261/\n\242\222$i\311Jl%\t\230\326\202\031\256jP&E\336H\202\017\325c\010\365L,)\325\276\224\304\272\315y\260\204!\021\266\271XR\201sh_K2pf\230\202\254\270\207\037\242\033`\216\214\265\2254(\336\326!\342\344\366D-\314O\032\375V\033v\3561\373\t\202gb\251\227\342&\311H\240a\330P\305\010\030&\030\220\204\343F\226\377\263\203\310#\236\334GC\370 \021\202C\327\302\227T\223\363\223\004\201P\331\270\326<@\370l\277\037\343\022\364\352\002as\260\277K\341+h\010\"|\000\347f\032t\331\212\254F\230\266\361\333v\231+\024\006b\035G\"M\222\024\357\177\210\034O5\206\320x+\311\0021\267\225L\2066C\367Ov1o\ngh7LB\327D\376<\270\325r\322\372^\323\247\267$S\0344q\324\231\270\332q\000]\250\214q~\254E\t,\251\346R\212\326y\307l\333\342\332\025\253\\\343\215v\266\255>\037,\325\212I$\025J\005\300V\216\026\nU0\\y\225@V\352\211\037\306\262\316A{\231 \365W\013,\253z\212\013\002C\361l\221%x\353j\215\014\002\313&\274\3452\374l}\255\301\000f\221\355F\340\301|_t\n\251\371j^A\275\320\264\271\235\307\342\204\261\315\205o\374u\304icI\010\314#\226f\270\343\245\241\310\022\322\370n\203\310:I\203\001\245\024MK\273\260F\3411)\312C\232\237\341o2\322Hj\255\334\226\266\024\364@Q\020\361+[X\242aL\363\344(\367\212S\360\003\223\007\204\320\242)8\004\214`N\320;?\010\305\005^\227\3468\217_\275\2513\241\031a\371\214\016\025\027<\017\337\265\004{$9\216.\204\t1\243\233@Q\030\"\236\343>\331>\031\257\317Li\007\216\t\361\314\375'\304\244\303Xu\313\352(Z\375\021\311W\320\370|\000\252\331\246\205:r\014\312\306PHT\357\375\352\240\2351y\037]\271\335\216G\034(X\242\252\202{\252G\234\201@\302\207\376Q(\270\000\\[X,\016?\303\261\327\307\020\000\355R\313\"\025\266\2378L]2\341\217\374?\356{\033\273P\212\260\210\303K\235`C\260m\346\322b\006\371%\247Zb\\\317v8\344y\230\217\200\206\222\330\006~\332\337\210\035[\255.\266cc\377\213\276c\357\360\346\226\037\332\261x\345\205\237lNRE\030\030\264\331\341\222\203\275nc\201\356\3621\024\310\224bb&\301\206\r\013\274A\2639\305\300\330\347\305\241c\332\346\027\235;""\350c\370_%\320\024m\264F\365:\203\245\311\020\365\272\211\326\312\031\232x\245\201y\320D\334J&Uy\201\026\247\314\216J\305[\362z\264\343\250\3361qz\334\227\260N\212$\212\025\027\343R`\2016E\342\346k\266\364\344\220\366\336\334\322s\252\314\363$\321\333R~}]\220\330\322u\310\376z\236\010\021\240R\2529H]\031\0252\343\256%z\022.h\313\311\304\"vg\234\036\342\3474\332O\010\222\207d\336\206\214\365\346P\267\266\300X\365wCc1\243\253J\242\320\230\241a\200\010\225\301\325\333\274\035\244G\332\244a\232F\240\360\027K\243J`\375j\214\321\025\017\230\261\371_Rb\211\303\215\374.\264\323j\332\211\030o\357od\301\343:\272k\223\377+S\374C2\227\221A?\342\333`\273nzL\330\r\203\341\270\336\324\035|\222p\244\302(\370:\315\033`\027c\271\260\304\037\266\201\3337[\303\273\001\360\342@=\244\241F43\321\255.\334\270y\344.\372[\333c\256M_]\222\326\024\265\021\017\337\272\253\376;^\320{]\034\305\341T1T\\+\005\277u\177\377[W\357 ;u\225]}X\\\251\372\217\263\343\027\234!\347\216\273\341\245\212\353\245\020\236\275\355\215z\217\212C\337B\325\376\201\2759\373\241\323\357\372\335yo\243(U\007N\355\355\330\353N\330\035qc\336\271bo1V:SJ\225W\252\203\303\366c\347\232\263\346N\271y/Q\034\252\216\\r\202\325\376A\273\233\243a\003\177wV\020\335[\373\213\033\374\376C\327\361K\354\"0\000\233'\317\332\034\357W'\346\016\271\327\335\337\212\276\342T1[\035\274\342\310\356(\340\373,X9\265\227\375\026\252!\260\273\355\263\366\377\271\241\366i\226u]d\027\357\261{\341\362\312\367\201\256\336\376o\371=\305\316:}\316W/Z\354\256\365\037\377\336\337\325{\222\r\004\\\220\260\357\333\316^\324\356\256\366\037\257\371\373X\337\005g\330\001\n\227\035@8\260\027\266/8\267\335\020\362\224\267%\333d\027\357\027\273\253\203C\325\201\223\325\301\037\201\245 H\313\206\257\271\223\256T\0339S\035\036\341\233\247\366~gW\306=\271\370cq\246\370{9\315\242klm\275:x\035P\r\016\325\374 f\315\337[\355?\311N\336\362\206\2750\013\306Xl\235\255\177d\037?}?\326\325{\335}\350u\003;\337\262\325\376K\316cw\014\364\333S\034+\235+\003\367\247\330\251Q""\320\316=/_L\225\336\201\276\367\257|\254\014\325\372O\354\005\253\003W\235\274\233\362V\252\003\300\341O\356\212\233.>.\215\225/WVj\373W\316W\206\0169\343\037\262\317\2005\200\t\013\220\001\306\207\240\244\001p\220\332\300m\357'/[\035\030d\203cl\354Uy\014\356\203\315\203\325\021\340\242:r\006\031\377\227}\315^\251\325\231\277X|\000\3764W\016v0\377\241\322)\316z9\204\244\246\366\262\240\206\223#\355<\235\253t\037\224\024N\035\037\354@y\360T\365\020\"\177\262\202Z\364\237\330{\006FG\357\352F\217\371a/\306\206\256\271Sl\354\347\222\305fV\331\352\006\333\210\263x\222%s,W`\205\317U?\006I\320~\355\334u%\341Z\353v\330\031A\177?m\217V\373\317\331\331\032|,v\351\2567W|X\362\225\246J\273\345|\205\037\316r\036\356xS^\266\330W\374\027\352\265\266\177e\264\311\210=\364\027h\335\363\326\213\241\026\205\307E\253\024\004s<\253\244\330\352Zm\377\222\324&\353On\214\335\342\262\202\373\276g\357\rf\354|\357\352\312w\377\322\003\340\227\236E\004\213=\032\002\255\307@`\364\274\364\001x\351\233E0\353[D\260\350\213 \210\370>!\370\344\223\020H\276\257\010\276\372^\371\001\274\362\277C\360\316\377\021\301G\377.\202]\377\027\004_\374\037z\001|\350%\010H\357\016\202\235\336\317\010>\367n\034\003\260q\354\023\202O\307,\004\326\261]\004\273\307V\372\000\254\364\255\"X\355\213#\210\367%\021$\373R}\177A\203\343\220\021WK\327J1\026z\307\336\021Fd&\247Xj\0330\251\335oQ\360\267=\021\004\221\236u\004\353=\357\021\274\357\331D\260\331\263\215`\273\241\242<\202|\317g\004\237{\276\"\370\3323\207\332\230k(,\212 \352[C\260\346{\217\340\275OF \373\266\021l\3732\0102>\023\201\351\313#\310\373\026Pa\013\376(\202hC\247\037\020|\360\023\004\304_@P\360\277D\365\275\354\r\365\266\034\343\236\027+\016A\232\271T\236\253\210Xm\255\264b\300\376;$\343\273\220\334F\377\202\002\357x\217\361|\203\022\346\306Q\010\353;\345\365J\250\266\177e\005(A\326>V\365_p.\2707\274n\326u\336\341\304\007\366~vFE\331:\207\251\351\004;\001y\332\371\344\335(vc\261\272\351u{g\275\3547H\235W\235,\013\334/\236(=+o\263\225H\325\017\371\355""\226w\036\204\341\\|\201\n\005\374=)u\263\351\010\213\374\223\375\023\321\355\005\017\277j\377\303\355\007\324Cm7'\274,\273\377\262\374C\345\017\357=u\336A\376\222\332\356\335\365B\336\247\3228d\251?\270\366\334\331u\263^w\333\265qO\362~/i\225\020\277\306\272\240\364\210\312\226\305\\\377\330\276\345\004\2359\367Eq\030\342|`\330~\346H\220\3735>i\317\241\227*\241\203\231\276c\005\363\354\237\255\034\274%j\010(\252\333=\347a\211\255\016@\r\006ik\010\261\213@\373Ca\374\342L:\022\026\301\376a{\332\t\261.0ZS\224\263v\n}\007\013@\336V\234\254\213\204A\035Y\367$\3261,/\003\027\235\3216\364X&.\t\002\320\2464\t\324\232\004\204\273\014\333c\316\220\250eBY\274\211\370\002\203_\301\254\375\274!\201\242\014\207\257t\365\236a#7\275fg\320kG\235^\334\207\366\242\346\277\306\256=*J\305\235\322\n\356\177\265Wx\005\302\035(\347C\320-\334\204\266Er\263Un\026\250\201(\000\224O\340\026\333\256\326q\360]\260\274\333\307\306\236\260'o*\307x.\006\372\227\017\351L8\3453\354\314\203\342u\240\235\305\235\337\033\232z\341\\v\243^\257\267\302\013\246\035\374~\032\342\204\307E\325\177\332\276\341\370q\360\303^\322\236\205\030:\337\325{\326\376\010Z\204\255\273`\006DzSx\366\031{\023\232\031X\037w{]\250\376\247\355\tq\356\216\203\250!\034\373o\260\0333\345`\031\342\025FK\225,[\306s\3544o\002F\313x\233\235\236d\223\213\025\251\002\014\017\354\001\345\2636e\227 X\020\305eg\212]\275\317\356\277\255\004+\263p\271\212:\033\261\227\334\240\033B7~d\017\333!\321\376}\360|\036\264V\347\235\343P\221'\212\247\213\301\032L\2707`\013\352s\237z\233\245\207\345\343X!G \345\\\201x\351\363\262\330y|\266\317\301\301\376\263\354,8\005\207\367\300w\372\321UUpAT&2\323\317\372\316\263\363<-Aj9>\2607\305N\005X\340\001$\241\247\245\315JP\264\267Q@\005\255\315\013\367\2227\003-\317\310eg\036\360\350\305H1[\033A\0357\031\nrG\017\242\017\336\362\206\274\273\330 \203\345k-+\242\255.\2713\340\033\003#\366\274\263\342\350^\004X\206\tw\306\234\375\306\231q\262\\\243\367\213\275\354\341\233Jw\345\034[\336d\233PwMD\224\003\215""\n\201V\331\003hn\313\251\312&\373\2403=#\260w\320F_;\307\305G\201/\200\027\177\364F\274\025O+\201a~t\177bc\213\025\231E\242,*1)\216a\"\202\220\235\235,\006\033\232\343](jh\324\205\260\346\315\373\232\373\314Kbn\201\264}\3251\335\321\352 h\227\335\230.\r\325\204\336\257C\272\312r\014\023\302(\234\363\013\316\031\3609\350\t_\260[OK\243\245`\275OE\331\241/\276\347m\262g\242O\276\302\256\274\200\247D\024\022O\333\27060\346~e\017\301\275x\364?)\365\225\314\362\350\201\361\323\322\255\362d\031\032l\354\346\356z\"A\377\033l\307\313\033"; - PyObject *data = __Pyx_DecompressString(cstring, 4338, 1); + #elif (CYTHON_COMPRESS_STRINGS) != 0 /* compression: zlib (4407 bytes) */ +const char* const cstring = "x\332\2658I[\023\331\332\014A\340\212-(\316^\r\255-\216`\004\007\324k\033!\"-\315\220\004\021\247s+\251\223PM\245*\251\252\020\342\365\263]\262\254e-kY\313,\263\3142\313\263\3142?\301\237p\337\367\234\312@\200\356\333\317\275\037\017\324{\306w\236\016\241\277\005\341\347\025U\263\324\010&U\3114\203\226\0364hF\337\246A)(\3473\231b\320\3324\250$\007S\206\236\361\307\212\226\236 R\322R\340\224\256\005\t\221\251J\310\004G\366\376\323\225\2177\257L\334|\276\220\326t\203Fv\2224k)\272\266\244ktI\267\000\003\r\232R\206\006ik\307\242\260,Y\301\331\242\265\t\370\0243\010\010\225\0045$\213\252\305\240i\031J\322\002\016\341\220\026\\\211\254\334\231~4\035\2244\0318\375\215&-3h\346\023\234{j\006\365T0\221WTK\321\202V1K\315\211\340B*X\324\363A\215R\031\245\313\242\224m\027\200!-hR\301\331\270\244i\272%![\004\256\203\240\343AY1\250\220\025n\277\224T\223N,s\306%\365}B\327\325\2171K\317\006\025\315Td\032T\262B\206\244\244\252\\\037q)-\204\003\251$\313\222\222\233\202\215\246\370\300\214\036,P\270\001\267\364LV2(g\005\020Z\222\226\244\301\202\002\030\363\026\330\003\024\241ki\220:E\r\n[\234@\214\302Y\323\314\323\340\246ee\315\307\223\223i\270\220OL\000\262\311\214\2224tSOY\2232M\344\323\331\342$?jN\206fff\370\365\340\330?\202\023?K\262L@p*+\246\224P)\325\360\373\024L\376\031\224c\344\265l\361Y:\251\230b]~\232\321\345\274J\237Md\213I\222-\312t\233\320\035\232L)*\205%\276 \303@l\311\304,\232$\243k\212\245\033\240\320\311\203\227I\222+\016\256\355\370\373\226!\201\212\014\035|\323*r\274x\340N*\257%Qo\376TU4\372\024=DK\233z\336H\322g\341\305\305\260V$\263\272L\027asAK\351{&\023\204\030T\316'\251O\222\220\316m\360\006\320\275\325:\200\373q\360\246\271\310\213\265\371\371H\224,\314\361!\211\305\303\321x\333\220\254lL\275\236[\210\205_,F\310\034U\251E\3470\210\342\336\257\255\216\335}\312\332""\263\237\246\026A\023\021=\005\277)8<\257\352\tI\235CwLS\343\225\256\312\324X\230_Z\216FH\033\327\341\371\205\030*34E\226\243d>\032\t\307#\321_\326~]Y\\X\212\300\341_\311J8\376*F@\"\362\"\034\213\220\331\345\245x\030\366\242\230h\032\361\271\2621\027y3G\026V6\342\257\000+\236\211\274\215\373\263\330Zl%\2624\267\262A\242\221\330\332\257\021>\210\257E\227`\300\215\tpmi}\001(\220\225\342\016\231E\301\310\364\314\335i\371>!\367f\376\320\217\211\236\300\324D\210\272\002\001\rZ\241V\222X:\334!\323IP\016\t\2050\300\215<\367e2\005\351`\342\251\252C\3320\237M\024\014)\373\377O\363\201A\255mI=\234\354\303\324\203\207\367\376'd\261v\370\346'3\260%\206\207S~43uo\352\177A\371Q\273\300\177F5qw\372\356L\352\277\247:\215\016\177\020\231\225\"\217\336%\272cEi*\032^\200\260\344\036G\336\204\027\327\"12\2670\033\217G\303\263\021\262\022]^\211D\343\033\"\310\305\027\003\2525\332\037\230{\366\366\205%\211\033EQ\215gu\315\222\200Ec9\361\333\301\253\007\244\310\303\316\355\243\023\317gU\272\246A\251\226\241T4\353?\324A\277eh\000U\311$t\002Z\332\302\352\003\325*\003W`\250\210\330\205|\227\322\241\212\022\321s\230R6\253\026\t\326\030\023\277\320\017HF\032~M\311,jIE\207zg@\231\004\316\314\204\204\225*C\t\201\372\014\354\241\001Z\243\266\241\242\201\034\235\363\004\220\333\" JR\312\2477-\322\252\324\315\035\360\226\303\367L@y\330\201\254\256h\226I\010\266\007\342\233\304z6\301\335'\271\251\2502z\324\266d(\2228\207M\nh\337\037@6U,\232\301)\346TE\023E2!%\267\222\031\231\244@\263\272Q\304\241iQ\024\307\322\233\023h\351\214\244\316\025\210\272\201!\3420\001\212\251\314\377\320\271\t\037\000K\310\232\230\240-\200]h^\222\272\252\242\367[F\321\027\216o\372\313((61@$\2317@\026\3137\037o?\032%\216\310\030\006\002@\307\3417\035>Y\020\010cM\326IA\202\202g\346\315,\325\344\216)\334\325\223\360\301:\350S\3303\021\215\312\036\214p\013~M\354\246\010\325\314\274A\333C\033\226\300\243\020\3443\274\357\244\333\270\202\037\023\305l\230\2217:\215f\007\216\357`M\246;Y\203\232&l\247\010\332\"\325r\251\024\347!E""\0322j\020\373\242 *)\222\221\254\344f\212\200i-\230\341\252\006eR\344\215\024\370\220\037C\250gbI\351\366\245\024\326m\316\203%\014\211\260\315\305R\n\234C\373Z\222\2013\303\024d\305=\374\020\335\000sd\255\315\224A\361\266\016\021'\267'ja~\322\350\267\332\260s\217\331K\020<\023K\275\2240IV\002\r\303\206*F\3000\301\200$\0347\262\374\237\035D\036\361\344\036\032\302\007\211\020\034\272\026\276\244\232\234\237\024\010\204\312\306\265\346\001\302g{\375\030\227\240W\027\010\233\203\275]\n_AC\020\341\003873\240\313Vd5\302\264\215\337\266\313\\\2410\020\3538\022i\222\244y\377C\344D\2721\204\306[I\025\211\271\245d\263\264\031\272\177\262\213yS8C\273a\222\272&\362\347\376\255\226\223\372{M\237\336\224Lq\320\304Qg\342j\307\001t\2412&\370\261\026%\260\244\232O+Z\347\035\263m\213kW\254r\2157\332\331\266\372\274\277T+&\221T(\025\000[9Z(T\301p\345U\002Y\361\023?\214e\235\203\3662A\374W\013,\253z\232\013\002C\361l\221%x\353j\215\014\002\313&\274\345\262\374\254\277\326`\000\263\310V#\360`\276':\205\324|\265\240\240^h\306\334*`q\302\330\346\3027\376:\342\264\261$\004\346\021K\263\334\3612Pd\ti|\267@d\235d\300\200R\232f\244\035X\243\360\230\024\345!\303\317\3607\031i$\265Vn\313X\nz\240(\210\370\225-,\3210\246\005r\230{%(\370\201\311\003Bh\321\024\034\002F0'\350\235\037\204\342\002\257Ks\202\307\257\336\324\231\320\214\260|V\207\212\013\236\207\357Z\202=\222\234@\027\302\204\230\325M\240(\014\221\310s\237l\237L\3703S\332\206cBl\013\006X\315X).\3637q\360\346\365\326\360v\020\002 \350g\003(/\315$v\243\0137\256\037\272\213\336\330\366\016l\323W\227\2445Em\204\322\267\356Z\340\226\027\362^\226\306p8]\n\227\336\224C\337\272\277\377\255\253o\230\035\277\314.\337/\255\326\002\203l\360\2343\342\334r7\274ti\275\034\306\2637\2751\357Ai\344[\27060\264;o\337w\006\334\200\273\340m\224\244\332\320\361\335m{\335\211\270\243n\334;S\352+\305\313\247\312\351\312jm\370\244\375\320\271\342\274q\247\335\202\227,\215\324F/8\241\332\300\260\335\315\321\260\241\277;\253\210\356\265\375\305\r}\377\241k\360\002;\017\014\300\346\261\3236\307\373\325\211\273#\356U\367\267Roi\272\224\253\r_rdw\014\360}\026\254\034\337\315}\013\327\021\330\335\366i\373\377\334p\3734\307\272\316\263\363w\330\235He\365\373PW\337\300\267\302\256b\347\234~\347\253\027+u\327\007\006\277\017t\365\035cCA\027$\354\377\266\275\033\263\273k\003\203\365@?\353?\347\234t\200\302E\007\020\016\355F\354s\316M7\214<\025l\3116\331\371\273\245\356\332\360Hm\350Xm\370G`)\004\322\262\223W\334)W\252\217\236\252\235\034\345\233\307w\177g\227&<\271\364ci\266\364{%\303bo\330\233\365\332\360U@5pt7T\033\272\354\024\334\264\267Z\033\002\016\177rW\335L\351ay\274r\261\272Z\337\273r\266:r\300\231\300\210}\n\254\001LX\200\0140\336\007%\r\201\203\324\207nz?y\271\332\3200\033\036g\343/*\343p\037l\036\252\215\002\027\265\321S\310\370\277\354+\366j\335g\376|\351\036\370\323|%\324\301\374\373j\2478\353\2250\222\232\336\315\201\032\216\215\266\363t\246\332\275_R858\334\201r\377\251\332\001D\376d\005\265\0308\272\373\004\214\216\336\325\215\036\363\303n\234\215\\q\247\331\370\317e\213\315\256\261\265\r\266\221`\211\024K\345Y\276\310\212\237k\001\014\222\220\375\322\271\355J\302\265\326\355\2103\212\376~\302\036\253\r\234\261su\370X\354\302mo\276t\277\334[\236.\357T\nU~8\307y\270\345M{\271R\177\351_\250\327\372\336\225\261&#\366\310_\240u\307[/\205[\024\036\226\254r\010\314\361\244\232fko\352{\227\2446Y\177r\343\354\006\227\025\334\367\035{g0c\373{WW\241\373\227\036\000\277\364,!X\352\321\020h=\006\002\243\347y/\200\347\275s\010\346z\227\020,\365F\021D{?\"\370\330+!\220z\277\"\370\332\373\"\000\340E\340-\202\267\201\017\010>\004v\020\354\004\276 \370\022x\337\007\340}\037A@\372\266\021l\367}F\360\271o\343\010\200\215#\037\021|i\207E\267\371\336\353\365\240\223;\353\014B\0030Y:Q\n\325a\302\275\001;\336^\367\261\367\251|\2772\210\005y\0242\334%\210\227~/\207\215\316g\373\014\034\304d\001N\301\341\035L\030\350\252*\270 *\023\231\031`\375g\331Y\236\005!\223\r\016\355N\263\343A\026\274\0079\357q\371S5$\272\351\030\240\202N\352\231{\301\233\205\016k\364\242\263\000x\364R\264\224""\253\217\242\216\233\014\205\270\243\207\320\007!\357y\267\261\037\007\313\327[VD[]pg\3017\206F\355\005g\325\321\275(\260\014\023\356\214y\373\2253\353\344\270F\357\226\372\330\375W\325\356\352\031\266\362\211}\2022o\"\242\361R\230[\240J\\vLw\2546\014\332e\327f\312#u\241\367\253\220\256r\034\303\2440\n\347\374\234s\n|\016Z\320g\354\306\343\362X9\344\267\305(;\264\341w\274O\354\211h\313/\261K\317\340\345\022\203\304\3236\256\017\215\273_\331}p/\036\375\217\312\375e\2632\266o\374\270|\2432U\201~\036\233\307\333\236H\320\377\006M\260\nd"; + PyObject *data = __Pyx_DecompressString(cstring, 4407, 1); if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error) const char* const bytes = __Pyx_PyBytes_AsString(data); #if !CYTHON_ASSUME_SAFE_MACROS if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) } #endif - #else /* compression: none (9100 bytes) */ -const char* const bytes = "1\n Helper class to remove a dummy thread from threading._active on __del__.\n [^#]*#.*@IgnoreExceptionNoneNot the same exceptionNote that Cython is deliberately stricter than PEP-484 and rejects subclasses of builtin types. If you need to pass subclasses then set the 'annotation_typing' directive to False.Optional[bool]Stop inside ipython call\n Tag that is attached to exceptions so we can compare the instance without a strong reference\n See issue https://github.com/microsoft/debugpy/issues/1999\n != .?add_notedisableenablegcisenabled.pyc_pydev_execfile.pypydevd.py_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyxpydevd_traceproperty.pypython-functionpython-lineALLAny_CodeLineInfo_CodeLineInfo.__reduce_cython___CodeLineInfo.__setstate_cython__CodeTypeDEBUGGER_IDDEBUG_STARTDEBUG_START_PY3KDISABLE_DeleteDummyThreadOnDel_DeleteDummyThreadOnDel.__del___DeleteDummyThreadOnDel.__init__Dict_DummyThreadEXCEPTION_TYPE_HANDLEDEXCEPTION_TYPE_USER_UNHANDLEDForkSafeLockFrameTypeFuncCodeInfoFuncCodeInfo.__reduce_cython__FuncCodeInfo.__setstate_cython__FuncCodeInfo.get_line_of_offsetGlobalDebuggerHolderIGNORE_EXCEPTION_TAGIS_PY313_OR_GREATERJUMPLINENORM_PATHS_AND_BASE_CONTAINERNoneOptionalPYDEVD_IPYTHON_CONTEXTPYTHON_SUSPENDPY_RESUMEPY_RETURNPY_STARTPY_UNWIND__Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc..wrap__Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_6retval..wrap__Pyx_CFunc_7f6725__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11from_offset_9to_offset..wrap__Pyx_CFunc_893235__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_18instruction_offset..wrap__Pyx_CFunc_b0409f__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_4line..wrap__Pyx_PyDict_NextRefRAISERETURN_VALUES_DICTTRACE_PROPERTYThreadThreadInfoThreadInfo.__reduce_cytho""n__ThreadInfo.__setstate_cython___TryExceptContainerObj_TryExceptContainerObj.__reduce_cython___TryExceptContainerObj.__setstate_cython__TupleUnhandledExceptionTag_active_active_limbo_lockadd_commandadditional_infoall_threadsapply_files_filterargargsasyncio.coroutinesbasename__bootstrap_bootstrap__bootstrap_inner_bootstrap_innerbreak_on_caught_exceptionsbreak_on_uncaught_exceptionsbreak_on_user_uncaught_exceptionsbreakpoints__call__callcfunc.to_pychildren_variants__class____class_getitem__cline_in_tracebackcmd_factorycmd_step_intocmd_step_overco_filenameco_linesco_namecodecode_obj_code_to_func_code_info_cachecollect_try_except_infocollectionscompilecurrent_threaddebug__del____dict___dictdisdisable_code_tracing_do_wait_suspenddo_wait_suspend__doc__dummy_thread_dummy_threadenable_code_tracingendendswith_ensure_monitoring__enter__enumerateeventeventsexcexception_execexecfile__exit__expressionf_backf_bootstrapf_codef_disable_next_line_if_matchf_lastif_linenof_localsf_unhandled_exc_tagf_unhandled_framefile_to_line_to_breakpointsfindlinestartsfirst_lineframeframe_or_depthfree_tool_idfrom_offset__func__function_breakpoint_name_to_breakpointgetget_abs_path_real_path_and_base_from_fileget_abs_path_real_path_and_base_from_frameget_breakpointget_cache_file_typeget_clsname_for_codeget_file_type_get_func_code_info_get_identget_identget_line_of_offsetget_local_eventsget_smart_step_into_variant_from_frame_offsetget_tool_getframe__getstate__global_dbg_global_notify_skipped_step_in_global_notify_skipped_step_in_lockhandle_breakpoint_conditionhandle_breakpoint_expressionhandle_exceptionhas_breakshas_caught_exception_breakpoint_in_pydbhas_conditionhas_plugin_exception_breakshas_plugin_line_breaksident__init__instructioninstruction_offsetis_aliveis_bootstrap_frame_internal_is_coroutineis_doneis_files_filter_enabledis_logpointis_pydev_daemon_thread_is_stoppedis_thread_aliveis_tracked_frameis_unhandled_exceptionis_unwinditemskwargslast_linelineline_to_breakpointsline_to_offsetlineseploca""lmain__main__make_io_messagemax__metaclass__min__module__monitormonitoringmtime__name__namedtuple__new__notify_skipped_step_in_because_of_filtersoffsetoriginal_step_cmdosos.path_os_thread_handlepluginpop__prepare__py_dbpydb_disposed_pydev_bundle_pydev_bundle._pydev_saved_modules_pydev_bundle.pydev_is_thread_alivepydev_do_not_tracepydev_logpydev_monkeypydev_statepydev_step_cmdpydevd_pydevd_bundle_pydevd_bundle.pydevd_breakpoints_pydevd_bundle.pydevd_bytecode_utils_pydevd_bundle.pydevd_constants_pydevd_bundle.pydevd_trace_dispatch_pydevd_bundle.pydevd_utilspydevd_dont_tracepydevd_file_utilspydevd_is_thread_alivepydevd_runpy_pydevd_sys_monitoring_cython__pydevd_tag____pyx_checksum__pyx_result__pyx_state__pyx_type__pyx_unpickle_FuncCodeInfo__pyx_unpickle_ThreadInfo__pyx_unpickle__CodeLineInfo__pyx_unpickle__TryExceptContainerObj__pyx_vtable____qualname__re__reduce____reduce_cython____reduce_ex___refregister_callbackrequired_eventsrequired_events_breakpointrequired_events_steppingreset_thread_local_inforestart_eventsreturnretvalrun_runrunpyselfset_eventsset_local_events__set_name__set_suspendset_trace_for_frame_and_parentssetdefault__setstate____setstate_cython__should_stop_on_exceptionshould_trace_hookshow_return_valuessplitextstartstart_monitoringstartswithstatestopstop_monitoringstop_on_unhandled_exceptionsuspendsuspend_other_threadssuspend_policysuspend_requestedsyssys_monitort__test__thread_thread_activethread_identthread_info_thread_local_infothreading_tidentto_offsettrace__traceback___track_dummy_thread_reftry_except_infostypestypingupdateupdate_monitor_eventsuse_setstateuse_tool_id_user_uncaught_exc_infovalueswrapwriterPyObject *(PyObject *, int __pyx_skip_dispatch)\000int (int __pyx_skip_dispatch)\000set_additional_thread_info\000any_thread_stepping\200\001\330\004+\2501\250F\260!\200\001\330\0044\260A\260V\2701\200\001\360\n\000\005\020\320\017\037\320\0375\260Q\330\004\t\320\t\031\230\021\230+\240Y\250g\260W\270A\200\001\330\004*\250!\2506\260\021\200A\330""\010\014\210G\2205\230\010\240\004\240I\250Y\260a\330\014\017\210v\220W\230E\240\024\240T\250\027\260\005\260T\270\025\270g\300Q\330\020\023\2207\230#\230V\2404\240w\250c\260\021\330\024\033\2301\330\010\020\220\001\200A\330\010\014\320\014\035\230Q\330\010\014\210K\220|\2401\360\016\000\t\033\320\0325\260Q\200A\330\r\026\220a\330\014\017\210~\230T\240\021\240$\240j\260\003\2604\260q\330\020\036\230d\240!\2404\240z\260\021\200A\330\010\017\210q\200A\340\010\017\210q\220\001\220\026\220}\240A\200A\340\010\017\210q\220\001\220\026\220q\320\000\032\320\032-\320-E\300Q\360\014\000\005\010\200w\210i\220q\230\007\230~\250S\260\001\340\010\t\360\010\000\005\r\320\014 \240\001\330\004\007\200v\210S\220\001\330\010\t\340\004\007\320\007\031\230\023\230A\330\010\034\230A\340\010\014\210E\220\031\230*\240A\330\014\017\210w\220a\220s\320\0320\260\001\330\020\021\330\014\r\330\020\"\240!\2401\330\020\023\320\023#\2403\240a\340\024\025\330\023\024\330\020\021\330\014\017\210\177\320\036.\250d\260\"\260C\260\177\300m\320SV\320VW\330\020$\240A\330\020\021\340\004\026\220a\340\004\005\330\010\r\320\r)\250\023\250E\3201T\320TW\320W\\\320\\]\360\006\000\005$\2405\250\001\340\004\007\200q\330\010\033\2307\240'\250\027\260\002\260'\270\027\300\001\340\010\017\320\017!\240\021\240-\250w\260g\270X\300Q\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\340\010\013\2101\330\014\037\230w\240g\250Q\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\340\014\023\320\023%\240Q\240m\2607\270'\300\030\310\021\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\340\004\021\220\025\220a\330\004\007\200t\2101\330\010\013\2105\220\001\330\014\031\230\021\340\014*\250%\250q\330\014\020\320\020'\320'B\300'\310\021\330\020\023\2201\330\024!\240\021\330\024\025\340\004\007\200{\220#\220Q\340\010\033\2307\240'\250\032\2602\260W\270G\3001\340\010\017\320\017!\240\021\240-\250w\260g\270[\310\001\340\010\017\320\017!\240\021\240-\250w\260g\270W\300A\330\010\013\2104\210q\360\006\000\r\024\320""\023%\240Q\240m\2607\270'\300\027\310\001\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\360\006\000\t\020\320\017!\240\021\240-\250w\260g\270[\310\001\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\330\010\017\320\017!\240\021\240-\250w\260g\270W\300A\330\010\017\320\017!\240\021\240-\250w\260g\270W\300A\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\340\004\013\210;\220a\220}\240A\200\001\360\010\000\005\016\210T\320\021#\2404\320'?\270t\320CU\320UY\320Yb\320bf\320fu\320uy\320yz\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033,\250G\2605\270\003\2704\270x\300w\310a\330\004\007\200q\330\010\017\320\017+\2504\250q\260\007\260{\300'\310\021\340\010\017\320\017+\2504\250q\260\007\260{\300!\200\001\360\010\000\005\016\210T\220\021\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033-\250W\260A\330\004\007\200q\330\010\017\320\0177\260t\2701\270G\300;\310g\320UV\340\010\017\320\0177\260t\2701\270G\300;\310a\200\001\360\010\000\005\016\210T\320\021%\240T\320)?\270t\320CV\320VZ\320Zr\320rv\360\000\000w\001J\002\360\000\000J\002N\002\360\000\000N\002n\002\360\000\000n\002r\002\360\000\000r\002@\003\360\000\000@\003D\003\360\000\000D\003N\003\360\000\000N\003R\003\360\000\000R\003]\003\360\000\000]\003a\003\360\000\000a\003~\003\360\000\000~\003B\004\360\000\000B\004X\004\360\000\000X\004\\\004\360\000\000\\\004x\004\360\000\000x\004|\004\360\000\000|\004[\005\360\000\000[\005_\005\360\000\000_\005v\005\360\000\000v\005z\005\360\000\000z\005Y\006\360\000\000Y\006]\006\360\000\000]\006t\006\360\000\000t\006x\006\360\000\000x\006Q\007\360\000\000Q\007U\007\360\000\000U\007b\007\360\000\000b\007f\007\360\000\000f\007g\007\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033.\250g\260U\270#\270T""\320AX\320X_\320_d\320dg\320gk\360\000\000l\001K\002\360\000\000K\002R\002\360\000\000R\002W\002\360\000\000W\002Z\002\360\000\000Z\002^\002\360\000\000^\002k\002\360\000\000k\002r\002\360\000\000r\002w\002\360\000\000w\002z\002\360\000\000z\002~\002\360\000\000~\002G\003\360\000\000G\003N\003\360\000\000N\003S\003\360\000\000S\003V\003\360\000\000V\003Z\003\360\000\000Z\003d\003\360\000\000d\003k\003\360\000\000k\003p\003\360\000\000p\003s\003\360\000\000s\003w\003\360\000\000w\003L\004\360\000\000L\004S\004\360\000\000S\004X\004\360\000\000X\004[\004\360\000\000[\004_\004\360\000\000_\004y\004\360\000\000y\004@\005\360\000\000@\005A\005\330\004\007\200q\330\010\017\320\017-\250T\260\021\260'\270\033\300G\3101\340\010\017\320\017-\250T\260\021\260'\270\033\300A\200\001\360\010\000\005\016\210T\220\035\230d\240,\250d\260!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033+\2507\260!\330\004\007\200q\330\010\017\320\017.\250d\260!\2607\270+\300W\310A\340\010\017\320\017.\250d\260!\2607\270+\300Q\200\001\360\014\000\005\006\330\004\031\230\031\240&\250\001\320\000\030\230\001\360\010\000\005\014\210?\230!\200\001\360\n\000\005\027\220a\330\004\013\320\013\034\230A\230]\250&\260\001\200\001\330\004(\250\001\250\026\250q\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023)\250\030\260\021\260!\330\004\007\200|\2207\230!\330\0108\270\001\3209R\320R`\320`a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220=\240\010\250\001\250\021\330\004\007\200|\2207\230!\330\010/\250q\3200@\300\016\310a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220:\230X\240Q\240a\330\004\007\200|\2207\230!\330\010,\250A\250]\270.\310\001\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220<\230x\240q\250\001\330\004\007\200|\2207\230!\330\010.\250a\250\177\270n\310A\330\004\013\2101""\320\000\"\240!\360\014\000\005\010\200q\340\010\013\2107\220)\2301\230G\240>\260\023\260A\330\014\023\220;\230a\230w\240n\260A\330\014\023\320\023%\240Q\240m\2607\270'\300\033\310A\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\330\014\023\320\023%\240Q\240m\2607\270'\300\027\310\001\330\014\023\320\023%\240Q\240m\2607\270'\300\027\310\001\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\330\014\023\320\023%\240Q\240m\2607\270'\300\030\310\021\330\014\023\220=\240\001\240\027\250\001\340\010\t\330\014\032\320\032,\250A\340\014\032\320\032*\250!\2507\260!\330\014\017\210|\2303\230a\330\020\021\340\010\023\2209\230A\320\000(\250\001\360\014\000\005\010\200q\340\010\026\220g\230Q\330\010\013\2104\210w\220i\230q\240\001\330\014\023\220<\230q\240\r\250Q\330\014!\240\021\330\014\032\230!\340\010\t\330\014\032\320\032,\250A\360\006\000\r\033\320\032*\250!\2506\260\021\330\014\017\210|\2303\230a\340\020\021\340\010\023\2209\230A\200\001\360\n\000\005\023\220'\230\021\330\004\007\200t\2107\220)\2301\230A\330\010\017\210|\2301\230M\250\021\330\010\035\230Q\330\010\026\220a\200\001\360\036\000\005\025\320\024(\250\001\330\004\007\200v\210S\220\005\220S\230\005\230Q\330\010\017\210q\340\004#\320#6\260a\260v\270Q\330\004\007\200~\220Q\360\006\000\t\020\210q\340\004\005\330\010\021\220\031\230(\240$\240a\240q\330\010\013\2107\220#\220Q\330\014\023\2201\330\010\032\320\0324\260A\260Q\360\006\000\t\020\210q\340\004\013\320\013\037\230q\240\007\320'8\3208H\310\006\310g\320UV\200\001\360\034\000\005\r\320\014 \240\001\330\004\007\200v\210S\220\001\330\010\017\210q\340\004\025\320\0252\260$\260a\260q\330\004\007\200\177\220g\230Q\330\010\013\210>\230\034\240S\250\005\250Q\360\006\000\r\024\2201\360\022\000\005\014\320\013\034\230A\330\004\022\220&\230\004\230A\330\004\016\210f\220D\230\001\360\030\000\005\026\220\\\240\021\330\004\022\220,\230a\330\004\025\320\025(\250\001\250\021\330\004\025\220^\2401\330\004\022\220.\240\005\240Q\340\004\022\220/\240\021\330\004\022""\220+\230Q\360\006\000\005\006\330\010&\320&C\3001\300A\340\010&\320&O\310q\320PQ\340\004\022\320\022'\320'B\300!\3001\330\004\022\320\0223\3203N\310a\310q\340\004\014\210A\330\004\026\220e\320\033/\250q\360\006\000\005\034\2304\320\0370\3200K\3101\310D\320PQ\330\004\005\330\010\024\220O\2401\240A\340\010\013\2106\220\023\220A\330\014\017\210~\230[\250\003\2501\330\020\030\230\t\240\021\240/\260\022\2601\340\020\030\230\001\330\014\023\2205\230\010\240\003\240:\250^\2705\300\t\310\021\340\010\024\220E\230\036\240q\250\007\250q\340\004\007\200z\220\027\230\001\330\010\026\320\026*\250!\330\010\026\320\026-\250Q\330\010%\240Q\240l\260!\330\010\017\210q\360\006\000\005\010\320\007\030\320\030+\2507\260!\360\010\000\t\014\2104\320\017 \320 2\260!\260:\270^\3101\330\014\017\210v\220S\230\001\330\020\023\220>\240\033\250C\250q\330\024\034\230I\240Q\240o\260R\260q\340\024\034\230A\330\014\023\2205\230\010\240\003\2401\340\014\032\320\0321\260\021\330\014)\250\021\250,\260a\330\014\023\2201\340\004\007\200v\210S\220\001\330\010\013\210>\230\033\240C\240q\330\014\024\220I\230Q\230o\250R\250q\340\014\024\220A\330\010\017\210u\220H\230C\230q\340\004\022\320\0220\260\005\3205H\310\001\310\027\320P^\320^r\320rs\340\004\007\200u\210A\330\010\026\320\026-\250U\3202E\300Q\300g\310^\320[o\320op\330\010\013\210>\230\021\330\014)\250\021\250,\260a\330\014\023\2201\360\006\000\t\027\320\026-\250Q\360\006\000\005\031\230\005\230\\\250\024\250Q\250n\270A\330\004\"\240%\320'N\310d\320RS\320Sa\320ab\360\n\000\005\010\200q\340\010\026\320\0263\2601\330\010\026\320\026-\250Q\340\004\007\200q\360\010\000\t!\240\001\340\010\014\320\014\035\230V\240;\250f\260A\330\014\017\320\017\037\230s\240!\330\020%\240Q\320&9\270\021\340\010\026\320\026*\250$\250a\250q\330\010\026\320\026/\250q\340\004\007\200u\210A\330\010\031\230\025\230a\330\010\033\230>\320):\270!\2701\340\010\013\2101\330\014\017\210u\220A\330\020-\250^\320;V\320VW\330\020\036\320\036>\270g\300S\310\001\330\020\036\320\036>\270g\300S""\310\001\340\014'\240~\3205N\310a\330\014\032\320\0328\270\007\270s\300!\330\014\032\320\0328\270\007\270s\300!\330\014\032\320\032:\270)\3003\300a\340\004!\240\021\240,\250a\330\004\013\2101"; + #else /* compression: none (9270 bytes) */ +const char* const bytes = "1\n Helper class to remove a dummy thread from threading._active on __del__.\n [^#]*#.*@IgnoreExceptionNoneNot the same exceptionNote that Cython is deliberately stricter than PEP-484 and rejects subclasses of builtin types. If you need to pass subclasses then set the 'annotation_typing' directive to False.Optional[bool]Stop inside ipython call\n Tag that is attached to exceptions so we can compare the instance without a strong reference\n See issue https://github.com/microsoft/debugpy/issues/1999\n != .?add_notedisableenablegcisenabled.pyc_pydev_execfile.pypydevd.py_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyxpydevd_traceproperty.pypython-functionpython-lineALLAny_CodeLineInfo_CodeLineInfo.__reduce_cython___CodeLineInfo.__setstate_cython__CodeTypeDEBUGGER_IDDEBUG_STARTDEBUG_START_PY3KDISABLE_DeleteDummyThreadOnDel_DeleteDummyThreadOnDel.__del___DeleteDummyThreadOnDel.__init__Dict_DummyThreadEXCEPTION_TYPE_HANDLEDEXCEPTION_TYPE_USER_UNHANDLEDForkSafeLockFrameTypeFuncCodeInfoFuncCodeInfo.__reduce_cython__FuncCodeInfo.__setstate_cython__FuncCodeInfo.get_line_of_offsetGlobalDebuggerHolderIGNORE_EXCEPTION_TAGIS_PY313_OR_GREATERJUMPLINENORM_PATHS_AND_BASE_CONTAINERNoneOptionalPYDEVD_IPYTHON_CONTEXTPYTHON_SUSPENDPY_RESUMEPY_RETURNPY_STARTPY_UNWIND__Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_3exc..wrap__Pyx_CFunc_4904d5__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11instruction_6retval..wrap__Pyx_CFunc_7f6725__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_11from_offset_9to_offset..wrap__Pyx_CFunc_893235__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_18instruction_offset..wrap__Pyx_CFunc_b0409f__29_pydevd_sys_monitoring_cython_object__lParen__etc_to_py_4code_4line..wrap__Pyx_PyDict_NextRefRAISERETURN_VALUES_DICTTRACE_PROPERTYThreadThreadInfoThreadInfo.__reduce_cytho""n__ThreadInfo.__setstate_cython___TryExceptContainerObj_TryExceptContainerObj.__reduce_cython___TryExceptContainerObj.__setstate_cython__TupleUnhandledExceptionTag_active_active_limbo_lockadd_commandadditional_infoall_threadsapply_files_filterargargsasyncio.coroutinesbasename__bootstrap_bootstrap__bootstrap_inner_bootstrap_innerbreak_on_caught_exceptionsbreak_on_uncaught_exceptionsbreak_on_user_uncaught_exceptionsbreakpoints__call__callcfunc.to_pychildren_variants__class____class_getitem__cline_in_tracebackcmd_factorycmd_step_intocmd_step_overco_filenameco_linesco_namecodecode_obj_code_to_func_code_info_cachecollect_try_except_infocollectionscompilecurrent_threaddebug__del____dict___dictdisdisable_code_tracing_do_wait_suspenddo_wait_suspend__doc__dummy_thread_dummy_threadenable_code_tracingendendswith_ensure_monitoring__enter__enumerateeventeventsexcexception_execexecfile__exit__expressionf_backf_bootstrapf_codef_disable_next_line_if_matchf_lastif_linenof_localsf_unhandled_exc_tagf_unhandled_framefile_to_line_to_breakpointsfindlinestartsfirst_lineframeframe_or_depthfree_tool_idfrom_offset__func__function_breakpoint_name_to_breakpointgetget_abs_path_real_path_and_base_from_fileget_abs_path_real_path_and_base_from_frameget_breakpointget_cache_file_typeget_clsname_for_codeget_file_type_get_func_code_info_get_identget_identget_line_of_offsetget_local_eventsget_smart_step_into_variant_from_frame_offsetget_tool_getframe__getstate__global_dbg_global_notify_skipped_step_in_global_notify_skipped_step_in_lockhandle_breakpoint_conditionhandle_breakpoint_expressionhandle_exceptionhas_breakshas_caught_exception_breakpoint_in_pydbhas_conditionhas_plugin_exception_breakshas_plugin_line_breaksident__init__instructioninstruction_offsetis_aliveis_bootstrap_frame_internal_is_coroutineis_doneis_files_filter_enabledis_logpointis_pydev_daemon_thread_is_stoppedis_thread_aliveis_tracked_frameis_unhandled_exceptionis_unwinditemskwargslast_linelineline_to_breakpointsline_to_offsetlineseploca""lmain__main__make_io_messagemax__metaclass__min__module__monitormonitoringmtime__name__namedtuple__new__notify_skipped_step_in_because_of_filtersoffsetoriginal_step_cmdosos.path_os_thread_handlepluginpop__prepare__py_dbpydb_disposed_pydev_bundle_pydev_bundle._pydev_saved_modules_pydev_bundle.pydev_is_thread_alivepydev_do_not_tracepydev_logpydev_monkeypydev_statepydev_step_cmdpydevd_pydevd_bundle_pydevd_bundle.pydevd_breakpoints_pydevd_bundle.pydevd_bytecode_utils_pydevd_bundle.pydevd_constants_pydevd_bundle.pydevd_trace_dispatch_pydevd_bundle.pydevd_utilspydevd_dont_tracepydevd_file_utilspydevd_is_thread_alivepydevd_runpy_pydevd_sys_monitoring_cython__pydevd_tag____pyx_checksum__pyx_result__pyx_state__pyx_type__pyx_unpickle_FuncCodeInfo__pyx_unpickle_ThreadInfo__pyx_unpickle__CodeLineInfo__pyx_unpickle__TryExceptContainerObj__pyx_vtable____qualname__re__reduce____reduce_cython____reduce_ex___refregister_callbackrequired_eventsrequired_events_breakpointrequired_events_steppingreset_thread_local_inforestart_eventsresume_current_thread_tracingreturnretvalrun_runrunpyselfset_eventsset_local_events__set_name__set_suspendset_trace_for_frame_and_parentssetdefault__setstate____setstate_cython__should_stop_on_exceptionshould_trace_hookshow_return_valuessplitextstartstart_monitoringstartswithstatestopstop_monitoringstop_on_unhandled_exceptionsuspendsuspend_current_thread_tracingsuspend_other_threadssuspend_policysuspend_requestedsyssys_monitort__test__thread_thread_activethread_identthread_info_thread_local_infothreading_tidentto_offsettrace__traceback___track_dummy_thread_reftry_except_infostypestypingupdateupdate_monitor_eventsuse_setstateuse_tool_id_user_uncaught_exc_infovalueswrapwriterPyObject *(PyObject *, int __pyx_skip_dispatch)\000int (int __pyx_skip_dispatch)\000set_additional_thread_info\000any_thread_stepping\200\001\330\004+\2501\250F\260!\200\001\330\0044\260A\260V\2701\200\001\360\n\000\005\020\320\017\037\320\0375\260Q\330\004\t\320\t\031\230\021\230+\240Y""\250g\260W\270A\200\001\330\004*\250!\2506\260\021\200A\330\010\014\210G\2205\230\010\240\004\240I\250Y\260a\330\014\017\210v\220W\230E\240\024\240T\250\027\260\005\260T\270\025\270g\300Q\330\020\023\2207\230#\230V\2404\240w\250c\260\021\330\024\033\2301\330\010\020\220\001\200A\330\010\014\320\014\035\230Q\330\010\014\210K\220|\2401\360\016\000\t\033\320\0325\260Q\200A\330\r\026\220a\330\014\017\210~\230T\240\021\240$\240j\260\003\2604\260q\330\020\036\230d\240!\2404\240z\260\021\200A\330\010\017\210q\200A\340\010\017\210q\220\001\220\026\220}\240A\200A\340\010\017\210q\220\001\220\026\220q\320\000\032\320\032-\320-E\300Q\360\014\000\005\010\200w\210i\220q\230\007\230~\250S\260\001\340\010\t\360\010\000\005\r\320\014 \240\001\330\004\007\200v\210S\220\001\330\010\t\340\004\007\320\007\031\230\023\230A\330\010\034\230A\340\010\014\210E\220\031\230*\240A\330\014\017\210w\220a\220s\320\0320\260\001\330\020\021\330\014\r\330\020\"\240!\2401\330\020\023\320\023#\2403\240a\340\024\025\330\023\024\330\020\021\330\014\017\210\177\320\036.\250d\260\"\260C\260\177\300m\320SV\320VW\330\020$\240A\330\020\021\340\004\026\220a\340\004\005\330\010\r\320\r)\250\023\250E\3201T\320TW\320W\\\320\\]\360\006\000\005$\2405\250\001\340\004\007\200q\330\010\033\2307\240'\250\027\260\002\260'\270\027\300\001\340\010\017\320\017!\240\021\240-\250w\260g\270X\300Q\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\340\010\013\2101\330\014\037\230w\240g\250Q\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\340\014\023\320\023%\240Q\240m\2607\270'\300\030\310\021\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\340\004\021\220\025\220a\330\004\007\200t\2101\330\010\013\2105\220\001\330\014\031\230\021\340\014*\250%\250q\330\014\020\320\020'\320'B\300'\310\021\330\020\023\2201\330\024!\240\021\330\024\025\340\004\007\200{\220#\220Q\340\010\033\2307\240'\250\032\2602\260W\270G\3001\340\010\017\320\017!\240\021\240-\250w\260g\270[\310\001\340\010\017\320\017!\240\021\240-\250w""\260g\270W\300A\330\010\013\2104\210q\360\006\000\r\024\320\023%\240Q\240m\2607\270'\300\027\310\001\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\360\006\000\t\020\320\017!\240\021\240-\250w\260g\270[\310\001\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\330\010\017\320\017!\240\021\240-\250w\260g\270W\300A\330\010\017\320\017!\240\021\240-\250w\260g\270W\300A\330\010\017\320\017!\240\021\240-\250w\260g\270\\\310\021\340\004\013\210;\220a\220}\240A\200\001\360\010\000\005\016\210T\320\021#\2404\320'?\270t\320CU\320UY\320Yb\320bf\320fu\320uy\320yz\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033,\250G\2605\270\003\2704\270x\300w\310a\330\004\007\200q\330\010\017\320\017+\2504\250q\260\007\260{\300'\310\021\340\010\017\320\017+\2504\250q\260\007\260{\300!\200\001\360\010\000\005\016\210T\220\021\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033-\250W\260A\330\004\007\200q\330\010\017\320\0177\260t\2701\270G\300;\310g\320UV\340\010\017\320\0177\260t\2701\270G\300;\310a\200\001\360\010\000\005\016\210T\320\021%\240T\320)?\270t\320CV\320VZ\320Zr\320rv\360\000\000w\001J\002\360\000\000J\002N\002\360\000\000N\002n\002\360\000\000n\002r\002\360\000\000r\002@\003\360\000\000@\003D\003\360\000\000D\003N\003\360\000\000N\003R\003\360\000\000R\003]\003\360\000\000]\003a\003\360\000\000a\003~\003\360\000\000~\003B\004\360\000\000B\004X\004\360\000\000X\004\\\004\360\000\000\\\004x\004\360\000\000x\004|\004\360\000\000|\004[\005\360\000\000[\005_\005\360\000\000_\005v\005\360\000\000v\005z\005\360\000\000z\005Y\006\360\000\000Y\006]\006\360\000\000]\006t\006\360\000\000t\006x\006\360\000\000x\006Q\007\360\000\000Q\007U\007\360\000\000U\007b\007\360\000\000b\007f\007\360\000\000f\007g\007\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330""\010\027\220q\340\010\027\220t\320\033.\250g\260U\270#\270T\320AX\320X_\320_d\320dg\320gk\360\000\000l\001K\002\360\000\000K\002R\002\360\000\000R\002W\002\360\000\000W\002Z\002\360\000\000Z\002^\002\360\000\000^\002k\002\360\000\000k\002r\002\360\000\000r\002w\002\360\000\000w\002z\002\360\000\000z\002~\002\360\000\000~\002G\003\360\000\000G\003N\003\360\000\000N\003S\003\360\000\000S\003V\003\360\000\000V\003Z\003\360\000\000Z\003d\003\360\000\000d\003k\003\360\000\000k\003p\003\360\000\000p\003s\003\360\000\000s\003w\003\360\000\000w\003L\004\360\000\000L\004S\004\360\000\000S\004X\004\360\000\000X\004[\004\360\000\000[\004_\004\360\000\000_\004y\004\360\000\000y\004@\005\360\000\000@\005A\005\330\004\007\200q\330\010\017\320\017-\250T\260\021\260'\270\033\300G\3101\340\010\017\320\017-\250T\260\021\260'\270\033\300A\200\001\360\010\000\005\016\210T\220\035\230d\240,\250d\260!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\320\033+\2507\260!\330\004\007\200q\330\010\017\320\017.\250d\260!\2607\270+\300W\310A\340\010\017\320\017.\250d\260!\2607\270+\300Q\200\001\360\014\000\005\006\330\004\031\230\031\240&\250\001\320\000\030\230\001\360\010\000\005\014\210?\230!\200\001\360\n\000\005\027\220a\330\004\013\320\013\034\230A\230]\250&\260\001\320\000)\250\021\360\034\000\005\006\330\010\026\320\026(\250\001\360\n\000\t\027\320\026&\240a\240v\250Q\330\010\013\210<\220s\230!\330\014\023\2201\330\004\025\220[\240\001\330\004\017\210y\230\001\330\004\013\2101\200\001\360\022\000\005\006\330\010\026\320\026(\250\001\340\010\026\320\026&\240a\240v\250Q\330\010\013\210<\220s\230!\330\014\r\330\004\017\210y\230\001\200\001\330\004(\250\001\250\026\250q\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023)\250\030\260\021\260!\330\004\007\200|\2207\230!\330\0108\270\001\3209R\320R`\320`a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220=""\240\010\250\001\250\021\330\004\007\200|\2207\230!\330\010/\250q\3200@\300\016\310a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220:\230X\240Q\240a\330\004\007\200|\2207\230!\330\010,\250A\250]\270.\310\001\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220<\230x\240q\250\001\330\004\007\200|\2207\230!\330\010.\250a\250\177\270n\310A\330\004\013\2101\320\000\"\240!\360\014\000\005\010\200q\340\010\013\2107\220)\2301\230G\240>\260\023\260A\330\014\023\220;\230a\230w\240n\260A\330\014\023\320\023%\240Q\240m\2607\270'\300\033\310A\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\330\014\023\320\023%\240Q\240m\2607\270'\300\027\310\001\330\014\023\320\023%\240Q\240m\2607\270'\300\027\310\001\330\014\023\320\023%\240Q\240m\2607\270'\300\034\310Q\330\014\023\320\023%\240Q\240m\2607\270'\300\030\310\021\330\014\023\220=\240\001\240\027\250\001\340\010\t\330\014\032\320\032,\250A\340\014\032\320\032*\250!\2507\260!\330\014\017\210|\2303\230a\330\020\021\340\010\023\2209\230A\320\000(\250\001\360\014\000\005\010\200q\340\010\026\220g\230Q\330\010\013\2104\210w\220i\230q\240\001\330\014\023\220<\230q\240\r\250Q\330\014!\240\021\330\014\032\230!\340\010\t\330\014\032\320\032,\250A\360\006\000\r\033\320\032*\250!\2506\260\021\330\014\017\210|\2303\230a\340\020\021\340\010\023\2209\230A\200\001\360\n\000\005\023\220'\230\021\330\004\007\200t\2107\220)\2301\230A\330\010\017\210|\2301\230M\250\021\330\010\035\230Q\330\010\026\220a\200\001\360\036\000\005\025\320\024(\250\001\330\004\007\200v\210S\220\005\220S\230\005\230Q\330\010\017\210q\340\004#\320#6\260a\260v\270Q\330\004\007\200~\220Q\360\006\000\t\020\210q\340\004\005\330\010\021\220\031\230(\240$\240a\240q\330\010\013\2107\220#\220Q\330\014\023\2201\330\010\032\320\0324\260A\260Q\360\006\000\t\020\210q\340\004\013\320\013\037\230q\240\007\320'8\3208H\310\006\310g\320UV\200\001\360\034\000\005\r\320\014 \240\001\330\004\007\200v\210S\220\001""\330\010\017\210q\340\004\025\320\0252\260$\260a\260q\330\004\007\200\177\220g\230Q\330\010\013\210>\230\034\240S\250\005\250Q\360\006\000\r\024\2201\360\022\000\005\014\320\013\034\230A\330\004\022\220&\230\004\230A\330\004\016\210f\220D\230\001\360\030\000\005\026\220\\\240\021\330\004\022\220,\230a\330\004\025\320\025(\250\001\250\021\330\004\025\220^\2401\330\004\022\220.\240\005\240Q\340\004\022\220/\240\021\330\004\022\220+\230Q\360\006\000\005\006\330\010&\320&C\3001\300A\340\010&\320&O\310q\320PQ\340\004\022\320\022'\320'B\300!\3001\330\004\022\320\0223\3203N\310a\310q\340\004\014\210A\330\004\026\220e\320\033/\250q\360\006\000\005\034\2304\320\0370\3200K\3101\310D\320PQ\330\004\005\330\010\024\220O\2401\240A\340\010\013\2106\220\023\220A\330\014\017\210~\230[\250\003\2501\330\020\030\230\t\240\021\240/\260\022\2601\340\020\030\230\001\330\014\023\2205\230\010\240\003\240:\250^\2705\300\t\310\021\340\010\024\220E\230\036\240q\250\007\250q\340\004\007\200z\220\027\230\001\330\010\026\320\026*\250!\330\010\026\320\026-\250Q\330\010%\240Q\240l\260!\330\010\017\210q\360\006\000\005\010\320\007\030\320\030+\2507\260!\360\010\000\t\014\2104\320\017 \320 2\260!\260:\270^\3101\330\014\017\210v\220S\230\001\330\020\023\220>\240\033\250C\250q\330\024\034\230I\240Q\240o\260R\260q\340\024\034\230A\330\014\023\2205\230\010\240\003\2401\340\014\032\320\0321\260\021\330\014)\250\021\250,\260a\330\014\023\2201\340\004\007\200v\210S\220\001\330\010\013\210>\230\033\240C\240q\330\014\024\220I\230Q\230o\250R\250q\340\014\024\220A\330\010\017\210u\220H\230C\230q\340\004\022\320\0220\260\005\3205H\310\001\310\027\320P^\320^r\320rs\340\004\007\200u\210A\330\010\026\320\026-\250U\3202E\300Q\300g\310^\320[o\320op\330\010\013\210>\230\021\330\014)\250\021\250,\260a\330\014\023\2201\360\006\000\t\027\320\026-\250Q\360\006\000\005\031\230\005\230\\\250\024\250Q\250n\270A\330\004\"\240%\320'N\310d\320RS\320Sa\320ab\360\n\000\005\010\200q\340\010\026\320\0263\2601\330\010\026\320\026-""\250Q\340\004\007\200q\360\010\000\t!\240\001\340\010\014\320\014\035\230V\240;\250f\260A\330\014\017\320\017\037\230s\240!\330\020%\240Q\320&9\270\021\340\010\026\320\026*\250$\250a\250q\330\010\026\320\026/\250q\340\004\007\200u\210A\330\010\031\230\025\230a\330\010\033\230>\320):\270!\2701\340\010\013\2101\330\014\017\210u\220A\330\020-\250^\320;V\320VW\330\020\036\320\036>\270g\300S\310\001\330\020\036\320\036>\270g\300S\310\001\340\014'\240~\3205N\310a\330\014\032\320\0328\270\007\270s\300!\330\014\032\320\0328\270\007\270s\300!\330\014\032\320\032:\270)\3003\300a\340\004!\240\021\240,\250a\330\004\013\2101"; PyObject *data = NULL; CYTHON_UNUSED_VAR(__Pyx_DecompressString); #endif PyObject **stringtab = __pyx_mstate->__pyx_string_tab; Py_ssize_t pos = 0; - for (int i = 0; i < 336; i++) { + for (int i = 0; i < 338; i++) { Py_ssize_t bytes_length = index[i].length; PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL); if (likely(string) && i >= 28) PyUnicode_InternInPlace(&string); @@ -34180,7 +34721,7 @@ const char* const bytes = "1\n Helper class to remove a dummy thread from thr stringtab[i] = string; pos += bytes_length; } - for (int i = 336; i < 365; i++) { + for (int i = 338; i < 369; i++) { Py_ssize_t bytes_length = index[i].length; PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length); stringtab[i] = string; @@ -34191,15 +34732,15 @@ const char* const bytes = "1\n Helper class to remove a dummy thread from thr } } Py_XDECREF(data); - for (Py_ssize_t i = 0; i < 365; i++) { + for (Py_ssize_t i = 0; i < 369; i++) { if (unlikely(PyObject_Hash(stringtab[i]) == -1)) { __PYX_ERR(0, 1, __pyx_L1_error) } } #if CYTHON_IMMORTAL_CONSTANTS { - PyObject **table = stringtab + 336; - for (Py_ssize_t i=0; i<29; ++i) { + PyObject **table = stringtab + 338; + for (Py_ssize_t i=0; i<31; ++i) { #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING #if PY_VERSION_HEX < 0x030E0000 if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1) @@ -34393,39 +34934,49 @@ static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) { __pyx_mstate_global->__pyx_codeobj_tab[23] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_stop_monitoring, __pyx_mstate->__pyx_kp_b_iso88591_q_7_1G_A_awnA_Qm7_A_Qm7_Q_Qm7_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[23])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1861}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1863}; + PyObject* const varnames[] = {0}; + __pyx_mstate_global->__pyx_codeobj_tab[24] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_suspend_current_thread_tracing, __pyx_mstate->__pyx_kp_b_iso88591_avQ_s_1_y_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[24])) goto bad; + } + { + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1893}; + PyObject* const varnames[] = {0}; + __pyx_mstate_global->__pyx_codeobj_tab[25] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_resume_current_thread_tracing, __pyx_mstate->__pyx_kp_b_iso88591_avQ_s_y, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[25])) goto bad; + } + { + const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1911}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_suspend_requested, __pyx_mstate->__pyx_n_u_py_db, __pyx_mstate->__pyx_n_u_t, __pyx_mstate->__pyx_n_u_additional_info, __pyx_mstate->__pyx_n_u_required_events, __pyx_mstate->__pyx_n_u_has_caught_exception_breakpoint, __pyx_mstate->__pyx_n_u_break_on_uncaught_exceptions, __pyx_mstate->__pyx_n_u_has_breaks, __pyx_mstate->__pyx_n_u_file_to_line_to_breakpoints, __pyx_mstate->__pyx_n_u_line_to_breakpoints}; - __pyx_mstate_global->__pyx_codeobj_tab[24] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_update_monitor_events, __pyx_mstate->__pyx_kp_b_iso88591_EQ_wiq_S_vS_A_A_E_A_was_0_1_3a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[24])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[26] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_update_monitor_events, __pyx_mstate->__pyx_kp_b_iso88591_EQ_wiq_S_vS_A_A_E_A_was_0_1_3a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[26])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1949}; + const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1999}; PyObject* const varnames[] = {0}; - __pyx_mstate_global->__pyx_codeobj_tab[25] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_restart_events, __pyx_mstate->__pyx_kp_b_iso88591__7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[25])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_restart_events, __pyx_mstate->__pyx_kp_b_iso88591__7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad; } { - const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1984}; + const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2034}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_py_db, __pyx_mstate->__pyx_n_u_thread_info, __pyx_mstate->__pyx_n_u_frame, __pyx_mstate->__pyx_n_u_event, __pyx_mstate->__pyx_n_u_arg}; - __pyx_mstate_global->__pyx_codeobj_tab[26] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_do_wait_suspend, __pyx_mstate->__pyx_kp_b_iso88591_5Q_YgWA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[26])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_pydevd_sys_monitoring__pydevd_s, __pyx_mstate->__pyx_n_u_do_wait_suspend, __pyx_mstate->__pyx_kp_b_iso88591_5Q_YgWA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_ThreadInfo, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_ThreadInfo, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_FuncCodeInfo, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_xq_7_a_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[30] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle_FuncCodeInfo, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_xq_7_a_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[30])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle__CodeLineInfo, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[31] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle__CodeLineInfo, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[31])) goto bad; } { const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4}; PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result}; - __pyx_mstate_global->__pyx_codeobj_tab[30] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle__TryExceptContain, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_8_9RR_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[30])) goto bad; + __pyx_mstate_global->__pyx_codeobj_tab[32] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_stringsource, __pyx_mstate->__pyx_n_u_pyx_unpickle__TryExceptContain, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_8_9RR_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[32])) goto bad; } Py_DECREF(tuple_dedup_map); return 0; diff --git a/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx b/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx index fec37e3c..5b5363fd 100644 --- a/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +++ b/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx @@ -1858,6 +1858,56 @@ cpdef stop_monitoring(all_threads=False): thread_info.trace = False +# fmt: off +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cpdef bint suspend_current_thread_tracing(): + cdef ThreadInfo thread_info +# ELSE +# def suspend_current_thread_tracing(): +# ENDIF +# fmt: on + """ + Suspends tracing for the current thread. + + Returns the previous tracing state (True if tracing was enabled, False otherwise). + This is useful for temporarily disabling tracing to prevent recursive debugging. + + Use resume_current_thread_tracing() to restore. + """ + try: + thread_info = _thread_local_info.thread_info + except: + # Create the thread info if it doesn't exist yet: if tracing is not + # explicitly disabled here, the first monitoring event on this thread + # would create it with tracing enabled. + thread_info = _get_thread_info(True, 1) + if thread_info is None: + return False + previous_state = thread_info.trace + thread_info.trace = False + return previous_state + + +# fmt: off +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cpdef resume_current_thread_tracing(): + cdef ThreadInfo thread_info +# ELSE +# def resume_current_thread_tracing(): +# ENDIF +# fmt: on + """ + Resumes tracing for the current thread. + """ + try: + thread_info = _thread_local_info.thread_info + except: + thread_info = _get_thread_info(True, 1) + if thread_info is None: + return + thread_info.trace = True + + def update_monitor_events(suspend_requested: Optional[bool]=None) -> None: """ This should be called when breakpoints change. diff --git a/src/debugpy/_vendored/pydevd/pydevd.py b/src/debugpy/_vendored/pydevd/pydevd.py index 297564c8..fafdd59a 100644 --- a/src/debugpy/_vendored/pydevd/pydevd.py +++ b/src/debugpy/_vendored/pydevd/pydevd.py @@ -2427,6 +2427,51 @@ def do_stop_on_unhandled_exception(self, thread, frame, frames_byid, arg): remove_exception_from_frame(frame) frame = None + def trigger_exception_handler(self, excinfo, as_uncaught=True): + """ + Triggers post-mortem debugging as if handling an uncaught exception. + + If as_uncaught is True (default), respects exception breakpoint configuration and applies breakpoint filters. + + :param excinfo: A tuple of (exc_type, exc_value, exc_traceback). + """ + if not as_uncaught: + exctype, value, tb = excinfo + + # Walk traceback to build frames list and find user frame + frames = [] + user_frame = None + while tb is not None: + frame = tb.tb_frame + # Skip debugger-internal frames, use last user frame + if self.get_file_type(frame) is None: + user_frame = frame + frames.append(frame) + tb = tb.tb_next + + if user_frame is None: + pydev_log.debug("trigger_exception_handler: no user frame found in traceback") + return + + frames_byid = dict([(id(frame), frame) for frame in frames]) + + if PYDEVD_USE_SYS_MONITORING: + saved_sys_monitoring_trace = pydevd_sys_monitoring.suspend_current_thread_tracing() + thread = threading.current_thread() + additional_info = self.set_additional_thread_info(thread) + additional_info.is_tracing += 1 + + try: + if as_uncaught: + self.stop_on_unhandled_exception(self, thread, additional_info, excinfo) + else: + self.do_stop_on_unhandled_exception(thread, user_frame, frames_byid, excinfo) + finally: + if PYDEVD_USE_SYS_MONITORING: + if saved_sys_monitoring_trace: + pydevd_sys_monitoring.resume_current_thread_tracing() + additional_info.is_tracing -= 1 + def set_trace_for_frame_and_parents(self, thread_ident: Optional[int], frame, **kwargs): disable = kwargs.pop("disable", False) assert not kwargs diff --git a/src/debugpy/public_api.py b/src/debugpy/public_api.py index 298a53f6..85ae2323 100644 --- a/src/debugpy/public_api.py +++ b/src/debugpy/public_api.py @@ -212,6 +212,33 @@ def trace_this_thread(__should_trace: bool): """ +@_api() +def trigger_exception_handler( + __excinfo: typing.Tuple[type, BaseException, typing.Any] | BaseException | None = None, + as_uncaught: bool = True, +) -> None: + """Stops the debugger on an unhandled exception. + + If a debug client is connected, pauses execution as if an + unhandled exception was caught. This allows inspection of the + exception and call stack at the point of failure. + + If no exception info is provided, uses sys.exc_info() to get + the current exception. If there is no current exception and no + argument is provided, does nothing. + + Safe to call when no debugger is connected (returns immediately). + + Example:: + + try: + risky_operation() + except Exception: + debugpy.trigger_exception_handler() # Uses current exception + raise + """ + + def get_cli_options() -> CliOptions | None: """Returns the CLI options that were processed by debugpy. diff --git a/src/debugpy/server/api.py b/src/debugpy/server/api.py index 81356783..98d3f1f0 100644 --- a/src/debugpy/server/api.py +++ b/src/debugpy/server/api.py @@ -364,3 +364,32 @@ def trace_this_thread(should_trace): pydb.enable_tracing() else: pydb.disable_tracing() + + +def trigger_exception_handler(excinfo=None, as_uncaught=True): + ensure_logging() + + if excinfo is None: + excinfo = sys.exc_info() + + if isinstance(excinfo, BaseException): + excinfo = (type(excinfo), excinfo, excinfo.__traceback__) + + exctype, value, tb = excinfo + if exctype is None or value is None or tb is None: + log.debug("trigger_exception_handler() ignored - no exception info") + return + + if not is_client_connected(): + log.info("trigger_exception_handler() ignored - debugger not attached") + return + + log.debug("trigger_exception_handler({0!r})", excinfo) + + pydb = get_global_debugger() + if pydb is None: + log.warning("trigger_exception_handler() ignored - no global debugger") + return + + pydb.trigger_exception_handler(excinfo, as_uncaught=as_uncaught) + diff --git a/tests/debugpy/test_trigger_exception_handler.py b/tests/debugpy/test_trigger_exception_handler.py new file mode 100644 index 00000000..a8553c56 --- /dev/null +++ b/tests/debugpy/test_trigger_exception_handler.py @@ -0,0 +1,205 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. +import pytest + +from tests import debug +from tests.patterns import some +from tests.timeline import Event + + +def test_trigger_exception_handler_basic(pyfile, target, run): + """Calling trigger_exception_handler() inside an except block should stop the debugger.""" + + @pyfile + def code_to_debug(): + import debuggee + debuggee.setup() + + import debugpy + + def risky_operation(): + raise ValueError("something went wrong") # @raise + + try: + risky_operation() + except ValueError: + debugpy.trigger_exception_handler() + + with debug.Session() as session: + with run(session, target(code_to_debug)): + session.request("setExceptionBreakpoints", {"filters": ["uncaught"]}) + + occ = session.wait_for_next( + Event("stopped") | Event("terminated"), + ) + + if occ.event == "terminated": + pytest.fail("Debuggee exited without hitting breakpoint") + + exc_info = session.request("exceptionInfo", {"threadId": occ.body['threadId']}) + assert exc_info == some.dict.containing( + { + "exceptionId": some.str.matching(r"(.+\.)?ValueError"), + "description": "something went wrong", + "breakMode": "unhandled", + } + ) + + session.request_continue() + +def test_trigger_exception_handler_basic_with_exception(pyfile, target, run): + """Can call trigger_exception_handler(e) with an exception alone.""" + + @pyfile + def code_to_debug(): + import debuggee + debuggee.setup() + + import debugpy + + def risky_operation(): + raise ValueError("something went wrong") # @raise + + try: + risky_operation() + except ValueError as e: + debugpy.trigger_exception_handler(e) + + with debug.Session() as session: + with run(session, target(code_to_debug)): + session.request("setExceptionBreakpoints", {"filters": ["uncaught"]}) + + occ = session.wait_for_next( + Event("stopped") | Event("terminated"), + ) + + if occ.event == "terminated": + pytest.fail("Debuggee exited without hitting breakpoint") + + exc_info = session.request("exceptionInfo", {"threadId": occ.body['threadId']}) + assert exc_info == some.dict.containing( + { + "exceptionId": some.str.matching(r"(.+\.)?ValueError"), + "description": "something went wrong", + "breakMode": "unhandled", + } + ) + + session.request_continue() + +def test_trigger_exception_handler_basic_no_uncaught_breakpoint(pyfile, target, run): + """We don't stop if the uncaught exception breakpoint isn't set.""" + + @pyfile + def code_to_debug(): + import debuggee + debuggee.setup() + + import debugpy + + def risky_operation(): + raise ValueError("something went wrong") # @raise + + try: + risky_operation() + except ValueError: + debugpy.trigger_exception_handler() + + with debug.Session() as session: + with run(session, target(code_to_debug)): + session.request("setExceptionBreakpoints", {"filters": []}) + + occ = session.wait_for_next( + Event("stopped") | Event("terminated"), + ) + + assert occ.event == "terminated", "Expected debuggee to exit without hitting breakpoint" + +def test_trigger_exception_handler_excinfo(pyfile, target, run): + """We can call trigger_exception_handler with an excinfo afterwards too.""" + + @pyfile + def code_to_debug(): + import sys + + import debuggee + debuggee.setup() + + import debugpy + + def risky_operation(): + raise ValueError("something went wrong") # @raise + + try: + risky_operation() + except ValueError: + excinfo = sys.exc_info() + + print("About to call trigger_exception_handler with excinfo") + debugpy.trigger_exception_handler(excinfo) + + + with debug.Session() as session: + with run(session, target(code_to_debug)): + session.request("setExceptionBreakpoints", {"filters": ["uncaught"]}) + + occ = session.wait_for_next( + Event("stopped") | Event("terminated"), + ) + + if occ.event == "terminated": + pytest.fail("Debuggee exited without hitting breakpoint") + + + exc_info = session.request("exceptionInfo", {"threadId": occ.body['threadId']}) + assert exc_info == some.dict.containing( + { + "exceptionId": some.str.matching(r"(.+\.)?ValueError"), + "description": "something went wrong", + "breakMode": "unhandled", + } + ) + + session.request_continue() + +def test_trigger_exception_handler_not_as_uncaught(pyfile, target, run): + """Setting as_uncaught=False enters postmortem debugging even if the uncaught exception breakpoint isn't set.""" + + @pyfile + def code_to_debug(): + import debuggee + debuggee.setup() + + import debugpy + + def risky_operation(): + raise ValueError("something went wrong") # @raise + + try: + risky_operation() + except ValueError: + debugpy.trigger_exception_handler(as_uncaught=False) + + + with debug.Session() as session: + with run(session, target(code_to_debug)): + session.request("setExceptionBreakpoints", {"filters": []}) + + occ = session.wait_for_next( + Event("stopped") | Event("terminated"), + ) + + if occ.event == "terminated": + pytest.fail("Debuggee exited without hitting breakpoint") + + exc_info = session.request("exceptionInfo", {"threadId": occ.body['threadId']}) + assert exc_info == some.dict.containing( + { + "exceptionId": some.str.matching(r"(.+\.)?ValueError"), + "description": "something went wrong", + "breakMode": "unhandled", + } + ) + + session.request_continue()