Medidas tendencia central Sesión 1

# Ejercicio 1
recibos <- c(266.63, 163.41, 219.41,  162.64, 187.16, 289.17, 306.55, 335.48, 343.5, 226.8, 208.99, 230.46)

#Mediana
mediana <- median(recibos)
mediana
## [1] 228.63
#Moda
#No hay funcion directa para moda

#Media
media <- mean(recibos)
media
## [1] 245.0167
#Rango
rango <- max(recibos)-min(recibos)
rango
## [1] 180.86
#varianza
recibos1 <- recibos-media
recibos1
##  [1]  21.61333 -81.60667 -25.60667 -82.37667 -57.85667  44.15333  61.53333
##  [8]  90.46333  98.48333 -18.21667 -36.02667 -14.55667
recibos2 <- recibos1*recibos1
recibos2
##  [1]  467.1362 6659.6480  655.7014 6785.9152 3347.3939 1949.5168 3786.3511
##  [8] 8183.6147 9698.9669  331.8469 1297.9207  211.8965
recibos3 <- sum(recibos2)
recibos3
## [1] 43375.91
varianza_poblacional <- recibos3/12
varianza_poblacional
## [1] 3614.659
std_dev_poblacional <- sqrt(varianza_poblacional)
std_dev_poblacional
## [1] 60.12203

Distribuición Normal Sesión 2

a <- (pnorm(600, 1300, 600))*100
a
## [1] 12.16725
b <- (pnorm(1500, 1300, 600) - pnorm(1000, 1300, 600))*100
b
## [1] 32.20211
c <- (pnorm(2200, 1300, 600))*100
c
## [1] 93.31928
#Ejemplo 2 
a <- (pnorm(21, 18.7, 5))*100
a
## [1] 67.72419
b <- (1-pnorm(21, 18.7, 5))*100
b
## [1] 32.27581
#Ejemplo 3 
a <- (1 -pnorm(90, 80, 4))*100
a
## [1] 0.6209665
b <- (pnorm(85, 80, 4) - pnorm(70, 80, 4))*100
b
## [1] 88.81406
c <- (1- pnorm(100, 80, 4))*1000
floor(c)
## [1] 0

Pruebas de Hipótesis - Sesión 3

# Paso 1. Plantear Hipótesis
# Paso 2. Nivel de Significacncia
# Paso 3. Zona de aceptación / Rechazo
# Paso 4. Funcion Pivotal
# Paso 5. Conclusión

Ejercicios del Mundo Real - S4

3-84

Qué reacción tendría usted si un aficionado al fútbol americano le dijera lo siguiente? “Los Raiders de Rockland tienen un promedio de 3.6 yardas de recorrido por tierra. Como sólo necesitan 10 yardas para anotar y tienen cuatro oportunidades para lograrlo, la anotación es segura, siempre y cuando mantengan su forma de jugar por tierra.”

RESPUESTA: La afirmacion es incorrecta porque ignora completamente la variabilidad en yardas ganadas por carrera

3-84

A continuación se presentan tres partes del presupuesto de una año para la defensa; a cada una de ellas, el Congreso estadounidense asignó la misma cantidad de financiamiento:
- Salario de los funcionarios (total).
- Mantenimiento de la flota aérea.
- Adquisiciones de alimentos (total).
Tomando en cuenta la distribución de los resultados posibles para los gastos reales en cada una de estas áreas, haga corresponder cada sección a una de las curvas de la figura 3-9. Fundamente su respuesta.

RESPUESTA: Salarios funcionarios: A; Mantenimiento de flota: C; adquisiciones de alimentos: B

3-92

E1 30 de junio de 1992, la capitalización de nueve mercados de valores del Pacífico y Asia fue:
# Crear un data frame con los datos
datos <- data.frame(
  Pais = c("Filipinas", "Indonesia", "Tailandia", "Singapur", "Malasia", "Corea del Sur", "Taiwan", "Hong Kong", "Australia"),
  Capitalizacion = c(17, 21, 44, 50, 79, 86, 140, 178, 203)
)

# Instalar y cargar el paquete knitr para utilizar la función kable
library(knitr)

# Utilizar la función kable para crear una tabla
kable(datos, caption = "Capitalización de países (en miles de millones de dólares)")
Capitalización de países (en miles de millones de dólares)
Pais Capitalizacion
Filipinas 17
Indonesia 21
Tailandia 44
Singapur 50
Malasia 79
Corea del Sur 86
Taiwan 140
Hong Kong 178
Australia 203
- Encuentre la media aritmética de los datos.
- Encuentre la mediana de los datos.
- Encuentre la moda de los datos.
- ¿Cuál es la mejor medida de la tendencia central del conjunto de datos?
- Encuentre la desviación estándar de los datos. (La población completa está incluida en ellos.)

RESPUESTA:

capitalizacion <- c(17, 21, 44, 50, 79, 86, 140, 178, 203)

# a 
media_cap <- mean(capitalizacion)
media_cap
## [1] 90.88889
# b
median_cap <- median(capitalizacion)
median_cap
## [1] 79
# c
# No hay moda

# d
histograma_cap <- hist(capitalizacion)

# Como la gráfica tiene sesgo, utilizamos la mejor tendencia central que es la mediana
# e
capitalizacion2 <- capitalizacion-media
capitalizacion2
## [1] -228.01667 -224.01667 -201.01667 -195.01667 -166.01667 -159.01667 -105.01667
## [8]  -67.01667  -42.01667
capitalizacion3 <- capitalizacion2*capitalizacion2
capitalizacion3
## [1] 51991.600 50183.467 40407.700 38031.500 27561.534 25286.300 11028.500
## [8]  4491.234  1765.400
capitalizacion4 <- sum(capitalizacion3)
capitalizacion4
## [1] 250747.2
var_pob_cap <- capitalizacion4/9
var_pob_cap 
## [1] 27860.8
desv_pob_cap <- sqrt(var_pob_cap)
desv_pob_cap
## [1] 166.9156

3-100

Matthews, Young y Asociados, una agencia de consultorías de Chapell Hill, tiene los siguientes registros que indican el número de días que cada uno de sus ocho consultores de planta cobró el último año:
212 220 230 210 228 229 231 219 221 222
- Sin calcular el valor de las medidas, ¿cuál de ellas cree usted que le daría una mayor información acerca de esta distribución: el rango o la desviación estándar?
- Tomando en cuenta la dificultad y el tiempo para calcular cada medida que revisó en el inciso, ¿cuál sugeriría como la mejor?
- ¿Qué haría que usted cambiara su opinión al respecto?

RESPUESTA:

Desviación Estándar
dias <- c(212, 220, 230, 210, 228, 229, 231, 219, 221, 222)
dias
##  [1] 212 220 230 210 228 229 231 219 221 222
rango_dias <- max(dias)-min(dias)
rango_dias
## [1] 21
media_dias <- mean(dias)
media_dias
## [1] 222.2
dias2 <- dias-media
dias2
##  [1] -33.01667 -25.01667 -15.01667 -35.01667 -17.01667 -16.01667 -14.01667
##  [8] -26.01667 -24.01667 -23.01667
dias3 <- dias2*dias2

dias4 <- sum(dias3)
dias4
## [1] 5693.603
varianza_poblacional_dias <- dias4/10
varianza_poblacional_dias
## [1] 569.3603
des_est_pob_dias <- sqrt(varianza_poblacional_dias)
des_est_pob_dias
## [1] 23.86127
C) Desviación Estándar
D) Nada

3-106

Allison Barrett realiza análisis estadísticos para un equipo de carreras automovilísticas. A continuación, presentamos las cifras en millas por galón del gasto de combustible de sus automóviles en carreras re- cientes:
4.77 6.11 6.11 5.05 5.99 4.91 5.27 6.01
5.75 4.89 6.05 5.22 6.02 5.24 6.11 5.02
Calcule la mediana del consumo de combustible.
Calcule la media del mismo consumo.
Agrupe los datos en cinco clases de igual tamaño. ¿Cuál es el valor del consumo de combustible la clase modal?
¿Cuál de las tres medidas de tendencia central es la que mejor puede servirle a Allison cuando haga. Explique s respuesta

RESPUESTA

kilometros <- c(4.77, 6.11, 6.11, 5.05, 5.99, 4.91, 5.27, 6.01, 5.75, 4.89, 6.05, 5.22, 6.02, 5.24, 6.11, 5.02)

#a) 
mediana_km <- median(kilometros)
mediana_km
## [1] 5.51
#b)
media_km <- mean(kilometros)
mediana_km
## [1] 5.51
#c)
clases_km <- cut(kilometros, breaks=5)
clases_km
##  [1] (4.77,5.04] (5.84,6.11] (5.84,6.11] (5.04,5.31] (5.84,6.11] (4.77,5.04]
##  [7] (5.04,5.31] (5.84,6.11] (5.57,5.84] (4.77,5.04] (5.84,6.11] (5.04,5.31]
## [13] (5.84,6.11] (5.04,5.31] (5.84,6.11] (4.77,5.04]
## Levels: (4.77,5.04] (5.04,5.31] (5.31,5.57] (5.57,5.84] (5.84,6.11]
clases_km2 <- table(clases_km)
clases_km2
## clases_km
## (4.77,5.04] (5.04,5.31] (5.31,5.57] (5.57,5.84] (5.84,6.11] 
##           4           4           0           1           7
#d)
histograma_km <- hist(kilometros)

#e)
rango_km <- max(kilometros)-min(kilometros)
rango_km
## [1] 1.34

8-64

Inspectores del gobierno, al investigar los cargos levantados contra una embotelladora de refrescos de Lousiana, que no llenaba bien sus productos, muestrearon 200 botellas y encontraron que el promedio de llenado es 31.7 onzas líquidas. Se anuncia que las botellas contienen 32 onzas líquidas. Se sabe que la desviación estándar de le población es 1.5 onzas líquidas. ¿Deberían concluir los inspectores, a un ni- vel de significancia del 2%, que las botellas están tienen menos contenido?

RESPUESTA

Paso 1. Plantear Hipótesis
H0: x̄ = µ
H1: x ≠ µ
Paso 2. Nivel de Significacncia
α = 0.02
Paso 3. Zona de aceptación / Rechazo

Paso 4. Funcion Pivotal
z_full <- (31.7 -32 ) / (1.5 / sqrt(200))
z_full
## [1] -2.828427
Paso 5. Conclusión
LS0tCnRpdGxlOiAiV29ya3Nob3AgMSIKYXV0aG9yOiAiSmVuYXJvIE1hcnTDrW5leiBBMDE3MjE5NTEiCmRhdGU6ICIxOC0wNS0yMDIzIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogVFJVRQogICAgdG9jX2Zsb2F0OiBUUlVFCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFCi0tLQojIE1lZGlkYXMgdGVuZGVuY2lhIGNlbnRyYWwgU2VzacOzbiAxCiFbXSgvVXNlcnMvamVuYXJvbXR6Zy9Eb3dubG9hZHMvcmVjaWJvLWRlLWx1ei0ucG5nLndlYnApCmBgYHtyfQojIEVqZXJjaWNpbyAxCnJlY2lib3MgPC0gYygyNjYuNjMsIDE2My40MSwgMjE5LjQxLCAgMTYyLjY0LCAxODcuMTYsIDI4OS4xNywgMzA2LjU1LCAzMzUuNDgsIDM0My41LCAyMjYuOCwgMjA4Ljk5LCAyMzAuNDYpCgojTWVkaWFuYQptZWRpYW5hIDwtIG1lZGlhbihyZWNpYm9zKQptZWRpYW5hCgojTW9kYQojTm8gaGF5IGZ1bmNpb24gZGlyZWN0YSBwYXJhIG1vZGEKCiNNZWRpYQptZWRpYSA8LSBtZWFuKHJlY2lib3MpCm1lZGlhCgojUmFuZ28KcmFuZ28gPC0gbWF4KHJlY2lib3MpLW1pbihyZWNpYm9zKQpyYW5nbwoKI3ZhcmlhbnphCnJlY2lib3MxIDwtIHJlY2lib3MtbWVkaWEKcmVjaWJvczEKCnJlY2lib3MyIDwtIHJlY2lib3MxKnJlY2lib3MxCnJlY2lib3MyCgpyZWNpYm9zMyA8LSBzdW0ocmVjaWJvczIpCnJlY2lib3MzCgp2YXJpYW56YV9wb2JsYWNpb25hbCA8LSByZWNpYm9zMy8xMgp2YXJpYW56YV9wb2JsYWNpb25hbAoKc3RkX2Rldl9wb2JsYWNpb25hbCA8LSBzcXJ0KHZhcmlhbnphX3BvYmxhY2lvbmFsKQpzdGRfZGV2X3BvYmxhY2lvbmFsCmBgYAoKCiMgRGlzdHJpYnVpY2nDs24gTm9ybWFsIFNlc2nDs24gMgohW10oL1VzZXJzL2plbmFyb210emcvRG93bmxvYWRzL3MtbDE2MDAuanBnKQpgYGB7cn0KYSA8LSAocG5vcm0oNjAwLCAxMzAwLCA2MDApKSoxMDAKYQoKYiA8LSAocG5vcm0oMTUwMCwgMTMwMCwgNjAwKSAtIHBub3JtKDEwMDAsIDEzMDAsIDYwMCkpKjEwMApiCgpjIDwtIChwbm9ybSgyMjAwLCAxMzAwLCA2MDApKSoxMDAKYwoKYGBgCgpgYGB7cn0KI0VqZW1wbG8gMiAKYSA8LSAocG5vcm0oMjEsIDE4LjcsIDUpKSoxMDAKYQoKYiA8LSAoMS1wbm9ybSgyMSwgMTguNywgNSkpKjEwMApiCmBgYApgYGB7cn0KI0VqZW1wbG8gMyAKYSA8LSAoMSAtcG5vcm0oOTAsIDgwLCA0KSkqMTAwCmEKCmIgPC0gKHBub3JtKDg1LCA4MCwgNCkgLSBwbm9ybSg3MCwgODAsIDQpKSoxMDAKYgoKYyA8LSAoMS0gcG5vcm0oMTAwLCA4MCwgNCkpKjEwMDAKZmxvb3IoYykKCgpgYGAKIyBQcnVlYmFzIGRlIEhpcMOzdGVzaXMgLSBTZXNpw7NuIDMKIVtdKC9Vc2Vycy9qZW5hcm9tdHpnL0Rvd25sb2Fkcy9TVEFULmpwZykKYGBge3J9CiMgUGFzbyAxLiBQbGFudGVhciBIaXDDs3Rlc2lzCiMgUGFzbyAyLiBOaXZlbCBkZSBTaWduaWZpY2FjbmNpYQojIFBhc28gMy4gWm9uYSBkZSBhY2VwdGFjacOzbiAvIFJlY2hhem8KIyBQYXNvIDQuIEZ1bmNpb24gUGl2b3RhbAojIFBhc28gNS4gQ29uY2x1c2nDs24KYGBgCgojIEVqZXJjaWNpb3MgZGVsIE11bmRvIFJlYWwgLSBTNAohW10oL1VzZXJzL2plbmFyb210emcvRG93bmxvYWRzL1doYXRzQXBwIEltYWdlIDIwMjMtMDUtMTggYXQgMTAuNTYuMTUgQU0uanBlZykKCiMjIyMgKiozLTg0KioKIyMjIyMgUXXDqSByZWFjY2nDs24gdGVuZHLDrWEgdXN0ZWQgc2kgdW4gYWZpY2lvbmFkbyBhbCBmw7p0Ym9sIGFtZXJpY2FubyBsZSBkaWplcmEgbG8gc2lndWllbnRlPyDigJxMb3MgUmFpZGVycyBkZSBSb2NrbGFuZCB0aWVuZW4gdW4gcHJvbWVkaW8gZGUgMy42IHlhcmRhcyBkZSByZWNvcnJpZG8gcG9yIHRpZXJyYS4gQ29tbyBzw7NsbyBuZWNlc2l0YW4gMTAgeWFyZGFzIHBhcmEgYW5vdGFyIHkgdGllbmVuIGN1YXRybyBvcG9ydHVuaWRhZGVzIHBhcmEgbG9ncmFybG8sIGxhIGFub3RhY2nDs24gZXMgc2VndXJhLCBzaWVtcHJlIHkgY3VhbmRvIG1hbnRlbmdhbiBzdSBmb3JtYSBkZSBqdWdhciBwb3IgdGllcnJhLuKAnQoKIyMjIyAqKlJFU1BVRVNUQTogTGEgYWZpcm1hY2lvbiBlcyBpbmNvcnJlY3RhIHBvcnF1ZSBpZ25vcmEgY29tcGxldGFtZW50ZSBsYSB2YXJpYWJpbGlkYWQgZW4geWFyZGFzIGdhbmFkYXMgcG9yIGNhcnJlcmEqKgoKIyMjIyAqKjMtODQqKgojIyMjIyBBIGNvbnRpbnVhY2nDs24gc2UgcHJlc2VudGFuIHRyZXMgcGFydGVzIGRlbCBwcmVzdXB1ZXN0byBkZSB1bmEgYcOxbyBwYXJhIGxhIGRlZmVuc2E7IGEgY2FkYSB1bmEgZGUgZWxsYXMsIGVsIENvbmdyZXNvIGVzdGFkb3VuaWRlbnNlIGFzaWduw7MgbGEgbWlzbWEgY2FudGlkYWQgZGUgZmluYW5jaWFtaWVudG86CiMjIyMjIC0gU2FsYXJpbyBkZSBsb3MgZnVuY2lvbmFyaW9zICh0b3RhbCkuCiMjIyMjIC0gTWFudGVuaW1pZW50byBkZSBsYSBmbG90YSBhw6lyZWEuCiMjIyMjIC0gQWRxdWlzaWNpb25lcyBkZSBhbGltZW50b3MgKHRvdGFsKS4KCiMjIyMjIFRvbWFuZG8gZW4gY3VlbnRhIGxhIGRpc3RyaWJ1Y2nDs24gZGUgbG9zIHJlc3VsdGFkb3MgcG9zaWJsZXMgcGFyYSBsb3MgZ2FzdG9zIHJlYWxlcyBlbiBjYWRhIHVuYSBkZSBlc3RhcyDDoXJlYXMsIGhhZ2EgY29ycmVzcG9uZGVyIGNhZGEgc2VjY2nDs24gYSB1bmEgZGUgbGFzIGN1cnZhcyBkZSBsYSBmaWd1cmEgMy05LiBGdW5kYW1lbnRlIHN1IHJlc3B1ZXN0YS4KCiMjIyMgKipSRVNQVUVTVEE6IFNhbGFyaW9zIGZ1bmNpb25hcmlvczogQTsgTWFudGVuaW1pZW50byBkZSBmbG90YTogQzsgYWRxdWlzaWNpb25lcyBkZSBhbGltZW50b3M6IEIqKgoKIyMjIyAqKjMtOTIqKgojIyMjIyBFMSAzMCBkZSBqdW5pbyBkZSAxOTkyLCBsYSBjYXBpdGFsaXphY2lvzIFuIGRlIG51ZXZlIG1lcmNhZG9zIGRlIHZhbG9yZXMgZGVsIFBhY2nMgWZpY28geSBBc2lhIGZ1ZToKCmBgYHtyfQojIENyZWFyIHVuIGRhdGEgZnJhbWUgY29uIGxvcyBkYXRvcwpkYXRvcyA8LSBkYXRhLmZyYW1lKAogIFBhaXMgPSBjKCJGaWxpcGluYXMiLCAiSW5kb25lc2lhIiwgIlRhaWxhbmRpYSIsICJTaW5nYXB1ciIsICJNYWxhc2lhIiwgIkNvcmVhIGRlbCBTdXIiLCAiVGFpd2FuIiwgIkhvbmcgS29uZyIsICJBdXN0cmFsaWEiKSwKICBDYXBpdGFsaXphY2lvbiA9IGMoMTcsIDIxLCA0NCwgNTAsIDc5LCA4NiwgMTQwLCAxNzgsIDIwMykKKQoKIyBJbnN0YWxhciB5IGNhcmdhciBlbCBwYXF1ZXRlIGtuaXRyIHBhcmEgdXRpbGl6YXIgbGEgZnVuY2nDs24ga2FibGUKbGlicmFyeShrbml0cikKCiMgVXRpbGl6YXIgbGEgZnVuY2nDs24ga2FibGUgcGFyYSBjcmVhciB1bmEgdGFibGEKa2FibGUoZGF0b3MsIGNhcHRpb24gPSAiQ2FwaXRhbGl6YWNpw7NuIGRlIHBhw61zZXMgKGVuIG1pbGVzIGRlIG1pbGxvbmVzIGRlIGTDs2xhcmVzKSIpCmBgYAojIyMjIyAtIEVuY3VlbnRyZSBsYSBtZWRpYSBhcml0bWXMgXRpY2EgZGUgbG9zIGRhdG9zLgojIyMjIyAtIEVuY3VlbnRyZSBsYSBtZWRpYW5hIGRlIGxvcyBkYXRvcy4KIyMjIyMgLSBFbmN1ZW50cmUgbGEgbW9kYSBkZSBsb3MgZGF0b3MuCiMjIyMjIC0gwr9DdWHMgWwgZXMgbGEgbWVqb3IgbWVkaWRhIGRlIGxhIHRlbmRlbmNpYSBjZW50cmFsIGRlbCBjb25qdW50byBkZSBkYXRvcz8KIyMjIyMgLSBFbmN1ZW50cmUgbGEgZGVzdmlhY2lvzIFuIGVzdGHMgW5kYXIgZGUgbG9zIGRhdG9zLiAoTGEgcG9ibGFjaW/MgW4gY29tcGxldGEgZXN0YcyBIGluY2x1aWRhIGVuIGVsbG9zLikKCiMjIyMgKipSRVNQVUVTVEE6ICoqCmBgYHtyfQpjYXBpdGFsaXphY2lvbiA8LSBjKDE3LCAyMSwgNDQsIDUwLCA3OSwgODYsIDE0MCwgMTc4LCAyMDMpCgojIGEgCm1lZGlhX2NhcCA8LSBtZWFuKGNhcGl0YWxpemFjaW9uKQptZWRpYV9jYXAKCiMgYgptZWRpYW5fY2FwIDwtIG1lZGlhbihjYXBpdGFsaXphY2lvbikKbWVkaWFuX2NhcAoKIyBjCiMgTm8gaGF5IG1vZGEKCiMgZApoaXN0b2dyYW1hX2NhcCA8LSBoaXN0KGNhcGl0YWxpemFjaW9uKQogCiMgQ29tbyBsYSBncsOhZmljYSB0aWVuZSBzZXNnbywgdXRpbGl6YW1vcyBsYSBtZWpvciB0ZW5kZW5jaWEgY2VudHJhbCBxdWUgZXMgbGEgbWVkaWFuYQpgYGAKCgpgYGB7cn0KIyBlCmNhcGl0YWxpemFjaW9uMiA8LSBjYXBpdGFsaXphY2lvbi1tZWRpYQpjYXBpdGFsaXphY2lvbjIKY2FwaXRhbGl6YWNpb24zIDwtIGNhcGl0YWxpemFjaW9uMipjYXBpdGFsaXphY2lvbjIKY2FwaXRhbGl6YWNpb24zCmNhcGl0YWxpemFjaW9uNCA8LSBzdW0oY2FwaXRhbGl6YWNpb24zKQpjYXBpdGFsaXphY2lvbjQKCnZhcl9wb2JfY2FwIDwtIGNhcGl0YWxpemFjaW9uNC85CnZhcl9wb2JfY2FwIApkZXN2X3BvYl9jYXAgPC0gc3FydCh2YXJfcG9iX2NhcCkKZGVzdl9wb2JfY2FwCmBgYAoKIyMjIyAqKjMtMTAwKioKIyMjIyMgTWF0dGhld3MsIFlvdW5nIHkgQXNvY2lhZG9zLCB1bmEgYWdlbmNpYSBkZSBjb25zdWx0b3JpzIFhcyBkZSBDaGFwZWxsIEhpbGwsIHRpZW5lIGxvcyBzaWd1aWVudGVzIHJlZ2lzdHJvcyBxdWUgaW5kaWNhbiBlbCBudcyBbWVybyBkZSBkacyBYXMgcXVlIGNhZGEgdW5vIGRlIHN1cyBvY2hvIGNvbnN1bHRvcmVzIGRlIHBsYW50YSBjb2Jyb8yBIGVsIHXMgWx0aW1vIGFuzINvOgojIyMjIyAyMTIgMjIwIDIzMCAyMTAgMjI4IDIyOSAyMzEgMjE5IDIyMSAyMjIKIyMjIyMgLSBTaW4gY2FsY3VsYXIgZWwgdmFsb3IgZGUgbGFzIG1lZGlkYXMsIMK/Y3VhzIFsIGRlIGVsbGFzIGNyZWUgdXN0ZWQgcXVlIGxlIGRhcmnMgWEgdW5hIG1heW9yIGluZm9ybWFjaW/MgW4gYWNlcmNhIGRlIGVzdGEgZGlzdHJpYnVjaW/MgW46IGVsIHJhbmdvIG8gbGEgZGVzdmlhY2lvzIFuIGVzdGHMgW5kYXI/CiMjIyMjIC0gVG9tYW5kbyBlbiBjdWVudGEgbGEgZGlmaWN1bHRhZCB5IGVsIHRpZW1wbyBwYXJhIGNhbGN1bGFyIGNhZGEgbWVkaWRhIHF1ZSByZXZpc2/MgSBlbiBlbCBpbmNpc28sIMK/Y3VhzIFsIHN1Z2VyaXJpzIFhIGNvbW8gbGEgbWVqb3I/CiMjIyMjIC0gwr9RdWXMgSBoYXJpzIFhIHF1ZSB1c3RlZCBjYW1iaWFyYSBzdSBvcGluaW/MgW4gYWwgcmVzcGVjdG8/CgojIyMjICoqUkVTUFVFU1RBOioqCiMjIyMjICoqRGVzdmlhY2nDs24gRXN0w6FuZGFyKioKCmBgYHtyfQpkaWFzIDwtIGMoMjEyLCAyMjAsIDIzMCwgMjEwLCAyMjgsIDIyOSwgMjMxLCAyMTksIDIyMSwgMjIyKQpkaWFzCgpyYW5nb19kaWFzIDwtIG1heChkaWFzKS1taW4oZGlhcykKcmFuZ29fZGlhcwoKbWVkaWFfZGlhcyA8LSBtZWFuKGRpYXMpCm1lZGlhX2RpYXMKCmRpYXMyIDwtIGRpYXMtbWVkaWEKZGlhczIKCmRpYXMzIDwtIGRpYXMyKmRpYXMyCgpkaWFzNCA8LSBzdW0oZGlhczMpCmRpYXM0Cgp2YXJpYW56YV9wb2JsYWNpb25hbF9kaWFzIDwtIGRpYXM0LzEwCnZhcmlhbnphX3BvYmxhY2lvbmFsX2RpYXMKCgpkZXNfZXN0X3BvYl9kaWFzIDwtIHNxcnQodmFyaWFuemFfcG9ibGFjaW9uYWxfZGlhcykKZGVzX2VzdF9wb2JfZGlhcwoKYGBgCiMjIyMjICoqQykqKiBEZXN2aWFjacOzbiBFc3TDoW5kYXIKIyMjIyMgKipEKSoqIE5hZGEKCiMjIyMgKiozLTEwNioqCiMjIyMjIEFsbGlzb24gQmFycmV0dCByZWFsaXphIGFuYcyBbGlzaXMgZXN0YWRpzIFzdGljb3MgcGFyYSB1biBlcXVpcG8gZGUgY2FycmVyYXMgYXV0b21vdmlsacyBc3RpY2FzLiBBIGNvbnRpbnVhY2lvzIFuLCBwcmVzZW50YW1vcyBsYXMgY2lmcmFzIGVuIG1pbGxhcyBwb3IgZ2Fsb8yBbiBkZWwgZ2FzdG8gZGUgY29tYnVzdGlibGUgZGUgc3VzIGF1dG9tb8yBdmlsZXMgZW4gY2FycmVyYXMgcmUtIGNpZW50ZXM6CgojIyMjIyA0Ljc3IDYuMTEgNi4xMSA1LjA1IDUuOTkgNC45MSA1LjI3IDYuMDEKIyMjIyMgNS43NSA0Ljg5IDYuMDUgNS4yMiA2LjAyIDUuMjQgNi4xMSA1LjAyCgojIyMjIyBDYWxjdWxlIGxhIG1lZGlhbmEgZGVsIGNvbnN1bW8gZGUgY29tYnVzdGlibGUuCiMjIyMjIENhbGN1bGUgbGEgbWVkaWEgZGVsIG1pc21vIGNvbnN1bW8uCiMjIyMjIEFncnVwZSBsb3MgZGF0b3MgZW4gY2luY28gY2xhc2VzIGRlIGlndWFsIHRhbWFuzINvLiDCv0N1YcyBbCBlcyBlbCB2YWxvciBkZWwgY29uc3VtbyBkZSBjb21idXN0aWJsZSBsYSBjbGFzZSBtb2RhbD8KIyMjIyMgwr9DdWHMgWwgZGUgbGFzIHRyZXMgbWVkaWRhcyBkZSB0ZW5kZW5jaWEgY2VudHJhbCBlcyBsYSBxdWUgbWVqb3IgcHVlZGUgc2VydmlybGUgYSBBbGxpc29uIGN1YW5kbyBoYWdhLiBFeHBsaXF1ZSBzIHJlc3B1ZXN0YQoKIyMjIyAqKlJFU1BVRVNUQSoqCmBgYHtyfQpraWxvbWV0cm9zIDwtIGMoNC43NywgNi4xMSwgNi4xMSwgNS4wNSwgNS45OSwgNC45MSwgNS4yNywgNi4wMSwgNS43NSwgNC44OSwgNi4wNSwgNS4yMiwgNi4wMiwgNS4yNCwgNi4xMSwgNS4wMikKCiNhKSAKbWVkaWFuYV9rbSA8LSBtZWRpYW4oa2lsb21ldHJvcykKbWVkaWFuYV9rbQoKI2IpCm1lZGlhX2ttIDwtIG1lYW4oa2lsb21ldHJvcykKbWVkaWFuYV9rbQoKI2MpCmNsYXNlc19rbSA8LSBjdXQoa2lsb21ldHJvcywgYnJlYWtzPTUpCmNsYXNlc19rbQpjbGFzZXNfa20yIDwtIHRhYmxlKGNsYXNlc19rbSkKY2xhc2VzX2ttMgoKI2QpCmhpc3RvZ3JhbWFfa20gPC0gaGlzdChraWxvbWV0cm9zKQoKI2UpCnJhbmdvX2ttIDwtIG1heChraWxvbWV0cm9zKS1taW4oa2lsb21ldHJvcykKcmFuZ29fa20KYGBgCgojIyMjICoqOC02NCoqCiMjIyMjIEluc3BlY3RvcmVzIGRlbCBnb2JpZXJubywgYWwgaW52ZXN0aWdhciBsb3MgY2FyZ29zIGxldmFudGFkb3MgY29udHJhIHVuYSBlbWJvdGVsbGFkb3JhIGRlIHJlZnJlc2NvcyBkZSBMb3VzaWFuYSwgcXVlIG5vIGxsZW5hYmEgYmllbiBzdXMgcHJvZHVjdG9zLCBtdWVzdHJlYXJvbiAyMDAgYm90ZWxsYXMgeSBlbmNvbnRyYXJvbiBxdWUgZWwgcHJvbWVkaW8gZGUgbGxlbmFkbyBlcyAzMS43IG9uemFzIGxpzIFxdWlkYXMuIFNlIGFudW5jaWEgcXVlIGxhcyBib3RlbGxhcyBjb250aWVuZW4gMzIgb256YXMgbGnMgXF1aWRhcy4gU2Ugc2FiZSBxdWUgbGEgZGVzdmlhY2lvzIFuIGVzdGHMgW5kYXIgZGUgbGUgcG9ibGFjaW/MgW4gZXMgMS41IG9uemFzIGxpzIFxdWlkYXMuIMK/RGViZXJpzIFhbiBjb25jbHVpciBsb3MgaW5zcGVjdG9yZXMsIGEgdW4gbmktIHZlbCBkZSBzaWduaWZpY2FuY2lhIGRlbCAyJSwgcXVlIGxhcyBib3RlbGxhcyBlc3RhzIFuIHRpZW5lbiBtZW5vcyBjb250ZW5pZG8/CgojIyMjICoqUkVTUFVFU1RBKioKCiMjIyMjIFBhc28gMS4gUGxhbnRlYXIgSGlww7N0ZXNpcwoKIyMjIyMjIEgwOiB4zIQgPSDCtQojIyMjIyMgSDE6IHgg4omgIMK1CgojIyMjIyBQYXNvIDIuIE5pdmVsIGRlIFNpZ25pZmljYWNuY2lhCgojIyMjIyMgzrEgPSAwLjAyCgojIyMjIyBQYXNvIDMuIFpvbmEgZGUgYWNlcHRhY2nDs24gLyBSZWNoYXpvCiFbXSgvVXNlcnMvamVuYXJvbXR6Zy9Eb3dubG9hZHMvcmVnaW9uLWNyaXRpY2EtZGUtZG9zLWNvbGFzLXBhcmEtdW4tbml2ZWwtZGUtc2lnbmlmaWNhbmNpYS1kZS0wLjA1LmpwZykKCiMjIyMjIFBhc28gNC4gRnVuY2lvbiBQaXZvdGFsCgpgYGB7cn0Kel9mdWxsIDwtICgzMS43IC0zMiApIC8gKDEuNSAvIHNxcnQoMjAwKSkKel9mdWxsCmBgYAoKCiMjIyMjIFBhc28gNS4gQ29uY2x1c2nDs24KCgo=