#file.choose()
# install.packages("neuralnet")
library(neuralnet)
library(caret)
## Cargando paquete requerido: ggplot2
## Cargando paquete requerido: lattice
library(readr)
df <- read_csv("cancer_de_mama.csv")
## Rows: 569 Columns: 31
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (1): diagnosis
## dbl (30): radius_mean, texture_mean, perimeter_mean, area_mean, smoothness_m...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

1. Dejar la base de datos de 0,1

df$diagnosis <-ifelse(df$diagnosis == "M", 1,0)

2. Poner la seed

set.seed(123)

renglones_entrenamiento <- createDataPartition(df$diagnosis, p = 0.8, list = FALSE)
entrenamiento <- df[renglones_entrenamiento, ]
prueba <- df[renglones_entrenamiento, ]

3. Generar la Red Neuronal

red_neuronal <- neuralnet(diagnosis~., data=entrenamiento)
plot(red_neuronal, rep = "best")

4. Predecir con la Red Neuronal

prediccion <- compute(red_neuronal, prueba)
prediccion$net.result
##             [,1]
##   [1,] 0.3486923
##   [2,] 0.3486923
##   [3,] 0.3486923
##   [4,] 0.3486923
##   [5,] 0.3486923
##   [6,] 0.3486923
##   [7,] 0.3486923
##   [8,] 0.3486923
##   [9,] 0.3486923
##  [10,] 0.3486923
##  [11,] 0.3486923
##  [12,] 0.3486923
##  [13,] 0.3486923
##  [14,] 0.3486923
##  [15,] 0.3486923
##  [16,] 0.3486923
##  [17,] 0.3486923
##  [18,] 0.3486923
##  [19,] 0.3486923
##  [20,] 0.3486923
##  [21,] 0.3486923
##  [22,] 0.3486923
##  [23,] 0.3486923
##  [24,] 0.3486923
##  [25,] 0.3486923
##  [26,] 0.3486923
##  [27,] 0.3486923
##  [28,] 0.3486923
##  [29,] 0.3486923
##  [30,] 0.3486923
##  [31,] 0.3486923
##  [32,] 0.3486923
##  [33,] 0.3486923
##  [34,] 0.3486923
##  [35,] 0.3486923
##  [36,] 0.3486923
##  [37,] 0.3486923
##  [38,] 0.3486923
##  [39,] 0.3486923
##  [40,] 0.3486923
##  [41,] 0.3486923
##  [42,] 0.3486923
##  [43,] 0.3486923
##  [44,] 0.3486923
##  [45,] 0.3486923
##  [46,] 0.3486923
##  [47,] 0.3486923
##  [48,] 0.3486923
##  [49,] 0.3486923
##  [50,] 0.3486923
##  [51,] 0.3486923
##  [52,] 0.3486923
##  [53,] 0.3486923
##  [54,] 0.3486923
##  [55,] 0.3486923
##  [56,] 0.3486923
##  [57,] 0.3486923
##  [58,] 0.3486923
##  [59,] 0.3486923
##  [60,] 0.3486923
##  [61,] 0.3486923
##  [62,] 0.3486923
##  [63,] 0.3486923
##  [64,] 0.3486923
##  [65,] 0.3486923
##  [66,] 0.3486923
##  [67,] 0.3486923
##  [68,] 0.3486923
##  [69,] 0.3486923
##  [70,] 0.3486923
##  [71,] 0.3486923
##  [72,] 0.3486923
##  [73,] 0.3486923
##  [74,] 0.3486923
##  [75,] 0.3486923
##  [76,] 0.3486923
##  [77,] 0.3486923
##  [78,] 0.3486923
##  [79,] 0.3486923
##  [80,] 0.3486923
##  [81,] 0.3486923
##  [82,] 0.3486923
##  [83,] 0.3486923
##  [84,] 0.3486923
##  [85,] 0.3486923
##  [86,] 0.3486923
##  [87,] 0.3486923
##  [88,] 0.3486923
##  [89,] 0.3486923
##  [90,] 0.3486923
##  [91,] 0.3486923
##  [92,] 0.3486923
##  [93,] 0.3486923
##  [94,] 0.3486923
##  [95,] 0.3486923
##  [96,] 0.3486923
##  [97,] 0.3486923
##  [98,] 0.3486923
##  [99,] 0.3486923
## [100,] 0.3486923
## [101,] 0.3486923
## [102,] 0.3486923
## [103,] 0.3486923
## [104,] 0.3486923
## [105,] 0.3486923
## [106,] 0.3486923
## [107,] 0.3486923
## [108,] 0.3486923
## [109,] 0.3486923
## [110,] 0.3486923
## [111,] 0.3486923
## [112,] 0.3486923
## [113,] 0.3486923
## [114,] 0.3486923
## [115,] 0.3486923
## [116,] 0.3486923
## [117,] 0.3486923
## [118,] 0.3486923
## [119,] 0.3486923
## [120,] 0.3486923
## [121,] 0.3486923
## [122,] 0.3486923
## [123,] 0.3486923
## [124,] 0.3486923
## [125,] 0.3486923
## [126,] 0.3486923
## [127,] 0.3486923
## [128,] 0.3486923
## [129,] 0.3486923
## [130,] 0.3486923
## [131,] 0.3486923
## [132,] 0.3486923
## [133,] 0.3486923
## [134,] 0.3486923
## [135,] 0.3486923
## [136,] 0.3486923
## [137,] 0.3486923
## [138,] 0.3486923
## [139,] 0.3486923
## [140,] 0.3486923
## [141,] 0.3486923
## [142,] 0.3486923
## [143,] 0.3486923
## [144,] 0.3486923
## [145,] 0.3486923
## [146,] 0.3486923
## [147,] 0.3486923
## [148,] 0.3486923
## [149,] 0.3486923
## [150,] 0.3486923
## [151,] 0.3486923
## [152,] 0.3486923
## [153,] 0.3486923
## [154,] 0.3486923
## [155,] 0.3486923
## [156,] 0.3486923
## [157,] 0.3486923
## [158,] 0.3486923
## [159,] 0.3486923
## [160,] 0.3486923
## [161,] 0.3486923
## [162,] 0.3486923
## [163,] 0.3486923
## [164,] 0.3486923
## [165,] 0.3486923
## [166,] 0.3486923
## [167,] 0.3486923
## [168,] 0.3486923
## [169,] 0.3486923
## [170,] 0.3486923
## [171,] 0.3486923
## [172,] 0.3486923
## [173,] 0.3486923
## [174,] 0.3486923
## [175,] 0.3486923
## [176,] 0.3486923
## [177,] 0.3486923
## [178,] 0.3486923
## [179,] 0.3486923
## [180,] 0.3486923
## [181,] 0.3486923
## [182,] 0.3486923
## [183,] 0.3486923
## [184,] 0.3486923
## [185,] 0.3486923
## [186,] 0.3486923
## [187,] 0.3486923
## [188,] 0.3486923
## [189,] 0.3486923
## [190,] 0.3486923
## [191,] 0.3486923
## [192,] 0.3486923
## [193,] 0.3486923
## [194,] 0.3486923
## [195,] 0.3486923
## [196,] 0.3486923
## [197,] 0.3486923
## [198,] 0.3486923
## [199,] 0.3486923
## [200,] 0.3486923
## [201,] 0.3486923
## [202,] 0.3486923
## [203,] 0.3486923
## [204,] 0.3486923
## [205,] 0.3486923
## [206,] 0.3486923
## [207,] 0.3486923
## [208,] 0.3486923
## [209,] 0.3486923
## [210,] 0.3486923
## [211,] 0.3486923
## [212,] 0.3486923
## [213,] 0.3486923
## [214,] 0.3486923
## [215,] 0.3486923
## [216,] 0.3486923
## [217,] 0.3486923
## [218,] 0.3486923
## [219,] 0.3486923
## [220,] 0.3486923
## [221,] 0.3486923
## [222,] 0.3486923
## [223,] 0.3486923
## [224,] 0.3486923
## [225,] 0.3486923
## [226,] 0.3486923
## [227,] 0.3486923
## [228,] 0.3486923
## [229,] 0.3486923
## [230,] 0.3486923
## [231,] 0.3486923
## [232,] 0.3486923
## [233,] 0.3486923
## [234,] 0.3486923
## [235,] 0.3486923
## [236,] 0.3486923
## [237,] 0.3486923
## [238,] 0.3486923
## [239,] 0.3486923
## [240,] 0.3486923
## [241,] 0.3486923
## [242,] 0.3486923
## [243,] 0.3486923
## [244,] 0.3486923
## [245,] 0.3486923
## [246,] 0.3486923
## [247,] 0.3486923
## [248,] 0.3486923
## [249,] 0.3486923
## [250,] 0.3486923
## [251,] 0.3486923
## [252,] 0.3486923
## [253,] 0.3486923
## [254,] 0.3486923
## [255,] 0.3486923
## [256,] 0.3486923
## [257,] 0.3486923
## [258,] 0.3486923
## [259,] 0.3486923
## [260,] 0.3486923
## [261,] 0.3486923
## [262,] 0.3486923
## [263,] 0.3486923
## [264,] 0.3486923
## [265,] 0.3486923
## [266,] 0.3486923
## [267,] 0.3486923
## [268,] 0.3486923
## [269,] 0.3486923
## [270,] 0.3486923
## [271,] 0.3486923
## [272,] 0.3486923
## [273,] 0.3486923
## [274,] 0.3486923
## [275,] 0.3486923
## [276,] 0.3486923
## [277,] 0.3486923
## [278,] 0.3486923
## [279,] 0.3486923
## [280,] 0.3486923
## [281,] 0.3486923
## [282,] 0.3486923
## [283,] 0.3486923
## [284,] 0.3486923
## [285,] 0.3486923
## [286,] 0.3486923
## [287,] 0.3486923
## [288,] 0.3486923
## [289,] 0.3486923
## [290,] 0.3486923
## [291,] 0.3486923
## [292,] 0.3486923
## [293,] 0.3486923
## [294,] 0.3486923
## [295,] 0.3486923
## [296,] 0.3486923
## [297,] 0.3486923
## [298,] 0.3486923
## [299,] 0.3486923
## [300,] 0.3486923
## [301,] 0.3486923
## [302,] 0.3486923
## [303,] 0.3486923
## [304,] 0.3486923
## [305,] 0.3486923
## [306,] 0.3486923
## [307,] 0.3486923
## [308,] 0.3486923
## [309,] 0.3486923
## [310,] 0.3486923
## [311,] 0.3486923
## [312,] 0.3486923
## [313,] 0.3486923
## [314,] 0.3486923
## [315,] 0.3486923
## [316,] 0.3486923
## [317,] 0.3486923
## [318,] 0.3486923
## [319,] 0.3486923
## [320,] 0.3486923
## [321,] 0.3486923
## [322,] 0.3486923
## [323,] 0.3486923
## [324,] 0.3486923
## [325,] 0.3486923
## [326,] 0.3486923
## [327,] 0.3486923
## [328,] 0.3486923
## [329,] 0.3486923
## [330,] 0.3486923
## [331,] 0.3486923
## [332,] 0.3486923
## [333,] 0.3486923
## [334,] 0.3486923
## [335,] 0.3486923
## [336,] 0.3486923
## [337,] 0.3486923
## [338,] 0.3486923
## [339,] 0.3486923
## [340,] 0.3486923
## [341,] 0.3486923
## [342,] 0.3486923
## [343,] 0.3486923
## [344,] 0.3486923
## [345,] 0.3486923
## [346,] 0.3486923
## [347,] 0.3486923
## [348,] 0.3486923
## [349,] 0.3486923
## [350,] 0.3486923
## [351,] 0.3486923
## [352,] 0.3486923
## [353,] 0.3486923
## [354,] 0.3486923
## [355,] 0.3486923
## [356,] 0.3486923
## [357,] 0.3486923
## [358,] 0.3486923
## [359,] 0.3486923
## [360,] 0.3486923
## [361,] 0.3486923
## [362,] 0.3486923
## [363,] 0.3486923
## [364,] 0.3486923
## [365,] 0.3486923
## [366,] 0.3486923
## [367,] 0.3486923
## [368,] 0.3486923
## [369,] 0.3486923
## [370,] 0.3486923
## [371,] 0.3486923
## [372,] 0.3486923
## [373,] 0.3486923
## [374,] 0.3486923
## [375,] 0.3486923
## [376,] 0.3486923
## [377,] 0.3486923
## [378,] 0.3486923
## [379,] 0.3486923
## [380,] 0.3486923
## [381,] 0.3486923
## [382,] 0.3486923
## [383,] 0.3486923
## [384,] 0.3486923
## [385,] 0.3486923
## [386,] 0.3486923
## [387,] 0.3486923
## [388,] 0.3486923
## [389,] 0.3486923
## [390,] 0.3486923
## [391,] 0.3486923
## [392,] 0.3486923
## [393,] 0.3486923
## [394,] 0.3486923
## [395,] 0.3486923
## [396,] 0.3486923
## [397,] 0.3486923
## [398,] 0.3486923
## [399,] 0.3486923
## [400,] 0.3486923
## [401,] 0.3486923
## [402,] 0.3486923
## [403,] 0.3486923
## [404,] 0.3486923
## [405,] 0.3486923
## [406,] 0.3486923
## [407,] 0.3486923
## [408,] 0.3486923
## [409,] 0.3486923
## [410,] 0.3486923
## [411,] 0.3486923
## [412,] 0.3486923
## [413,] 0.3486923
## [414,] 0.3486923
## [415,] 0.3486923
## [416,] 0.3486923
## [417,] 0.3486923
## [418,] 0.3486923
## [419,] 0.3486923
## [420,] 0.3486923
## [421,] 0.3486923
## [422,] 0.3486923
## [423,] 0.3486923
## [424,] 0.3486923
## [425,] 0.3486923
## [426,] 0.3486923
## [427,] 0.3486923
## [428,] 0.3486923
## [429,] 0.3486923
## [430,] 0.3486923
## [431,] 0.3486923
## [432,] 0.3486923
## [433,] 0.3486923
## [434,] 0.3486923
## [435,] 0.3486923
## [436,] 0.3486923
## [437,] 0.3486923
## [438,] 0.3486923
## [439,] 0.3486923
## [440,] 0.3486923
## [441,] 0.3486923
## [442,] 0.3486923
## [443,] 0.3486923
## [444,] 0.3486923
## [445,] 0.3486923
## [446,] 0.3486923
## [447,] 0.3486923
## [448,] 0.3486923
## [449,] 0.3486923
## [450,] 0.3486923
## [451,] 0.3486923
## [452,] 0.3486923
## [453,] 0.3486923
## [454,] 0.3486923
## [455,] 0.3486923
## [456,] 0.3486923
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##        [,1]
##   [1,]    0
##   [2,]    0
##   [3,]    0
##   [4,]    0
##   [5,]    0
##   [6,]    0
##   [7,]    0
##   [8,]    0
##   [9,]    0
##  [10,]    0
##  [11,]    0
##  [12,]    0
##  [13,]    0
##  [14,]    0
##  [15,]    0
##  [16,]    0
##  [17,]    0
##  [18,]    0
##  [19,]    0
##  [20,]    0
##  [21,]    0
##  [22,]    0
##  [23,]    0
##  [24,]    0
##  [25,]    0
##  [26,]    0
##  [27,]    0
##  [28,]    0
##  [29,]    0
##  [30,]    0
##  [31,]    0
##  [32,]    0
##  [33,]    0
##  [34,]    0
##  [35,]    0
##  [36,]    0
##  [37,]    0
##  [38,]    0
##  [39,]    0
##  [40,]    0
##  [41,]    0
##  [42,]    0
##  [43,]    0
##  [44,]    0
##  [45,]    0
##  [46,]    0
##  [47,]    0
##  [48,]    0
##  [49,]    0
##  [50,]    0
##  [51,]    0
##  [52,]    0
##  [53,]    0
##  [54,]    0
##  [55,]    0
##  [56,]    0
##  [57,]    0
##  [58,]    0
##  [59,]    0
##  [60,]    0
##  [61,]    0
##  [62,]    0
##  [63,]    0
##  [64,]    0
##  [65,]    0
##  [66,]    0
##  [67,]    0
##  [68,]    0
##  [69,]    0
##  [70,]    0
##  [71,]    0
##  [72,]    0
##  [73,]    0
##  [74,]    0
##  [75,]    0
##  [76,]    0
##  [77,]    0
##  [78,]    0
##  [79,]    0
##  [80,]    0
##  [81,]    0
##  [82,]    0
##  [83,]    0
##  [84,]    0
##  [85,]    0
##  [86,]    0
##  [87,]    0
##  [88,]    0
##  [89,]    0
##  [90,]    0
##  [91,]    0
##  [92,]    0
##  [93,]    0
##  [94,]    0
##  [95,]    0
##  [96,]    0
##  [97,]    0
##  [98,]    0
##  [99,]    0
## [100,]    0
## [101,]    0
## [102,]    0
## [103,]    0
## [104,]    0
## [105,]    0
## [106,]    0
## [107,]    0
## [108,]    0
## [109,]    0
## [110,]    0
## [111,]    0
## [112,]    0
## [113,]    0
## [114,]    0
## [115,]    0
## [116,]    0
## [117,]    0
## [118,]    0
## [119,]    0
## [120,]    0
## [121,]    0
## [122,]    0
## [123,]    0
## [124,]    0
## [125,]    0
## [126,]    0
## [127,]    0
## [128,]    0
## [129,]    0
## [130,]    0
## [131,]    0
## [132,]    0
## [133,]    0
## [134,]    0
## [135,]    0
## [136,]    0
## [137,]    0
## [138,]    0
## [139,]    0
## [140,]    0
## [141,]    0
## [142,]    0
## [143,]    0
## [144,]    0
## [145,]    0
## [146,]    0
## [147,]    0
## [148,]    0
## [149,]    0
## [150,]    0
## [151,]    0
## [152,]    0
## [153,]    0
## [154,]    0
## [155,]    0
## [156,]    0
## [157,]    0
## [158,]    0
## [159,]    0
## [160,]    0
## [161,]    0
## [162,]    0
## [163,]    0
## [164,]    0
## [165,]    0
## [166,]    0
## [167,]    0
## [168,]    0
## [169,]    0
## [170,]    0
## [171,]    0
## [172,]    0
## [173,]    0
## [174,]    0
## [175,]    0
## [176,]    0
## [177,]    0
## [178,]    0
## [179,]    0
## [180,]    0
## [181,]    0
## [182,]    0
## [183,]    0
## [184,]    0
## [185,]    0
## [186,]    0
## [187,]    0
## [188,]    0
## [189,]    0
## [190,]    0
## [191,]    0
## [192,]    0
## [193,]    0
## [194,]    0
## [195,]    0
## [196,]    0
## [197,]    0
## [198,]    0
## [199,]    0
## [200,]    0
## [201,]    0
## [202,]    0
## [203,]    0
## [204,]    0
## [205,]    0
## [206,]    0
## [207,]    0
## [208,]    0
## [209,]    0
## [210,]    0
## [211,]    0
## [212,]    0
## [213,]    0
## [214,]    0
## [215,]    0
## [216,]    0
## [217,]    0
## [218,]    0
## [219,]    0
## [220,]    0
## [221,]    0
## [222,]    0
## [223,]    0
## [224,]    0
## [225,]    0
## [226,]    0
## [227,]    0
## [228,]    0
## [229,]    0
## [230,]    0
## [231,]    0
## [232,]    0
## [233,]    0
## [234,]    0
## [235,]    0
## [236,]    0
## [237,]    0
## [238,]    0
## [239,]    0
## [240,]    0
## [241,]    0
## [242,]    0
## [243,]    0
## [244,]    0
## [245,]    0
## [246,]    0
## [247,]    0
## [248,]    0
## [249,]    0
## [250,]    0
## [251,]    0
## [252,]    0
## [253,]    0
## [254,]    0
## [255,]    0
## [256,]    0
## [257,]    0
## [258,]    0
## [259,]    0
## [260,]    0
## [261,]    0
## [262,]    0
## [263,]    0
## [264,]    0
## [265,]    0
## [266,]    0
## [267,]    0
## [268,]    0
## [269,]    0
## [270,]    0
## [271,]    0
## [272,]    0
## [273,]    0
## [274,]    0
## [275,]    0
## [276,]    0
## [277,]    0
## [278,]    0
## [279,]    0
## [280,]    0
## [281,]    0
## [282,]    0
## [283,]    0
## [284,]    0
## [285,]    0
## [286,]    0
## [287,]    0
## [288,]    0
## [289,]    0
## [290,]    0
## [291,]    0
## [292,]    0
## [293,]    0
## [294,]    0
## [295,]    0
## [296,]    0
## [297,]    0
## [298,]    0
## [299,]    0
## [300,]    0
## [301,]    0
## [302,]    0
## [303,]    0
## [304,]    0
## [305,]    0
## [306,]    0
## [307,]    0
## [308,]    0
## [309,]    0
## [310,]    0
## [311,]    0
## [312,]    0
## [313,]    0
## [314,]    0
## [315,]    0
## [316,]    0
## [317,]    0
## [318,]    0
## [319,]    0
## [320,]    0
## [321,]    0
## [322,]    0
## [323,]    0
## [324,]    0
## [325,]    0
## [326,]    0
## [327,]    0
## [328,]    0
## [329,]    0
## [330,]    0
## [331,]    0
## [332,]    0
## [333,]    0
## [334,]    0
## [335,]    0
## [336,]    0
## [337,]    0
## [338,]    0
## [339,]    0
## [340,]    0
## [341,]    0
## [342,]    0
## [343,]    0
## [344,]    0
## [345,]    0
## [346,]    0
## [347,]    0
## [348,]    0
## [349,]    0
## [350,]    0
## [351,]    0
## [352,]    0
## [353,]    0
## [354,]    0
## [355,]    0
## [356,]    0
## [357,]    0
## [358,]    0
## [359,]    0
## [360,]    0
## [361,]    0
## [362,]    0
## [363,]    0
## [364,]    0
## [365,]    0
## [366,]    0
## [367,]    0
## [368,]    0
## [369,]    0
## [370,]    0
## [371,]    0
## [372,]    0
## [373,]    0
## [374,]    0
## [375,]    0
## [376,]    0
## [377,]    0
## [378,]    0
## [379,]    0
## [380,]    0
## [381,]    0
## [382,]    0
## [383,]    0
## [384,]    0
## [385,]    0
## [386,]    0
## [387,]    0
## [388,]    0
## [389,]    0
## [390,]    0
## [391,]    0
## [392,]    0
## [393,]    0
## [394,]    0
## [395,]    0
## [396,]    0
## [397,]    0
## [398,]    0
## [399,]    0
## [400,]    0
## [401,]    0
## [402,]    0
## [403,]    0
## [404,]    0
## [405,]    0
## [406,]    0
## [407,]    0
## [408,]    0
## [409,]    0
## [410,]    0
## [411,]    0
## [412,]    0
## [413,]    0
## [414,]    0
## [415,]    0
## [416,]    0
## [417,]    0
## [418,]    0
## [419,]    0
## [420,]    0
## [421,]    0
## [422,]    0
## [423,]    0
## [424,]    0
## [425,]    0
## [426,]    0
## [427,]    0
## [428,]    0
## [429,]    0
## [430,]    0
## [431,]    0
## [432,]    0
## [433,]    0
## [434,]    0
## [435,]    0
## [436,]    0
## [437,]    0
## [438,]    0
## [439,]    0
## [440,]    0
## [441,]    0
## [442,]    0
## [443,]    0
## [444,]    0
## [445,]    0
## [446,]    0
## [447,]    0
## [448,]    0
## [449,]    0
## [450,]    0
## [451,]    0
## [452,]    0
## [453,]    0
## [454,]    0
## [455,]    0
## [456,]    0

5. Conlusión

El resultado de la red neuronal da negativo, ya que fue menor a 5, pero la base de datos tiene unos positivos, por lo que hay que revisar los datos y el metodo de predicción

LS0tDQp0aXRsZTogIlJlZGVzIE5ldXJvbmFsZXMgMiINCmF1dGhvcjogIlBhYmxvIFNlYmFzdGlhbiINCmRhdGU6ICIyMDI0LTA4LTE1Ig0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogVFJVRQ0KICAgIHRvY19mbG9hdDogVFJVRQ0KICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCiAgICB0aGVtZTogZGFyaw0KLS0tDQoNCiFbXShDOlxcVXNlcnNcXHNlYmFzXFxPbmVEcml2ZVxcRXNjcml0b3Jpb1xcSW50ZWxpZ2VuY2lhIGRlIE5lZ29jaW9zXFxNb2R1bG8gMlxcMTUgMDggMjAyNFxccmVkZXMtbmV1cm9uYWxlcy0xLmpwZykNCg0KYGBge3J9DQojZmlsZS5jaG9vc2UoKQ0KYGBgDQoNCmBgYHtyfQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCJuZXVyYWxuZXQiKQ0KbGlicmFyeShuZXVyYWxuZXQpDQpsaWJyYXJ5KGNhcmV0KQ0KbGlicmFyeShyZWFkcikNCmRmIDwtIHJlYWRfY3N2KCJjYW5jZXJfZGVfbWFtYS5jc3YiKQ0KYGBgDQoNCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+MS4gRGVqYXIgbGEgYmFzZSBkZSBkYXRvcyBkZSAwLDEgPC9zcGFuPg0KYGBge3J9DQpkZiRkaWFnbm9zaXMgPC1pZmVsc2UoZGYkZGlhZ25vc2lzID09ICJNIiwgMSwwKQ0KYGBgDQoNCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+Mi4gUG9uZXIgbGEgc2VlZCA8L3NwYW4+DQpgYGB7cn0NCnNldC5zZWVkKDEyMykNCg0KcmVuZ2xvbmVzX2VudHJlbmFtaWVudG8gPC0gY3JlYXRlRGF0YVBhcnRpdGlvbihkZiRkaWFnbm9zaXMsIHAgPSAwLjgsIGxpc3QgPSBGQUxTRSkNCmVudHJlbmFtaWVudG8gPC0gZGZbcmVuZ2xvbmVzX2VudHJlbmFtaWVudG8sIF0NCnBydWViYSA8LSBkZltyZW5nbG9uZXNfZW50cmVuYW1pZW50bywgXQ0KYGBgDQoNCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+My4gR2VuZXJhciBsYSBSZWQgTmV1cm9uYWw8L3NwYW4+DQpgYGB7cn0NCnJlZF9uZXVyb25hbCA8LSBuZXVyYWxuZXQoZGlhZ25vc2lzfi4sIGRhdGE9ZW50cmVuYW1pZW50bykNCnBsb3QocmVkX25ldXJvbmFsLCByZXAgPSAiYmVzdCIpDQpgYGANCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+NC4gUHJlZGVjaXIgY29uIGxhIFJlZCBOZXVyb25hbDwvc3Bhbj4NCmBgYHtyfQ0KcHJlZGljY2lvbiA8LSBjb21wdXRlKHJlZF9uZXVyb25hbCwgcHJ1ZWJhKQ0KcHJlZGljY2lvbiRuZXQucmVzdWx0DQpwcm9iYWJpbGlkYWQgPC0gcHJlZGljY2lvbiRuZXQucmVzdWx0DQpyZXN1bHRhZG8gPC0gaWZlbHNlKHByb2JhYmlsaWRhZD4wLjUsMSwwKQ0KcmVzdWx0YWRvDQpgYGANCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+NS4gQ29ubHVzacOzbiA8L3NwYW4+DQpFbCByZXN1bHRhZG8gZGUgbGEgcmVkIG5ldXJvbmFsIGRhIG5lZ2F0aXZvLCB5YSBxdWUgZnVlIG1lbm9yIGEgNSwgcGVybyBsYSBiYXNlIGRlIGRhdG9zIHRpZW5lIHVub3MgcG9zaXRpdm9zLCBwb3IgbG8gcXVlIGhheSBxdWUgcmV2aXNhciBsb3MgZGF0b3MgeSBlbCBtZXRvZG8gZGUgcHJlZGljY2nDs24NCg0K