U 췀gN @sddlZddlZddlmZddlmZddlmZddlm Z e r\ddlm Z ddl m Z dZ d Zd Zd je eed ZeeejejBZGd ddeZddZdS)N) Integrationadd_global_event_processor)capture_internal_exceptions) TYPE_CHECKING)Any)Eventz[a-zA-Z0-9/._:\\-]+z[a-zA-Z0-9._:<>,-]+z [A-Fa-f0-9]+z ^(?P\d+)\.\s (?P{MODULE_RE})\( (?P{TYPE_RE}\ )? ((?P{TYPE_RE}) (?P\(.*\))? )? ((?P\ const)?\+0x(?P{HEXVAL_RE}))? \)\s \[0x(?P{HEXVAL_RE})\]$ ) MODULE_RE HEXVAL_RETYPE_REc@seZdZdZeddZdS)GnuBacktraceIntegrationZ gnu_backtracecCstdd}dS)Nc Ss(tt||W5QRSQRXdS)N)r_process_gnu_backtrace)eventhintrS/opt/hc_python/lib/python3.8/site-packages/sentry_sdk/integrations/gnu_backtrace.pyprocess_gnu_backtrace+szAGnuBacktraceIntegration.setup_once..process_gnu_backtracer)rrrr setup_once(sz"GnuBacktraceIntegration.setup_onceN)__name__ __module__ __qualname__ identifier staticmethodrrrrrr %sr c CsBttdkr|S|dd}|dkr.|S|dd}|dkrF|S|dd}|dkr^|S|D]}|didg}|sqb|dd}|sqbg}g}|D]R} t| } | r|t | d| dpd| d pdd d fq|| q|rb|j d d d|D]\} } || q|dd ||d<qb|S)Nexc_info exceptionvaluesZ stacktraceframesvalueindexpackagefunctionnative)rr platformcSs |d S)Nrr)xrrrdz(_process_gnu_backtrace..)keyz: ) sentry_sdkZ get_clientZget_integrationr get splitlinesFRAME_REmatchappendintgroupsortjoin) rrrrrrmsgZadditional_framesZnew_msgliner,_framerrrr 2sN            r )rer(Zsentry_sdk.integrationsrZsentry_sdk.scoperZsentry_sdk.utilsrtypingrrZsentry_sdk._typesrr r r formatr+compile MULTILINEVERBOSEr r rrrrs&