Write this in Latex for me:

> summary(bp)

	 Optimal (m+1)-segment partition: 

Call:
breakpoints.formula(formula = data$lnP_rel ~ 1, h = 0.05, breaks = 6)

Breakpoints at observation number:
                              
m = 1      441                
m = 2      442             777
m = 3      440     632 712    
m = 4      440     632 708 784
m = 5      442 502 632 708 784
m = 6   54 442 502 632 708 784

Corresponding to breakdates:
                                                                                                 
m = 1                      0.49109131403118                                                      
m = 2                      0.492204899777283                                                     
m = 3                      0.489977728285078                  0.703786191536748 0.792873051224944
m = 4                      0.489977728285078                  0.703786191536748 0.788418708240535
m = 5                      0.492204899777283 0.55902004454343 0.703786191536748 0.788418708240535
m = 6   0.0601336302895323 0.492204899777283 0.55902004454343 0.703786191536748 0.788418708240535
                         
m = 1                    
m = 2   0.865256124721604
m = 3                    
m = 4   0.873051224944321
m = 5   0.873051224944321
m = 6   0.873051224944321

Fit:
                                                                                
m   0          1          2          3          4          5          6         
RSS    15.0721     2.6935     2.0986     1.5675     1.3247     1.1254     0.9359
BIC -1108.4057 -2641.1528 -2851.6855 -3100.1213 -3237.6486 -3370.4684 -3522.4144
> data[bp$breakpoints, "Date"]
# A tibble: 6 × 1
  Date      
  <date>    
1 2020-08-14
2 2022-03-03
3 2022-05-27
4 2022-12-05
5 2023-03-27
6 2023-07-18
> lag_order_selection <- VARselect(ts_data, lag.max = 10, type = "const")
> print(lag_order_selection$selection) 
AIC(n)  HQ(n)  SC(n) FPE(n) 
     4      3      2      4 
> lag = lag_order_selection$selection[[3]]
> #run ADF test
> adf_Urals <- adf.test(ts_data$lnP_Urals, k = lag, alternative = "stationary")
> print(adf_Urals)

	Augmented Dickey-Fuller Test

data:  ts_data$lnP_Urals
Dickey-Fuller = -2.2658, Lag order = 2, p-value = 0.4649
alternative hypothesis: stationary

> adf_WTI <- adf.test(ts_data$lnP_WTI, k = lag, alternative = "stationary")
> print(adf_WTI)

	Augmented Dickey-Fuller Test

data:  ts_data$lnP_WTI
Dickey-Fuller = -2.0988, Lag order = 2, p-value = 0.5355
alternative hypothesis: stationary

> adf_rel <- adf.test(ts_data_1$lnP_rel, k = lag, alternative = "stationary")
> print(adf_rel)

	Augmented Dickey-Fuller Test

data:  ts_data_1$lnP_rel
Dickey-Fuller = -3.5162, Lag order = 2, p-value = 0.04118
alternative hypothesis: stationary

> #run johansen cointegration test
> johansen_test <- ca.jo(ts_data, type = "eigen", ecdet = "const", K = lag)
> summary(johansen_test)

###################### 
# Johansen-Procedure # 
###################### 

Test type: maximal eigenvalue statistic (lambda max) , without linear trend and constant in cointegration 

Eigenvalues (lambda):
[1]  5.656862e-02  1.099839e-02 -4.352208e-17

Values of teststatistic and critical values of test:

          test 10pct  5pct  1pct
r <= 1 |  4.26  7.52  9.24 12.97
r = 0  | 22.42 13.75 15.67 20.20

Eigenvectors, normalised to first column:
(These are the cointegration relations)

             lnP_WTI.l2 lnP_Urals.l2   constant
lnP_WTI.l2    1.0000000    1.0000000  1.0000000
lnP_Urals.l2 -1.0497056   -1.1151801 -0.5917214
constant      0.2288497    0.7932065 -1.6626186

Weights W:
(This is the loading matrix)

             lnP_WTI.l2 lnP_Urals.l2      constant
lnP_WTI.d   -0.07879800  0.008037648 -5.671087e-15
lnP_Urals.d  0.08970179  0.007360912  6.173509e-15

> #VECM estimate for pre-event period
> vecm_model <- VECM(ts_data, lag = lag, r = 1, include = "const")
> summary(vecm_model)
#############
###Model VECM 
#############
Full sample size: 387 	End sample size: 384
Number of variables: 2 	Number of estimated slope parameters 12
AIC -6231.894 	BIC -6180.536 	SSR 0.3823168
Cointegrating vector (estimated by 2OLS):
   lnP_WTI  lnP_Urals
r1       1 -0.9944054


                   ECT                 Intercept         lnP_WTI -1          lnP_Urals -1      
Equation lnP_WTI   -0.0500(0.0553)     0.0025(0.0012)*   -0.0496(0.0943)     0.0584(0.0985)    
Equation lnP_Urals 0.0377(0.0515)      0.0021(0.0011).   0.3305(0.0878)***   -0.3228(0.0916)***
                   lnP_WTI -2          lnP_Urals -2       
Equation lnP_WTI   -0.0485(0.0915)     -0.0149(0.0927)    
Equation lnP_Urals 0.1788(0.0851)*     -0.2096(0.0863)*