1. Breve referencia de la serie de tiempo elegida, asi como frecuencia, unidad de medida,fuente, etc.

Se describe como “bien de capital” de forma universal a todos aquellos equipos, inmuebles e instalaciones que son utilizadas por una compañía para producir y ofrecer todos sus productos o servicios; si se está hablando de negocios que operan internacionalmente, los bienes de capital son todos las gastos que tienen las compañías mientras se encuentran operativas, incluyendo manutención de oficinas (pago de alquiler, papelería) y uniformes de los empleados.

Los bienes de capital serán utilizados para ser parte del proceso productivo de otro bien, teniendo en cuenta que este tipo de bienes son duraderos ya que los capitalistas invertirán de la mejor forma para adquirir la mejor maquinaria y esto les ayude a una mayor obtención de beneficio. Los bienes de capital al ser fusionado con el capital humano van a generar el proceso de acumulación de capital, esto es generado por que la maquinaria será la encargada de transformar lo puesto en marca en el proceso de producción y el trabajador tendrá las habilidades físico-intelectuales que le ayudaran a maniobrar los bienes de capital para sacarle el mejor provecho. Dentro de la teoría económica tradicional, la industria de bienes de capital desempeña el papel de pivote del desarrollo económico, y por medio de ella se mide el nivel tecnológico y lo avanzado del sector productivo. Sin embargo, en la actualidad estas afirmaciones se han puesto a prueba, ya que el desarrollo dc la microelectrónica y de algunas ramas del sector servicios, como los puntales del avance tecnológico, parecen contradecir esos postulados. Importaciones de bienes de capital.

Fuente: INEGI. Importaciones de bienes de capital Periodicidad: Trimestral

Unidad de medida: miles de millones de pesos

Fecha inicial: Enero/1994

Fecha final: Diciembre/ 2017

Fecha de consulta: 17/08/2018 18:39:24

Índice base 2013=100

2 GRAFICAR LOS DATOS, ANALIZAR LOS PATRONES Y OBSERVACIONES ATIPICAS. APOYE SU ANALISIS CON UNA DESCOMPOSICION CLASICA.

library(readr)
library(gridExtra)
library(forecast)
library(fpp2)
library(lmtest)
library(TSA)
library(urca)
library(ggplot2)
library(rmarkdown)
library(zoo)
capital<-read.csv(file.choose())
View(capital)
bc<-ts(capital$fk,frequency = 4, start = c(1994,1))
autoplot(bc, main="formacion de capital", xlab = "Años", ylab = "capital")

El siguiente gráfico se pudede visualizar cada componente de la serie, los datos originales, la tendencia, la estacionalidad, y los residuos

fit<- decompose(bc, type = "additive")
autoplot(fit)

3 SI ES NECESARIO, UTILIZAR TRANSFORMACION BOX-COX/ LOGARITMOS PARA ESTABILIZAR LA VARIANZA

aplique la funcion BOXCOX para estabilizar la varianza pero no corrio el comando

BoxCox.ar(bc)
possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1possible convergence problem: optim gave code = 1Error in solve.default(res$hessian * length(x)) : 
  Lapack routine dgesv: system is exactly singular: U[2,2] = 0

entonces aploque logaritmos

plot(diff(diff(log(bc))), type="l")

aplique diferencia de la diferencia del logaritmo y logre qu ela varianza de la serie se estabilizara asi como se quito la tendencia marcada que tenia al principio

4. Modelar la serie de tiempo elegida como funcion de una tendencia, tendencia cuadratica y/o medias estacionales. Presente el diagnostico del modelo elegido.

Modelo 1 Tendencia

reg1<-lm(bc ~ time(bc))
summary(reg1)

Call:
lm(formula = bc ~ time(bc))

Residuals:
    Min      1Q  Median      3Q     Max 
-112144  -26408    5679   31762   79346 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -4.427e+07  1.241e+06  -35.68   <2e-16 ***
time(bc)     2.225e+04  6.186e+02   35.98   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 41990 on 94 degrees of freedom
Multiple R-squared:  0.9323,    Adjusted R-squared:  0.9316 
F-statistic:  1294 on 1 and 94 DF,  p-value: < 2.2e-16
library(ggplot2)
plot(reg1)

ggplot(bc, aes(y=bc, x=time(bc)))+ geom_point()+ geom_smooth(method = 'lm')

autoplot(bc)+ geom_smooth()

GRAFICA RESIDUAL

library(ggplot2)
plot(y=rstandard(reg1),x=as.vector(time(bc)), xlab = "tiempo", ylab="residuales estandarizados", type = 'o')

GRAFICO HISTOGRAMA

hist(rstandard(reg1),xlab='Residuales  estandarizados')

GRAFICOS CUALTIL-CUANTIL*

qqnorm(rstandard(reg1)); qqline(rstandard(reg1), col='blue')

La normalidad puede ser evaluada al graficar el llamado gráficorcuantil-cuantil (QQ-plot). Tal gráfico presenta los cuantiles de los datosreales versus los cuantiles de una distribución normal teórica por que van sobre la linea

PRUEBA SHAPIRO

shapiro.test(rstandard(reg1))

    Shapiro-Wilk normality test

data:  rstandard(reg1)
W = 0.97188, p-value = 0.03682

p-value=0.03682 lo que no esta arriba de 0.05 por tanto se rechaza la hipotesis nula y se acepta la alternativa. es decir el componente estocastico no es normalmente distribuido

5. En caso de estacionalidad de la serie de tiempo, aplicar diferencias estacionales. Presentar grafica.

library(gridExtra)
bc.es<-(diff(log(bc)))
d1<-autoplot(bc,main="productividad manufacturera")
d2<-autoplot (log(bc),main= "Log(productividad manufacturera)")
d3<-autoplot(bc.es, main='Difference  of  Log(productividad manufacturera)')
grid.arrange(d1, d2, d3)

la serie muestra que tiene una tendencia muuuy marcada y poca estacionalidad por lo que aplicamos diferencias no estacionales. que nos ayudaran a quitar la tendencia y ajustar la estacionalidad como lo podemos ver en la grafica 3

logbc1<-plot(log(bc), main="formacionde capital")

dlogbc2<-plot(diff(log(bc)),main="diferencia de logaritmo de formacionde capital")

dlogbc3<-plot(diff(bc, difference=2),main= "segunda diferencia de formacionde capital")
grid(logbc1, dlogbc2, dlogbc3)

aqui de nueva cuenta se pudo estabilizar hasta la segunda diferencia por lo que se ve en la grafica.

6. Usar prueba Dickey-Fuller para evaluar el orden de integracion de la serie. Diferenciar hasta que la serie sea estacionaria.

summary(ur.df(bc))

############################################### 
# Augmented Dickey-Fuller Test Unit Root Test # 
############################################### 

Test regression none 


Call:
lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)

Residuals:
    Min      1Q  Median      3Q     Max 
-155741   -8811    6762   19153   72392 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
z.lag.1     0.016639   0.009268   1.795   0.0759 .  
z.diff.lag -0.404709   0.096899  -4.177 6.72e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 34910 on 92 degrees of freedom
Multiple R-squared:  0.1674,    Adjusted R-squared:  0.1493 
F-statistic: 9.249 on 2 and 92 DF,  p-value: 0.0002187


Value of test-statistic is: 1.7953 

Critical values for test statistics: 
     1pct  5pct 10pct
tau1 -2.6 -1.95 -1.61

H0=No es estacionaria (+0.05) H1=Es estacionaria (-0.05)

el p-value: 0.0002187 por lo que se rechaza la hipotesis nula , o se acepta la alternativa. por lo que nos dice que la serie ya es estacionaria.

7. Usar herramientas ACF, PACF, EACF y criterios de Akaike/ Bayes para construir propuestas de modelos.

st<- log(bc)
ggtsdisplay(diff(bc,4))

ggtsdisplay(diff(bc,1))

ggtsdisplay(diff(diff(bc,4)))

tambien observamos que hasta aplicar la segunda diferencia se puede estabilizar la serie. ahora procedere a hacer algunas propuestas

PROPUESTA 1 AR1

fit1<-auto.arima(bc)
fit1
Series: bc 
ARIMA(2,0,1)(0,1,1)[4] with drift 

Coefficients:
NaNs produced
         ar1      ar2      ma1    sma1     drift
      1.8165  -0.8745  -0.9568  -0.568  5453.455
s.e.     NaN      NaN      NaN     NaN       NaN

sigma^2 estimated as 437160568:  log likelihood=-1045.55
AIC=2103.09   AICc=2104.08   BIC=2118.22
checkresiduals(fit1)

    Ljung-Box test

data:  Residuals from ARIMA(2,0,1)(0,1,1)[4] with drift
Q* = 3.5547, df = 3, p-value = 0.3137

Model df: 5.   Total lags used: 8

PROPUESTA 2 ARIMA(1,0,0)(1,1,0)

fit2<-Arima(st,order=c(1,0,0),seasonal=c(1,1,0))
fit2
Series: st 
ARIMA(1,0,0)(1,1,0)[4] 

Coefficients:
         ar1     sar1
      0.8964  -0.4789
s.e.  0.0469   0.1261

sigma^2 estimated as 0.008809:  log likelihood=87.11
AIC=-168.21   AICc=-167.94   BIC=-160.65

rr checkresiduals(fit5)


    Ljung-Box test

data:  Residuals from ARIMA(1,0,1)(0,1,1)[4]
Q* = 4.3244, df = 5, p-value = 0.5037

Model df: 3.   Total lags used: 8

PROPUESTA 3 ARIMA(2,1,0)(1,1,0)

fit3<-Arima(st, order=c(2,1,0),seasonal=c(1,1,0))
fit3
Series: st 
ARIMA(2,1,0)(1,1,0)[4] 

Coefficients:
         ar1      ar2     sar1
      0.1570  -0.0079  -0.5533
s.e.  0.1111   0.1054   0.1284

sigma^2 estimated as 0.00914:  log likelihood=85.33
AIC=-162.66   AICc=-162.2   BIC=-152.62
checkresiduals(fit3)

    Ljung-Box test

data:  Residuals from ARIMA(2,1,0)(1,1,0)[4]
Q* = 9.3123, df = 5, p-value = 0.09724

Model df: 3.   Total lags used: 8

PROPUESTA 4 MA(1)

fit4<-Arima(st, order=c(0,1,1),seasonal=c(0,1,1))
fit4
Series: st 
ARIMA(0,1,1)(0,1,1)[4] 

Coefficients:
         ma1     sma1
      0.1030  -0.9999
s.e.  0.1138   0.1057

sigma^2 estimated as 0.006641:  log likelihood=93.77
AIC=-181.54   AICc=-181.27   BIC=-174.01
checkresiduals(fit4)

    Ljung-Box test

data:  Residuals from ARIMA(0,1,1)(0,1,1)[4]
Q* = 12.685, df = 6, p-value = 0.04832

Model df: 2.   Total lags used: 8

PROPUESTA 5 ARIMA(1,0,1)(0,1,1)[4]

fit5<-Arima(st, order=c(1,0,1),seasonal=c(0,1,1))
fit5
Series: st 
ARIMA(1,0,1)(0,1,1)[4] 

Coefficients:
         ar1     ma1     sma1
      0.9994  0.1023  -0.9839
s.e.  0.0057  0.1139   0.0778

sigma^2 estimated as 0.006815:  log likelihood=95.22
AIC=-182.44   AICc=-181.98   BIC=-172.35
checkresiduals(fit5)

    Ljung-Box test

data:  Residuals from ARIMA(1,0,1)(0,1,1)[4]
Q* = 6.3111, df = 5, p-value = 0.2771

Model df: 3.   Total lags used: 8

PROPUESTA 6 ARIMA(0,1,0)

fit6<-Arima(st, order=c(0,1,0),seasonal=c(0,1,1))
fit6
Series: st 
ARIMA(0,1,0)(0,1,1)[4] 

Coefficients:
         sma1
      -0.9999
s.e.   0.1002

sigma^2 estimated as 0.006627:  log likelihood=93.36
AIC=-182.73   AICc=-182.59   BIC=-177.7
checkresiduals(fit6)

    Ljung-Box test

data:  Residuals from ARIMA(0,1,0)(0,1,1)[4]
Q* = 13.742, df = 7, p-value = 0.05596

Model df: 1.   Total lags used: 8

despues de proponer 6 modelos diferentes opto por la propuesta numero 5 ARIMA(1,0,1)(0,1,1), ya que los rezagos se ve que no se salen de las graficas, se ajutaron muy bien

7 COMO PARTE DEL DIAGNOSTICO DEL MODELO, ANALIZAR LOS RESIDUOS Y APLOCAR LA PRUEBA LJUNG-BOX

checkresiduals(fit5)

    Ljung-Box test

data:  Residuals from ARIMA(1,0,1)(0,1,1)[4]
Q* = 6.3111, df = 5, p-value = 0.2771

Model df: 3.   Total lags used: 8

8. Como parte del diagnostico del modelo, analizar los residuos y aplicar la prueba Ljung-Box.

checkresiduals(fit5)

    Ljung-Box test

data:  Residuals from ARIMA(1,0,1)(0,1,1)[4]
Q* = 6.3111, df = 5, p-value = 0.2771

Model df: 3.   Total lags used: 8

9 USAR LA FUNCION.ARIMA() Y COMPARE SUS RESULTADOS CON EL INCISO ANTERIOS

fit7<-auto.arima(st,stepwise = FALSE, approximation = FALSE)
fit7
Series: st 
ARIMA(0,1,0)(2,0,0)[4] 

Coefficients:
        sar1    sar2
      0.3478  0.3495
s.e.  0.1257  0.1285

sigma^2 estimated as 0.008466:  log likelihood=91.68
AIC=-177.36   AICc=-177.1   BIC=-169.7
checkresiduals(fit7)

    Ljung-Box test

data:  Residuals from ARIMA(0,1,0)(2,0,0)[4]
Q* = 7.0399, df = 6, p-value = 0.3172

Model df: 2.   Total lags used: 8

10 PRESENTE LA ECUACION FINAL Y DESCRIBA

la ecuacion se ha determinado a partir del proceso de auto.arima es:

\[ y_t= 0.3478e_t_1+0.3495e_t_2 \]

11 Realizar el pronostico ARIMA para dos anos.

pronostico<-plot(forecast(fit7,h=24))

pronostico
$`mean`
         Qtr1     Qtr2     Qtr3     Qtr4
2018 13.31642 13.37526 13.40460 13.41232
2019 13.35025 13.39264 13.41778 13.42738
2020 13.37664 13.41195 13.43095 13.43699
2021 13.39765 13.42474 13.44014 13.44559
2022 13.41418 13.43594 13.44794 13.45195
2023 13.42727 13.44431 13.45386 13.45716

$lower
             80%      95%
2018 Q1 13.19850 13.13608
2018 Q2 13.20850 13.12022
2018 Q3 13.20036 13.09224
2018 Q4 13.17649 13.05165
2019 Q1 13.06586 12.91531
2019 Q2 13.06686 12.89439
2019 Q3 13.05529 12.86340
2019 Q4 13.03158 12.82206
2020 Q1 12.92650 12.68821
2020 Q2 12.91335 12.64941
2020 Q3 12.88820 12.60089
2020 Q4 12.85343 12.54451
2021 Q1 12.76356 12.42789
2021 Q2 12.74387 12.38343
2021 Q3 12.71548 12.33187
2021 Q4 12.67966 12.27420
2022 Q1 12.59897 12.16742
2022 Q2 12.57427 12.11813
2022 Q3 12.54218 12.06270
2022 Q4 12.50415 12.00242
2023 Q1 12.43262 11.90608
2023 Q2 12.40491 11.85468
2023 Q3 12.37156 11.79862
2023 Q4 12.33360 11.73882

$upper
             80%      95%
2018 Q1 13.43434 13.49676
2018 Q2 13.54201 13.63029
2018 Q3 13.60884 13.71696
2018 Q4 13.64816 13.77300
2019 Q1 13.63464 13.78518
2019 Q2 13.71843 13.89089
2019 Q3 13.78026 13.97215
2019 Q4 13.82318 14.03270
2020 Q1 13.82679 14.06508
2020 Q2 13.91055 14.17449
2020 Q3 13.97370 14.26101
2020 Q4 14.02055 14.32947
2021 Q1 14.03174 14.36740
2021 Q2 14.10562 14.46606
2021 Q3 14.16479 14.54840
2021 Q4 14.21152 14.61698
2022 Q1 14.22938 14.66093
2022 Q2 14.29761 14.75376
2022 Q3 14.35369 14.83317
2022 Q4 14.39974 14.90147
2023 Q1 14.42192 14.94846
2023 Q2 14.48371 15.03394
2023 Q3 14.53616 15.10910
2023 Q4 14.58073 15.17551

12. Utilizando metodos de pronosticos simples y/o suavizamiento exponencial generarun pronostico para dos anos. Elegir el metodo que presente la raiz del error medio al cuadrado mas pequeno.

PRONOSTICO SIMPLE

library(forecast)
library(ggplot2)
bc2<-window(bc,start=1994,end=c(2017,4))
autoplot(bc2)+forecast::autolayer(meanf(bc2,h=11),PI=FALSE,series="Mean")+forecast::autolayer(naive(bc2,h=11),PI=FALSE,series="Naïve")+forecast::autolayer(snaive(bc2,h=11),PI=FALSE,series="Seasonalnaïve")+ggtitle("PRODUCCION LABORAL MANUFACTURERA")+xlab("Year")+ylab("PRODUCCION")+guides(colour=guide_legend(title="Forecast"))

library(forecast)
library(ggplot2)
bcfit1<-meanf(bc2,h=10)
bcfit2<-rwf(bc2,h=10)
bcfit3<-snaive(bc2,h=10)
autoplot(window(bc,start=2008))+forecast::autolayer(bcfit1,series="Mean",PI=FALSE)+forecast::autolayer(bcfit2,series="Naïve",PI=FALSE)+forecast::autolayer(bcfit3,series="Seasonalnaïve",PI=FALSE)+xlab("Year")+ylab("PRODUCCION")+guides(colour=guide_legend(title="Forecast"))

library(forecast)
bc4<-window(bc,start=2008)
accuracy(bcfit1, bc4)
'start' value not changedError in window.default(x, ...) : 'start' cannot be after 'end'

rr accuracy(wfit2, w4)

rr accuracy(wfit3, w4)

SUAVECIMIENTO EXPONENCIAL

BC<-window(bc,start=1994)
fc<-ses(BC,h=5)
round(accuracy(fc),2)
                 ME     RMSE      MAE  MPE MAPE MASE  ACF1
Training set 8034.6 34951.83 27218.18 1.48 8.27  0.7 -0.09

Suavizamiento exponencial simple

autoplot(fc)+autolayer(fitted(fc),series="Fitted")+ylab("PRODUCCION")+xlab("Year")

Métodos de tendencia Método de estacionalidad de Holt-Winters

library(forecast)
library(ggplot2)
BC<-window(bc,start=1994)
bcfit1<-hw(bc,seasonal="additive")
bcfit2<-hw(bc,seasonal="multiplicative")
autoplot(bc)+ autolayer(bcfit1,series="HW additive forecasts",PI=FALSE)+autolayer(bcfit2,series="HW  multiplicative  forecasts",PI=FALSE)+xlab("Year")+ylab("Visitor  nights  (millions)")+ggtitle("International  visitors  nights  in  Australia")+guides(colour=guide_legend(title="Forecast"))

14. Analizar un VAR, necesita incluir los puntos siguientes

  1. Buscar otra variable (incluso mas variables) y redactar la teoria que se encuentra detras de la relacion entre variables que propone. La variable propuesta es DESARROLLOTECNOLOGICO ya que NATHAN ROSENBERG justifica la importancia de bienes de capital por su capacidad de generar cambio tecnologico incorporado asi como su caracter articular con otros serctores productivos, favoreciendo el proceso de desarrollo economico. por el lado metodologico in put ooutputresulta ser el mas ideono para el proceso de la investigacion la importancia del cambio tecnologico mediante el estudio de patentes, se demostro que la dinamica de innovacion del sector esta relacionada con los flujos de conocimiento al crear y difundir innovaciones, y por su habilidad de asimilar los avances generados en otros sectores.

  2. Evaluar la estacionalidad de la nueva variable.

library(vars)
library(zoo)
library(fpp2)
library(urca)
library(TSA)
library(MASS)
library(forecast)
rm(list = ls()) 
capitalhumano <- read.csv(file.choose())
desarrollotec<- read.csv(file.choose())
ch<- ts(capitalhumano$fk, start = c(2005,1),frequency = 4)
dt<- ts(desarrollotec$dato, start = c(2005,1), frequency = 4)
library(ggplot2)
plot(ch)

plot(dt)

mes.<- season(ch)
reg.ch <- lm(ch ~ time(ch) + mes.)
summary(reg.ch)

Call:
lm(formula = ch ~ time(ch) + mes.)

Residuals:
    Min      1Q  Median      3Q     Max 
-111093  -23006    5945   26430   73369 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -4.436e+07  1.171e+06 -37.869  < 2e-16 ***
time(ch)     2.216e+04  5.809e+02  38.155  < 2e-16 ***
mes.2Q       2.139e+04  1.137e+04   1.881 0.063222 .  
mes.3Q       2.202e+04  1.138e+04   1.935 0.056039 .  
mes.4Q       4.516e+04  1.138e+04   3.968 0.000144 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 39400 on 91 degrees of freedom
Multiple R-squared:  0.9423,    Adjusted R-squared:  0.9397 
F-statistic: 371.4 on 4 and 91 DF,  p-value: < 2.2e-16
mes. <- season(dt)
reg.dt<- lm(dt ~ time(dt) + mes.)
summary(dt)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   90.3    97.7   101.2   101.8   105.4   115.7 

Aplicamos las transformaciones necesarios (ej. diferencias y log)

ddch<- diff(log(ch,4)) 
dddt <- diff(log(dt,4)) 
ggtsdisplay(ddch)

ggtsdisplay(dddt)

summary(ur.df(ddch))

############################################### 
# Augmented Dickey-Fuller Test Unit Root Test # 
############################################### 

Test regression none 


Call:
lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.40032 -0.02618  0.02899  0.05697  0.14712 

Coefficients:
           Estimate Std. Error t value Pr(>|t|)    
z.lag.1    -1.14945    0.16552  -6.944  5.5e-10 ***
z.diff.lag -0.08667    0.10434  -0.831    0.408    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.07895 on 91 degrees of freedom
Multiple R-squared:  0.6321,    Adjusted R-squared:  0.624 
F-statistic: 78.18 on 2 and 91 DF,  p-value: < 2.2e-16


Value of test-statistic is: -6.9443 

Critical values for test statistics: 
     1pct  5pct 10pct
tau1 -2.6 -1.95 -1.61
summary(ur.df(dddt))

############################################### 
# Augmented Dickey-Fuller Test Unit Root Test # 
############################################### 

Test regression none 


Call:
lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)

Residuals:
       Min         1Q     Median         3Q        Max 
-0.0203045 -0.0032029  0.0005004  0.0052048  0.0198081 

Coefficients:
           Estimate Std. Error t value Pr(>|t|)   
z.lag.1    -0.39676    0.12382  -3.204  0.00241 **
z.diff.lag  0.07106    0.14297   0.497  0.62145   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.007202 on 48 degrees of freedom
Multiple R-squared:  0.1892,    Adjusted R-squared:  0.1554 
F-statistic: 5.599 on 2 and 48 DF,  p-value: 0.006523


Value of test-statistic is: -3.2042 

Critical values for test statistics: 
     1pct  5pct 10pct
tau1 -2.6 -1.95 -1.61

se guarda como unico objeto

base1 <-cbind.zoo(capitalhumano = ch,  desarrollotec= dt)
View(base1)
plot(base1[,1:2])

library(vars)
vars
function (...) 
{
    quos(...)
}
<bytecode: 0x000000001fb8f208>
<environment: namespace:dplyr>
VARselect( base1 [,1:2], lag.max = 12, type = "const")[["selection"]]
Error in VARselect(base1[, 1:2], lag.max = 12, type = "const") : 
NAs in y.
  1. Proponga el orden de rezagos optimo para el VAR y presentar la estimacion.

3 REZAGOS

var1 <- VAR(base1[,1:2], p=1, type = "const")
Error in VAR(base1[, 1:2], p = 1, type = "const") : 
NAs in y.

5REZAGOS

rr library(vars) var2<- VAR(base1[,1:2], p=2, type = ) summary(var2) serial.test(var2,lags.pt=10,type=.asymptotic)

Para que la serie sea estacionaria se requiere que las raices del binomio caracteristico sea menos que 1, en este las raices son de 0.4163 y 0.4163.

Como son 2 variables, genera dos ecuaciones. La primera se trata de el consumo esta en función del consumo rezagado + la pp rezagada.

ya que la serie es estacionaria si hay un choque no hay problema ya que regresa a su tendencia de largo plazo.

  1. Probar la correlacion serial y normalidad en los residuos.

rr var1<- serial.test(var1, lags.pt = 12) var1

h0= No hay correlación entre los residuos de los periodos distintos. (>0.05)

rr cusum<-stability(var1,type = -CUSUM) plot(cusum)

rr rec.cusum<-stability(var1,type=-CUSUM) plot(rec.cusum)

  1. Resultados de la prueba de causalidad de Granger

rr causality(var1,cause=)\(Granger causality(var1,cause=\perocup\)\)Granger

  1. Crear un pronostico para dos anos usando el VAR especificado.

rr predictions<-predict(var1,n.ahead=10,ci=0.95) class(predictions) plot(predictions)

  1. Interpretar las funciones impulso-respuesta.

rr plot(irf(var1,impulse=,response=,ortho=T))

rr plot(irf(var1,impulse=,response=,ortho=T))

15. Evaluar la potencial cointegracion usando la metodologia de Engle-Granger y Johansen.

LS0tDQp0aXRsZTogIkZPUk1BQ0lPTiBERSBDQVBJVEFMIDJETyBQQVJDSUFMIg0KYXV0aG9yOiAiQkFMVEFaQVIgR1VaTUFOIE5JVFpJQSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQojMS4gQnJldmUgcmVmZXJlbmNpYSBkZSBsYSBzZXJpZSBkZSB0aWVtcG8gZWxlZ2lkYSwgYXNpIGNvbW8gZnJlY3VlbmNpYSwgdW5pZGFkIGRlIG1lZGlkYSxmdWVudGUsIGV0Yy4NCg0KU2UgZGVzY3JpYmUgY29tbyAiYmllbiBkZSBjYXBpdGFsIiBkZSBmb3JtYSB1bml2ZXJzYWwgYSB0b2RvcyBhcXVlbGxvcyBlcXVpcG9zLCBpbm11ZWJsZXMgZSBpbnN0YWxhY2lvbmVzIHF1ZSBzb24gdXRpbGl6YWRhcyBwb3IgdW5hIGNvbXBh8e1hIHBhcmEgcHJvZHVjaXIgeSBvZnJlY2VyIHRvZG9zIHN1cyBwcm9kdWN0b3MgbyBzZXJ2aWNpb3M7IHNpIHNlIGVzdOEgaGFibGFuZG8gZGUgbmVnb2Npb3MgcXVlIG9wZXJhbiBpbnRlcm5hY2lvbmFsbWVudGUsIGxvcyBiaWVuZXMgZGUgY2FwaXRhbCBzb24gdG9kb3MgbGFzIGdhc3RvcyBxdWUgdGllbmVuIGxhcyBjb21wYfHtYXMgbWllbnRyYXMgc2UgZW5jdWVudHJhbiBvcGVyYXRpdmFzLCBpbmNsdXllbmRvIG1hbnV0ZW5jafNuIGRlIG9maWNpbmFzIChwYWdvIGRlIGFscXVpbGVyLCBwYXBlbGVy7WEpIHkgdW5pZm9ybWVzIGRlIGxvcyBlbXBsZWFkb3MuDQoNCkxvcyBiaWVuZXMgZGUgY2FwaXRhbCBzZXLhbiB1dGlsaXphZG9zIHBhcmEgc2VyIHBhcnRlIGRlbCBwcm9jZXNvIHByb2R1Y3Rpdm8gZGUgb3RybyBiaWVuLCB0ZW5pZW5kbyBlbiBjdWVudGEgcXVlIGVzdGUgdGlwbyBkZSBiaWVuZXMgc29uIGR1cmFkZXJvcyB5YSBxdWUgbG9zIGNhcGl0YWxpc3RhcyBpbnZlcnRpcuFuIGRlIGxhIG1lam9yIGZvcm1hIHBhcmEgYWRxdWlyaXIgbGEgbWVqb3IgbWFxdWluYXJpYSB5IGVzdG8gbGVzIGF5dWRlIGEgdW5hIG1heW9yIG9idGVuY2nzbiBkZSBiZW5lZmljaW8uIExvcyBiaWVuZXMgZGUgY2FwaXRhbCBhbCBzZXIgZnVzaW9uYWRvIGNvbiBlbCBjYXBpdGFsIGh1bWFubyB2YW4gYSBnZW5lcmFyIGVsIHByb2Nlc28gZGUgYWN1bXVsYWNp824gZGUgY2FwaXRhbCwgZXN0byBlcyBnZW5lcmFkbyBwb3IgcXVlIGxhIG1hcXVpbmFyaWEgc2Vy4SBsYSBlbmNhcmdhZGEgZGUgdHJhbnNmb3JtYXIgbG8gcHVlc3RvIGVuIG1hcmNhIGVuIGVsIHByb2Nlc28gZGUgcHJvZHVjY2nzbiB5IGVsIHRyYWJhamFkb3IgdGVuZHLhIGxhcyBoYWJpbGlkYWRlcyBm7XNpY28taW50ZWxlY3R1YWxlcyBxdWUgbGUgYXl1ZGFyYW4gYSBtYW5pb2JyYXIgbG9zIGJpZW5lcyBkZSBjYXBpdGFsIHBhcmEgc2FjYXJsZSBlbCBtZWpvciBwcm92ZWNoby4gRGVudHJvIGRlIGxhIHRlb3LtYSBlY29u821pY2EgdHJhZGljaW9uYWwsIGxhIGluZHVzdHJpYSBkZSBiaWVuZXMgZGUgY2FwaXRhbCBkZXNlbXBl8WEgZWwgcGFwZWwgZGUgcGl2b3RlIGRlbCBkZXNhcnJvbGxvIGVjb27zbWljbywgeSBwb3IgbWVkaW8gZGUgZWxsYSBzZSBtaWRlIGVsIG5pdmVsIHRlY25vbPNnaWNvIHkgbG8gYXZhbnphZG8gZGVsIHNlY3RvciBwcm9kdWN0aXZvLiBTaW4gZW1iYXJnbywgZW4gbGEgYWN0dWFsaWRhZCBlc3RhcyBhZmlybWFjaW9uZXMgc2UgaGFuIHB1ZXN0byBhIHBydWViYSwgeWEgcXVlIGVsIGRlc2Fycm9sbG8gZGMgbGEgbWljcm9lbGVjdHLzbmljYSB5IGRlIGFsZ3VuYXMgcmFtYXMgZGVsIHNlY3RvciBzZXJ2aWNpb3MsIGNvbW8gbG9zIHB1bnRhbGVzIGRlbCBhdmFuY2UgdGVjbm9s82dpY28sIHBhcmVjZW4gY29udHJhZGVjaXIgZXNvcyBwb3N0dWxhZG9zLg0KSW1wb3J0YWNpb25lcyBkZSBiaWVuZXMgZGUgY2FwaXRhbC4NCg0KRnVlbnRlOiBJTkVHSS4gSW1wb3J0YWNpb25lcyBkZSBiaWVuZXMgZGUgY2FwaXRhbA0KUGVyaW9kaWNpZGFkOiBUcmltZXN0cmFsDQoNClVuaWRhZCBkZSBtZWRpZGE6IG1pbGVzIGRlIG1pbGxvbmVzIGRlIHBlc29zDQoNCkZlY2hhIGluaWNpYWw6IEVuZXJvLzE5OTQNCg0KRmVjaGEgZmluYWw6IERpY2llbWJyZS8gMjAxNw0KDQpGZWNoYSBkZSBjb25zdWx0YTogMTcvMDgvMjAxOCAxODozOToyNA0KDQrNbmRpY2UgYmFzZSAyMDEzPTEwMA0KDQoNCiMyIEdSQUZJQ0FSIExPUyBEQVRPUywgQU5BTElaQVIgTE9TIFBBVFJPTkVTIFkgT0JTRVJWQUNJT05FUyBBVElQSUNBUy4gQVBPWUUgU1UgQU5BTElTSVMgQ09OIFVOQSBERVNDT01QT1NJQ0lPTiBDTEFTSUNBLg0KYGBge3J9DQpsaWJyYXJ5KHJlYWRyKQ0KbGlicmFyeShncmlkRXh0cmEpDQpsaWJyYXJ5KGZvcmVjYXN0KQ0KbGlicmFyeShmcHAyKQ0KbGlicmFyeShsbXRlc3QpDQpsaWJyYXJ5KFRTQSkNCmxpYnJhcnkodXJjYSkNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkocm1hcmtkb3duKQ0KbGlicmFyeSh6b28pDQpgYGANCg0KYGBge3J9DQpjYXBpdGFsPC1yZWFkLmNzdihmaWxlLmNob29zZSgpKQ0KVmlldyhjYXBpdGFsKQ0KYmM8LXRzKGNhcGl0YWwkZmssZnJlcXVlbmN5ID0gNCwgc3RhcnQgPSBjKDE5OTQsMSkpDQpgYGANCg0KYGBge3J9DQphdXRvcGxvdChiYywgbWFpbj0iZm9ybWFjaW9uIGRlIGNhcGl0YWwiLCB4bGFiID0gIkHxb3MiLCB5bGFiID0gImNhcGl0YWwiKQ0KYGBgDQoNCkVsIHNpZ3VpZW50ZSBncuFmaWNvIHNlIHB1ZGVkZSB2aXN1YWxpemFyIGNhZGEgY29tcG9uZW50ZSBkZSBsYSBzZXJpZSwgbG9zIGRhdG9zIG9yaWdpbmFsZXMsIGxhIHRlbmRlbmNpYSwgbGEgZXN0YWNpb25hbGlkYWQsIHkgbG9zIHJlc2lkdW9zDQoNCmBgYHtyfQ0KZml0PC0gZGVjb21wb3NlKGJjLCB0eXBlID0gImFkZGl0aXZlIikNCmF1dG9wbG90KGZpdCkNCmBgYA0KDQojMyBTSSBFUyBORUNFU0FSSU8sIFVUSUxJWkFSIFRSQU5TRk9STUFDSU9OIEJPWC1DT1gvIExPR0FSSVRNT1MgUEFSQSBFU1RBQklMSVpBUiBMQSBWQVJJQU5aQQ0KDQphcGxpcXVlIGxhIGZ1bmNpb24gQk9YQ09YIHBhcmEgZXN0YWJpbGl6YXIgbGEgdmFyaWFuemEgcGVybyBubyBjb3JyaW8gZWwgY29tYW5kbyANCmBgYHtyfQ0KQm94Q294LmFyKGJjKQ0KYGBgDQoNCmVudG9uY2VzIGFwbG9xdWUgbG9nYXJpdG1vcyANCmBgYHtyfQ0KcGxvdChkaWZmKGRpZmYobG9nKGJjKSkpLCB0eXBlPSJsIikNCmBgYA0KDQphcGxpcXVlIGRpZmVyZW5jaWEgZGUgbGEgZGlmZXJlbmNpYSBkZWwgbG9nYXJpdG1vIHkgbG9ncmUgcXUgZWxhIHZhcmlhbnphIGRlIGxhIHNlcmllIHNlIGVzdGFiaWxpemFyYSBhc2kgY29tbyBzZSBxdWl0byBsYSB0ZW5kZW5jaWEgbWFyY2FkYSBxdWUgdGVuaWEgYWwgcHJpbmNpcGlvDQoNCiM0LiBNb2RlbGFyIGxhIHNlcmllIGRlIHRpZW1wbyBlbGVnaWRhIGNvbW8gZnVuY2lvbiBkZSB1bmEgdGVuZGVuY2lhLCB0ZW5kZW5jaWEgY3VhZHJhdGljYSB5L28gbWVkaWFzIGVzdGFjaW9uYWxlcy4gUHJlc2VudGUgZWwgZGlhZ25vc3RpY28gZGVsIG1vZGVsbyBlbGVnaWRvLiMNCk1vZGVsbyAxIFRlbmRlbmNpYQ0KYGBge3J9DQpyZWcxPC1sbShiYyB+IHRpbWUoYmMpKQ0Kc3VtbWFyeShyZWcxKQ0KYGBgDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCnBsb3QocmVnMSkNCmBgYA0KYGBge3J9DQpnZ3Bsb3QoYmMsIGFlcyh5PWJjLCB4PXRpbWUoYmMpKSkrIGdlb21fcG9pbnQoKSsgZ2VvbV9zbW9vdGgobWV0aG9kID0gJ2xtJykNCmBgYA0KYGBge3J9DQphdXRvcGxvdChiYykrIGdlb21fc21vb3RoKCkNCmBgYA0KDQpHUkFGSUNBIFJFU0lEVUFMDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCnBsb3QoeT1yc3RhbmRhcmQocmVnMSkseD1hcy52ZWN0b3IodGltZShiYykpLCB4bGFiID0gInRpZW1wbyIsIHlsYWI9InJlc2lkdWFsZXMgZXN0YW5kYXJpemFkb3MiLCB0eXBlID0gJ28nKQ0KYGBgDQoNCkdSQUZJQ08gSElTVE9HUkFNQQ0KYGBge3J9DQpoaXN0KHJzdGFuZGFyZChyZWcxKSx4bGFiPSdSZXNpZHVhbGVzICBlc3RhbmRhcml6YWRvcycpDQpgYGANCg0KR1JBRklDT1MgQ1VBTFRJTC1DVUFOVElMKg0KYGBge3J9DQpxcW5vcm0ocnN0YW5kYXJkKHJlZzEpKTsgcXFsaW5lKHJzdGFuZGFyZChyZWcxKSwgY29sPSdibHVlJykNCmBgYA0KTGEgIG5vcm1hbGlkYWQgIHB1ZWRlICBzZXIgIGV2YWx1YWRhICBhbCAgZ3JhZmljYXIgIGVsICBsbGFtYWRvICBncuFmaWNvcmN1YW50aWwtY3VhbnRpbCAgKFFRLXBsb3QpLiAgVGFsICBncuFmaWNvICBwcmVzZW50YSAgbG9zICBjdWFudGlsZXMgIGRlICBsb3MgIGRhdG9zcmVhbGVzICB2ZXJzdXMgIGxvcyAgY3VhbnRpbGVzICBkZSAgdW5hICBkaXN0cmlidWNp824gIG5vcm1hbCAgdGXzcmljYSBwb3IgcXVlIHZhbiBzb2JyZSBsYSBsaW5lYQ0KDQpQUlVFQkEgU0hBUElSTyANCmBgYHtyfQ0Kc2hhcGlyby50ZXN0KHJzdGFuZGFyZChyZWcxKSkNCmBgYA0KcC12YWx1ZT0wLjAzNjgyIGxvIHF1ZSBubyBlc3RhIGFycmliYSBkZSAwLjA1IHBvciB0YW50byBzZSByZWNoYXphIGxhIGhpcG90ZXNpcyBudWxhIHkgc2UgYWNlcHRhIGxhIGFsdGVybmF0aXZhLg0KZXMgZGVjaXIgZWwgY29tcG9uZW50ZSBlc3RvY2FzdGljbyBubyBlcyBub3JtYWxtZW50ZSBkaXN0cmlidWlkbw0KDQojNS4gRW4gY2FzbyBkZSBlc3RhY2lvbmFsaWRhZCBkZSBsYSBzZXJpZSBkZSB0aWVtcG8sIGFwbGljYXIgZGlmZXJlbmNpYXMgZXN0YWNpb25hbGVzLiBQcmVzZW50YXIgZ3JhZmljYS4jDQpgYGB7cn0NCmxpYnJhcnkoZ3JpZEV4dHJhKQ0KYmMuZXM8LShkaWZmKGxvZyhiYykpKQ0KZDE8LWF1dG9wbG90KGJjLG1haW49InByb2R1Y3RpdmlkYWQgbWFudWZhY3R1cmVyYSIpDQpkMjwtYXV0b3Bsb3QgKGxvZyhiYyksbWFpbj0gIkxvZyhwcm9kdWN0aXZpZGFkIG1hbnVmYWN0dXJlcmEpIikNCmQzPC1hdXRvcGxvdChiYy5lcywgbWFpbj0nRGlmZmVyZW5jZSAgb2YgIExvZyhwcm9kdWN0aXZpZGFkIG1hbnVmYWN0dXJlcmEpJykNCmdyaWQuYXJyYW5nZShkMSwgZDIsIGQzKQ0KYGBgDQoNCmxhIHNlcmllIG11ZXN0cmEgcXVlIHRpZW5lIHVuYSB0ZW5kZW5jaWEgbXV1dXkgbWFyY2FkYSB5IHBvY2EgZXN0YWNpb25hbGlkYWQgcG9yIGxvIHF1ZSBhcGxpY2Ftb3MgZGlmZXJlbmNpYXMgbm8gZXN0YWNpb25hbGVzLg0KcXVlIG5vcyBheXVkYXJhbiBhIHF1aXRhciBsYSB0ZW5kZW5jaWEgeSBhanVzdGFyIGxhIGVzdGFjaW9uYWxpZGFkIGNvbW8gbG8gcG9kZW1vcyB2ZXIgZW4gbGEgZ3JhZmljYSAzDQoNCmBgYHtyfQ0KbG9nYmMxPC1wbG90KGxvZyhiYyksIG1haW49ImZvcm1hY2lvbmRlIGNhcGl0YWwiKQ0KZGxvZ2JjMjwtcGxvdChkaWZmKGxvZyhiYykpLG1haW49ImRpZmVyZW5jaWEgZGUgbG9nYXJpdG1vIGRlIGZvcm1hY2lvbmRlIGNhcGl0YWwiKQ0KZGxvZ2JjMzwtcGxvdChkaWZmKGJjLCBkaWZmZXJlbmNlPTIpLG1haW49ICJzZWd1bmRhIGRpZmVyZW5jaWEgZGUgZm9ybWFjaW9uZGUgY2FwaXRhbCIpDQpncmlkKGxvZ2JjMSwgZGxvZ2JjMiwgZGxvZ2JjMykNCmBgYA0KDQphcXVpIGRlIG51ZXZhIGN1ZW50YSBzZSBwdWRvIGVzdGFiaWxpemFyIGhhc3RhIGxhIHNlZ3VuZGEgZGlmZXJlbmNpYSBwb3IgbG8gcXVlIHNlIHZlIGVuIGxhIGdyYWZpY2EuDQoNCg0KIzYuIFVzYXIgcHJ1ZWJhIERpY2tleS1GdWxsZXIgcGFyYSBldmFsdWFyIGVsIG9yZGVuIGRlIGludGVncmFjaW9uIGRlIGxhIHNlcmllLiBEaWZlcmVuY2lhciBoYXN0YSBxdWUgbGEgc2VyaWUgc2VhIGVzdGFjaW9uYXJpYS4jDQpgYGB7cn0NCnN1bW1hcnkodXIuZGYoYmMpKQ0KYGBgDQoNCkgwPU5vIGVzIGVzdGFjaW9uYXJpYSAoKzAuMDUpDQpIMT1FcyBlc3RhY2lvbmFyaWEgKC0wLjA1KQ0KDQplbCBwLXZhbHVlOiAwLjAwMDIxODcgcG9yIGxvIHF1ZSBzZSByZWNoYXphIGxhIGhpcG90ZXNpcyBudWxhICwgbyBzZSBhY2VwdGEgbGEgYWx0ZXJuYXRpdmEuIHBvciBsbyBxdWUgbm9zIGRpY2UgcXVlIGxhIHNlcmllIHlhIGVzIGVzdGFjaW9uYXJpYS4NCg0KIzcuIFVzYXIgaGVycmFtaWVudGFzIEFDRiwgUEFDRiwgRUFDRiB5IGNyaXRlcmlvcyBkZSBBa2Fpa2UvIEJheWVzIHBhcmEgY29uc3RydWlyIHByb3B1ZXN0YXMgZGUgbW9kZWxvcy4jIw0KDQpgYGB7cn0NCnN0PC0gbG9nKGJjKQ0KZ2d0c2Rpc3BsYXkoZGlmZihiYyw0KSkNCmdndHNkaXNwbGF5KGRpZmYoYmMsMSkpDQpnZ3RzZGlzcGxheShkaWZmKGRpZmYoYmMsNCkpKQ0KYGBgDQoNCnRhbWJpZW4gb2JzZXJ2YW1vcyBxdWUgaGFzdGEgYXBsaWNhciBsYSBzZWd1bmRhIGRpZmVyZW5jaWEgc2UgcHVlZGUgZXN0YWJpbGl6YXIgbGEgc2VyaWUuDQphaG9yYSBwcm9jZWRlcmUgYSBoYWNlciBhbGd1bmFzIHByb3B1ZXN0YXMNCg0KUFJPUFVFU1RBIDEgQVIxDQpgYGB7cn0NCmZpdDE8LWF1dG8uYXJpbWEoYmMpDQpmaXQxDQpgYGANCmBgYHtyfQ0KY2hlY2tyZXNpZHVhbHMoZml0MSkNCmBgYA0KDQoNCiMjUFJPUFVFU1RBIDIgQVJJTUEoMSwwLDApKDEsMSwwKQ0KYGBge3J9DQpmaXQyPC1BcmltYShzdCxvcmRlcj1jKDEsMCwwKSxzZWFzb25hbD1jKDEsMSwwKSkNCmZpdDINCmBgYA0KYGBge3J9DQpjaGVja3Jlc2lkdWFscyhmaXQyKQ0KYGBgDQoNCiMjUFJPUFVFU1RBIDMgQVJJTUEoMiwxLDApKDEsMSwwKQ0KYGBge3J9DQpmaXQzPC1BcmltYShzdCwgb3JkZXI9YygyLDEsMCksc2Vhc29uYWw9YygxLDEsMCkpDQpmaXQzDQpgYGANCg0KYGBge3J9DQpjaGVja3Jlc2lkdWFscyhmaXQzKQ0KYGBgDQoNCiMjUFJPUFVFU1RBIDQgTUEoMSkNCmBgYHtyfQ0KZml0NDwtQXJpbWEoc3QsIG9yZGVyPWMoMCwxLDEpLHNlYXNvbmFsPWMoMCwxLDEpKQ0KZml0NA0KYGBgDQoNCmBgYHtyfQ0KY2hlY2tyZXNpZHVhbHMoZml0NCkNCmBgYA0KDQoNCiMjUFJPUFVFU1RBIDUgQVJJTUEoMSwwLDEpKDAsMSwxKVs0XQ0KYGBge3J9DQpmaXQ1PC1BcmltYShzdCwgb3JkZXI9YygxLDAsMSksc2Vhc29uYWw9YygwLDEsMSkpDQpmaXQ1DQpgYGANCg0KYGBge3J9DQpjaGVja3Jlc2lkdWFscyhmaXQ1KQ0KYGBgDQoNCg0KIyNQUk9QVUVTVEEgNiBBUklNQSgwLDEsMCkNCmBgYHtyfQ0KZml0NjwtQXJpbWEoc3QsIG9yZGVyPWMoMCwxLDApLHNlYXNvbmFsPWMoMCwxLDEpKQ0KZml0Ng0KYGBgDQoNCmBgYHtyfQ0KY2hlY2tyZXNpZHVhbHMoZml0NikNCmBgYA0KDQpkZXNwdWVzIGRlIHByb3BvbmVyIDYgbW9kZWxvcyBkaWZlcmVudGVzIG9wdG8gcG9yIGxhIHByb3B1ZXN0YSBudW1lcm8gIDUgQVJJTUEoMSwwLDEpKDAsMSwxKSwgeWEgcXVlIGxvcyByZXphZ29zIHNlIHZlIHF1ZSBubyBzZSBzYWxlbiBkZSBsYXMgZ3JhZmljYXMsIHNlIGFqdXRhcm9uIG11eSBiaWVuDQoNCiM3IENPTU8gUEFSVEUgREVMIERJQUdOT1NUSUNPIERFTCBNT0RFTE8sIEFOQUxJWkFSIExPUyBSRVNJRFVPUyBZIEFQTE9DQVIgTEEgUFJVRUJBIExKVU5HLUJPWA0KDQpgYGB7cn0NCmNoZWNrcmVzaWR1YWxzKGZpdDUpDQpgYGANCiM4LiBDb21vIHBhcnRlIGRlbCBkaWFnbm9zdGljbyBkZWwgbW9kZWxvLCBhbmFsaXphciBsb3MgcmVzaWR1b3MgeSBhcGxpY2FyIGxhIHBydWViYSBManVuZy1Cb3guDQoNCmBgYHtyfQ0KY2hlY2tyZXNpZHVhbHMoZml0NSkNCmBgYA0KDQoNCiM5IFVTQVIgTEEgRlVOQ0lPTi5BUklNQSgpIFkgQ09NUEFSRSBTVVMgUkVTVUxUQURPUyBDT04gRUwgSU5DSVNPIEFOVEVSSU9TDQoNCmBgYHtyfQ0KZml0NzwtYXV0by5hcmltYShzdCxzdGVwd2lzZSA9IEZBTFNFLCBhcHByb3hpbWF0aW9uID0gRkFMU0UpDQpmaXQ3DQpgYGANCg0KDQpgYGB7cn0NCmNoZWNrcmVzaWR1YWxzKGZpdDcpDQpgYGANCg0KDQoNCiMxMCBQUkVTRU5URSBMQSBFQ1VBQ0lPTiBGSU5BTCBZIERFU0NSSUJBDQoNCg0KbGEgZWN1YWNpb24gc2UgaGEgZGV0ZXJtaW5hZG8gYSBwYXJ0aXIgZGVsIHByb2Nlc28gZGUgYXV0by5hcmltYSBlczoNCg0KJCQNCnlfdD0gMC4zNDc4ZV90XzErMC4zNDk1ZV90XzIgDQokJA0KDQoNCg0KIzExIFJlYWxpemFyIGVsIHByb25vc3RpY28gQVJJTUEgcGFyYSBkb3MgYW5vcy4NCg0KYGBge3J9DQpwcm9ub3N0aWNvPC1wbG90KGZvcmVjYXN0KGZpdDcsaD0yNCkpDQpwcm9ub3N0aWNvDQpgYGANCiMxMi4gVXRpbGl6YW5kbyBtZXRvZG9zIGRlIHByb25vc3RpY29zIHNpbXBsZXMgeS9vIHN1YXZpemFtaWVudG8gZXhwb25lbmNpYWwgZ2VuZXJhcnVuIHByb25vc3RpY28gcGFyYSBkb3MgYW5vcy4gRWxlZ2lyIGVsIG1ldG9kbyBxdWUgcHJlc2VudGUgbGEgcmFpeiBkZWwgZXJyb3IgbWVkaW8gYWwgY3VhZHJhZG8gbWFzIHBlcXVlbm8uIA0KDQpQUk9OT1NUSUNPIFNJTVBMRQ0KDQoNCmBgYHtyfQ0KbGlicmFyeShmb3JlY2FzdCkNCmxpYnJhcnkoZ2dwbG90MikNCmJjMjwtd2luZG93KGJjLHN0YXJ0PTE5OTQsZW5kPWMoMjAxNyw0KSkNCmF1dG9wbG90KGJjMikrZm9yZWNhc3Q6OmF1dG9sYXllcihtZWFuZihiYzIsaD0xMSksUEk9RkFMU0Usc2VyaWVzPSJNZWFuIikrZm9yZWNhc3Q6OmF1dG9sYXllcihuYWl2ZShiYzIsaD0xMSksUEk9RkFMU0Usc2VyaWVzPSJOYe92ZSIpK2ZvcmVjYXN0OjphdXRvbGF5ZXIoc25haXZlKGJjMixoPTExKSxQST1GQUxTRSxzZXJpZXM9IlNlYXNvbmFsbmHvdmUiKStnZ3RpdGxlKCJQUk9EVUNDSU9OIExBQk9SQUwgTUFOVUZBQ1RVUkVSQSIpK3hsYWIoIlllYXIiKSt5bGFiKCJQUk9EVUNDSU9OIikrZ3VpZGVzKGNvbG91cj1ndWlkZV9sZWdlbmQodGl0bGU9IkZvcmVjYXN0IikpDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkoZm9yZWNhc3QpDQpsaWJyYXJ5KGdncGxvdDIpDQpiY2ZpdDE8LW1lYW5mKGJjMixoPTEwKQ0KYmNmaXQyPC1yd2YoYmMyLGg9MTApDQpiY2ZpdDM8LXNuYWl2ZShiYzIsaD0xMCkNCmF1dG9wbG90KHdpbmRvdyhiYyxzdGFydD0yMDA4KSkrZm9yZWNhc3Q6OmF1dG9sYXllcihiY2ZpdDEsc2VyaWVzPSJNZWFuIixQST1GQUxTRSkrZm9yZWNhc3Q6OmF1dG9sYXllcihiY2ZpdDIsc2VyaWVzPSJOYe92ZSIsUEk9RkFMU0UpK2ZvcmVjYXN0OjphdXRvbGF5ZXIoYmNmaXQzLHNlcmllcz0iU2Vhc29uYWxuYe92ZSIsUEk9RkFMU0UpK3hsYWIoIlllYXIiKSt5bGFiKCJQUk9EVUNDSU9OIikrZ3VpZGVzKGNvbG91cj1ndWlkZV9sZWdlbmQodGl0bGU9IkZvcmVjYXN0IikpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KGZvcmVjYXN0KQ0KYmM0PC13aW5kb3coYmMsc3RhcnQ9MjAwOCkNCmFjY3VyYWN5KGJjZml0MSwgYmM0KQ0KYGBgDQoNCmBgYHtyfQ0KYWNjdXJhY3kod2ZpdDIsICB3NCkNCmBgYA0KDQpgYGB7cn0NCmFjY3VyYWN5KHdmaXQzLCAgdzQpDQpgYGANCg0KDQpTVUFWRUNJTUlFTlRPIEVYUE9ORU5DSUFMDQpgYGB7cn0NCkJDPC13aW5kb3coYmMsc3RhcnQ9MTk5NCkNCmZjPC1zZXMoQkMsaD01KQ0Kcm91bmQoYWNjdXJhY3koZmMpLDIpDQpgYGANCg0KU3Vhdml6YW1pZW50byAgZXhwb25lbmNpYWwgIHNpbXBsZQ0KYGBge3J9DQphdXRvcGxvdChmYykrYXV0b2xheWVyKGZpdHRlZChmYyksc2VyaWVzPSJGaXR0ZWQiKSt5bGFiKCJQUk9EVUNDSU9OIikreGxhYigiWWVhciIpDQpgYGANCk3pdG9kb3MgIGRlICB0ZW5kZW5jaWEgTel0b2RvICBkZSAgZXN0YWNpb25hbGlkYWQgIGRlICBIb2x0LVdpbnRlcnMNCmBgYHtyfQ0KbGlicmFyeShmb3JlY2FzdCkNCmxpYnJhcnkoZ2dwbG90MikNCkJDPC13aW5kb3coYmMsc3RhcnQ9MTk5NCkNCmJjZml0MTwtaHcoYmMsc2Vhc29uYWw9ImFkZGl0aXZlIikNCmJjZml0MjwtaHcoYmMsc2Vhc29uYWw9Im11bHRpcGxpY2F0aXZlIikNCmF1dG9wbG90KGJjKSsgYXV0b2xheWVyKGJjZml0MSxzZXJpZXM9IkhXIGFkZGl0aXZlIGZvcmVjYXN0cyIsUEk9RkFMU0UpK2F1dG9sYXllcihiY2ZpdDIsc2VyaWVzPSJIVyAgbXVsdGlwbGljYXRpdmUgIGZvcmVjYXN0cyIsUEk9RkFMU0UpK3hsYWIoIlllYXIiKSt5bGFiKCJWaXNpdG9yICBuaWdodHMgIChtaWxsaW9ucykiKStnZ3RpdGxlKCJJbnRlcm5hdGlvbmFsICB2aXNpdG9ycyAgbmlnaHRzICBpbiAgQXVzdHJhbGlhIikrZ3VpZGVzKGNvbG91cj1ndWlkZV9sZWdlbmQodGl0bGU9IkZvcmVjYXN0IikpDQpgYGANCg0KDQojMTQuIEFuYWxpemFyIHVuIFZBUiwgbmVjZXNpdGEgaW5jbHVpciBsb3MgcHVudG9zIHNpZ3VpZW50ZXMNCg0KYSkgQnVzY2FyIG90cmEgdmFyaWFibGUgKGluY2x1c28gbWFzIHZhcmlhYmxlcykgeSByZWRhY3RhciBsYSB0ZW9yaWEgcXVlIHNlIGVuY3VlbnRyYSBkZXRyYXMgZGUgbGEgcmVsYWNpb24gZW50cmUgdmFyaWFibGVzIHF1ZSBwcm9wb25lLg0KTGEgdmFyaWFibGUgcHJvcHVlc3RhIGVzIERFU0FSUk9MTE9URUNOT0xPR0lDTyB5YSBxdWUgTkFUSEFOIFJPU0VOQkVSRyBqdXN0aWZpY2EgbGEgaW1wb3J0YW5jaWEgZGUgYmllbmVzIGRlIGNhcGl0YWwgcG9yIHN1IGNhcGFjaWRhZCBkZSBnZW5lcmFyIGNhbWJpbyB0ZWNub2xvZ2ljbyBpbmNvcnBvcmFkbyBhc2kgY29tbyBzdSBjYXJhY3RlciBhcnRpY3VsYXIgY29uIG90cm9zIHNlcmN0b3JlcyBwcm9kdWN0aXZvcywgZmF2b3JlY2llbmRvIGVsIHByb2Nlc28gZGUgZGVzYXJyb2xsbyBlY29ub21pY28uIHBvciBlbCBsYWRvIG1ldG9kb2xvZ2ljbyBpbiBwdXQgb291dHB1dHJlc3VsdGEgc2VyIGVsIG1hcyBpZGVvbm8gcGFyYSBlbCBwcm9jZXNvIGRlIGxhIGludmVzdGlnYWNpb24gDQpsYSBpbXBvcnRhbmNpYSBkZWwgY2FtYmlvIHRlY25vbG9naWNvIG1lZGlhbnRlIGVsIGVzdHVkaW8gZGUgcGF0ZW50ZXMsIHNlIGRlbW9zdHJvIHF1ZSBsYSBkaW5hbWljYSBkZSBpbm5vdmFjaW9uIGRlbCBzZWN0b3IgZXN0YSByZWxhY2lvbmFkYSBjb24gbG9zIGZsdWpvcyBkZSBjb25vY2ltaWVudG8gYWwgY3JlYXIgeSBkaWZ1bmRpciBpbm5vdmFjaW9uZXMsIHkgcG9yIHN1IGhhYmlsaWRhZCBkZSBhc2ltaWxhciBsb3MgYXZhbmNlcyBnZW5lcmFkb3MgZW4gb3Ryb3Mgc2VjdG9yZXMuDQoNCmIpIEV2YWx1YXIgbGEgZXN0YWNpb25hbGlkYWQgZGUgbGEgbnVldmEgdmFyaWFibGUuDQoNCmBgYHtyfQ0KbGlicmFyeSh2YXJzKQ0KbGlicmFyeSh6b28pDQpsaWJyYXJ5KGZwcDIpDQpsaWJyYXJ5KHVyY2EpDQpsaWJyYXJ5KFRTQSkNCmxpYnJhcnkoTUFTUykNCmxpYnJhcnkoZm9yZWNhc3QpDQpgYGANCg0KYGBge3J9DQpybShsaXN0ID0gbHMoKSkgDQpjYXBpdGFsaHVtYW5vIDwtIHJlYWQuY3N2KGZpbGUuY2hvb3NlKCkpDQpkZXNhcnJvbGxvdGVjPC0gcmVhZC5jc3YoZmlsZS5jaG9vc2UoKSkNCmBgYA0KDQpgYGB7cn0NCmNoPC0gdHMoY2FwaXRhbGh1bWFubyRmaywgc3RhcnQgPSBjKDIwMDUsMSksZnJlcXVlbmN5ID0gNCkNCmR0PC0gdHMoZGVzYXJyb2xsb3RlYyRkYXRvLCBzdGFydCA9IGMoMjAwNSwxKSwgZnJlcXVlbmN5ID0gNCkNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCnBsb3QoY2gpDQpwbG90KGR0KQ0KYGBgDQoNCg0KYGBge3J9DQptZXMuPC0gc2Vhc29uKGNoKQ0KcmVnLmNoIDwtIGxtKGNoIH4gdGltZShjaCkgKyBtZXMuKQ0Kc3VtbWFyeShyZWcuY2gpDQpgYGANCg0KYGBge3J9DQptZXMuIDwtIHNlYXNvbihkdCkNCnJlZy5kdDwtIGxtKGR0IH4gdGltZShkdCkgKyBtZXMuKQ0Kc3VtbWFyeShkdCkNCmBgYA0KQXBsaWNhbW9zIGxhcyB0cmFuc2Zvcm1hY2lvbmVzIG5lY2VzYXJpb3MgKGVqLiBkaWZlcmVuY2lhcyB5IGxvZykNCg0KYGBge3J9DQpkZGNoPC0gZGlmZihsb2coY2gsNCkpIA0KZGRkdCA8LSBkaWZmKGxvZyhkdCw0KSkgDQpgYGANCg0KYGBge3J9DQpnZ3RzZGlzcGxheShkZGNoKQ0KZ2d0c2Rpc3BsYXkoZGRkdCkNCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkodXIuZGYoZGRjaCkpDQpzdW1tYXJ5KHVyLmRmKGRkZHQpKQ0KYGBgDQpzZSBndWFyZGEgY29tbyB1bmljbyBvYmpldG8NCmBgYHtyfQ0KYmFzZTEgPC1jYmluZC56b28oY2FwaXRhbGh1bWFubyA9IGNoLCAgZGVzYXJyb2xsb3RlYz0gZHQpDQpgYGANCg0KYGBge3J9DQpWaWV3KGJhc2UxKQ0KYGBgDQoNCmBgYHtyfQ0KcGxvdChiYXNlMVssMToyXSkNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkodmFycykNClZBUnNlbGVjdChiYXNlMSBbLDE6Ml0sIGxhZy5tYXggPSAxMiwgdHlwZSA9ICJjb25zdCIpW1sic2VsZWN0aW9uIl1dDQpgYGANCg0KYykgUHJvcG9uZ2EgZWwgb3JkZW4gZGUgcmV6YWdvcyBvcHRpbW8gcGFyYSBlbCBWQVIgeSBwcmVzZW50YXIgbGEgZXN0aW1hY2lvbi4NCg0KMyBSRVpBR09TDQpgYGB7cn0NCnZhcjEgPC0gVkFSKGJhc2UxWywxOjJdLCBwPTEsIHR5cGUgPSAiY29uc3QiKQ0Kc3VtbWFyeSh2YXIxKQ0Kc2VyaWFsLnRlc3QodmFyMSxsYWdzLnB0PTEwLHR5cGU9IlBULmFzeW1wdG90aWMiKQ0KYGBgDQoNCjVSRVpBR09TDQpgYGB7cn0NCmxpYnJhcnkodmFycykNCnZhcjI8LSBWQVIoYmFzZTFbLDE6Ml0sIHA9MiwgdHlwZSA9ICJjb25zdCIpDQpzdW1tYXJ5KHZhcjIpDQpzZXJpYWwudGVzdCh2YXIyLGxhZ3MucHQ9MTAsdHlwZT0iUFQuYXN5bXB0b3RpYyIpDQpgYGANCg0KDQpQYXJhIHF1ZSBsYSBzZXJpZSBzZWEgZXN0YWNpb25hcmlhIHNlIHJlcXVpZXJlIHF1ZSBsYXMgcmFpY2VzIGRlbCBiaW5vbWlvIGNhcmFjdGVyaXN0aWNvIHNlYSBtZW5vcyBxdWUgMSwgZW4gZXN0ZSBsYXMgcmFpY2VzIHNvbiBkZSAwLjQxNjMgeSAwLjQxNjMuDQoNCkNvbW8gc29uIDIgdmFyaWFibGVzLCBnZW5lcmEgZG9zIGVjdWFjaW9uZXMuIExhIHByaW1lcmEgc2UgdHJhdGEgZGUgZWwgY29uc3VtbyBlc3RhIGVuIGZ1bmNp824gZGVsIGNvbnN1bW8gcmV6YWdhZG8gKyBsYSBwcCByZXphZ2FkYS4NCg0KeWEgcXVlIGxhIHNlcmllIGVzIGVzdGFjaW9uYXJpYSBzaSBoYXkgdW4gY2hvcXVlIG5vIGhheSBwcm9ibGVtYSB5YSBxdWUgcmVncmVzYSBhIHN1IHRlbmRlbmNpYSBkZSBsYXJnbyBwbGF6by4NCg0KDQoNCmQpIFByb2JhciBsYSBjb3JyZWxhY2lvbiBzZXJpYWwgeSBub3JtYWxpZGFkIGVuIGxvcyByZXNpZHVvcy4NCg0KYGBge3J9DQp2YXIxPC0gc2VyaWFsLnRlc3QodmFyMSwgbGFncy5wdCA9IDEyKQ0KdmFyMQ0KYGBgDQpoMD0gTm8gaGF5IGNvcnJlbGFjafNuIGVudHJlIGxvcyByZXNpZHVvcyBkZSBsb3MgcGVyaW9kb3MgZGlzdGludG9zLiAoPjAuMDUpIA0KDQoNCmBgYHtyfQ0KY3VzdW08LXN0YWJpbGl0eSh2YXIxLHR5cGUgPSAiT0xTLUNVU1VNIikNCnBsb3QoY3VzdW0pDQpgYGANCg0KDQoNCmBgYHtyfQ0KcmVjLmN1c3VtPC1zdGFiaWxpdHkodmFyMSx0eXBlPSJSZWMtQ1VTVU0iKQ0KcGxvdChyZWMuY3VzdW0pDQpgYGANCg0KDQplKSBSZXN1bHRhZG9zIGRlIGxhIHBydWViYSBkZSBjYXVzYWxpZGFkIGRlIEdyYW5nZXINCmBgYHtyfQ0KY2F1c2FsaXR5KHZhcjEsY2F1c2U9InByb2RtYW51ZmFjdHVyZXJhIikkR3Jhbmdlcg0KY2F1c2FsaXR5KHZhcjEsY2F1c2U9InBlcm9jdXAiKSRHcmFuZ2VyDQpgYGANCg0KDQpmKSBDcmVhciB1biBwcm9ub3N0aWNvIHBhcmEgZG9zIGFub3MgdXNhbmRvIGVsIFZBUiBlc3BlY2lmaWNhZG8uDQoNCmBgYHtyfQ0KcHJlZGljdGlvbnM8LXByZWRpY3QodmFyMSxuLmFoZWFkPTEwLGNpPTAuOTUpDQpjbGFzcyhwcmVkaWN0aW9ucykNCnBsb3QocHJlZGljdGlvbnMpDQpgYGANCg0KZykgSW50ZXJwcmV0YXIgbGFzIGZ1bmNpb25lcyBpbXB1bHNvLXJlc3B1ZXN0YS4NCmBgYHtyfQ0KcGxvdChpcmYodmFyMSxpbXB1bHNlPSJwcm9kbWFudWZhY3R1cmVyYSIscmVzcG9uc2U9InBlcm9jdXAiLG9ydGhvPVQpKQ0KYGBgDQoNCmBgYHtyfQ0KcGxvdChpcmYodmFyMSxpbXB1bHNlPSJwZXJvY3VwIixyZXNwb25zZT0icHJvZG1hbnVmYWN0dXJlcmEiLG9ydGhvPVQpKQ0KYGBgDQoNCiMxNS4gRXZhbHVhciBsYSBwb3RlbmNpYWwgY29pbnRlZ3JhY2lvbiB1c2FuZG8gbGEgbWV0b2RvbG9naWEgZGUgRW5nbGUtR3JhbmdlciB5IEpvaGFuc2VuLg0KDQo=