getprop("ro.product.device") == "msm8909" || abort("E3004: This package is for \"msm8909\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: qcom/msm8909/msm8909:7.1.2/136/brian03110818:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/137/brian07022358:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/136/brian03110818:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/137/brian07022358:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/136/brian03110818:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/137/brian07022358:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:499b1c498024b2a8c666e8fa0198fb563a15fa85") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:499b1c498024b2a8c666e8fa0198fb563a15fa85\" has unexpected contents.");
apply_patch_space(33554432) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "5824,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,3768,6942,6943,6944,6945,8085,8086,8087,8088,8310,8311,8312,8313,9150,9151,9152,9153,9155,9156,9157,9158,9159,9160,9167,9168,9169,9170,9176,9177,9178,9179,9180,9181,9207,9208,9209,9210,9273,9274,9275,9276,9277,9278,9344,9345,9346,9347,9353,9354,9355,9356,9357,9358,9385,9386,9387,9388,9392,9393,9394,9395,9396,9397,9416,9417,9418,9419,9421,9422,9423,9424,9425,9426,9432,9433,9434,9435,9439,9440,9441,9442,9443,9444,9460,9461,9462,9463,9466,9467,9468,9469,9470,9471,9481,9482,9483,9484,9487,9488,9489,9490,9491,9492,9505,9506,9507,9508,9512,9513,9514,9515,9516,9517,9528,9529,9530,9531,9532,9533,9534,9535,9599,9600,9611,9612,9613,9614,9615,9616,9617,9618,9625,9626,9628,9629,9630,9631,9633,9634,9635,9636,9637,9638,9639,9640,9687,9688,9697,9698,9699,9700,9701,9702,9703,9704,9756,9757,9767,9768,9769,9770,9771,9772,9773,9774,10519,10520,21722,21723,21725,21726,21737,21738,21749,21750,21754,21755,21759,21760,21767,21768,21773,21774,21778,21779,21780,21781,21787,21788,21825,21826,21827,21828,21829,21830,21836,21837,21846,21847,21856,21857,21864,21865,21871,21872,21883,21884,21890,21891,21896,21897,21898,21899,21908,21909,21918,21919,21925,21926,21931,21932,21933,21934,21938,21939,21944,21945,21949,21950,21962,21963,21970,21971,21977,21978,21986,21987,22035,22036,22041,22042,22043,22044,22049,22050,22131,22132,22137,22138,22150,22151,22157,22158,22163,22164,22197,22198,22217,22218,22222,22223,22228,22229,22236,22237,22241,22242,22249,22250,22256,22257,22264,22265,22270,22271,22281,22282,22305,22306,22340,22341,22342,22343,22351,22352,22394,22395,22402,22403,22412,22413,22453,22454,22458,22459,22468,22469,22475,22476,22481,22482,22489,22490,22505,22506,22515,22516,22537,22538,22548,22549,22561,22562,22572,22573,22719,22720,22733,22734,22742,22743,22748,22749,22784,22785,22796,22797,22831,22832,22944,22945,22956,22957,22966,22967,22968,22969,22998,22999,23004,23005,23042,23043,23071,23072,23073,23074,23075,23076,23103,23104,23116,23117,23172,23173,23236,23237,23298,23299,23304,23305,23346,23347,23402,23403,23404,23405,23410,23411,23416,23417,23422,23423,23445,23446,23451,23452,23460,23461,23468,23469,23598,23599,23754,23755,23761,23762,23779,23780,23789,23790,23808,23809,23811,23812,23820,23821,23918,23919,23945,23946,23951,23952,23960,23961,24001,24002,24008,24009,24144,24145,24146,24147,24152,24153,24160,24161,24166,24167,24172,24173,24180,24181,24190,24191,24200,24201,24205,24206,24233,24234,24260,24261,24279,24280,24286,24287,24293,24294,24301,24302,24311,24312,24371,24372,24406,24407,24415,24416,24421,24422,24430,24431,24432,24433,24452,24453,24460,24461,24465,24466,24471,24472,24520,24521,24828,24829,24833,24834,24872,24873,24881,24882,24890,24891,24896,24897,24901,24902,24906,24907,24911,24912,24917,24918,24936,24937,24948,24949,24960,24961,24966,24967,24968,24969,24979,24980,24988,24989,24998,24999,25009,25010,25055,25056,25065,25066,25075,25076,25085,25086,25087,25088,25092,25093,25098,25099,25104,25105,25110,25111,25116,25117,25122,25123,25128,25129,25134,25135,25140,25141,25147,25148,25154,25155,25161,25162,25168,25169,25174,25175,25180,25181,25208,25209,25238,25239,25247,25248,25253,25254,25258,25259,25304,25305,25309,25310,25322,25323,25327,25328,25329,25330,25343,25344,25350,25351,25356,25357,25364,25365,25372,25373,25378,25379,25384,25385,25390,25391,25417,25418,25426,25427,25433,25434,25438,25439,25445,25446,25452,25453,25454,25455,25459,25460,25491,25492,25538,25539,25540,25541,25549,25550,25565,25566,25571,25572,25577,25578,25585,25586,25591,25592,25594,25595,25599,25600,25623,25624,25625,25626,25631,25632,25650,25651,25659,25660,25665,25666,25671,25672,25677,25678,25683,25684,25706,25707,25777,25778,25783,25784,25789,25790,25796,25797,25803,25804,25806,25807,25823,25824,25829,25830,25836,25837,25942,25943,25967,25968,25974,25975,25981,25982,25986,25987,25988,25989,26011,26012,26325,26326,26494,26495,26512,26513,26516,26517,26518,26519,26581,26582,26583,26584,26585,26586,26587,26588,26604,26605,26609,26610,26611,26612,26666,26667,26668,26669,26690,26691,26752,26753,26754,26755,26765,26766,26770,26771,26773,26774,26823,26824,26825,26826,26845,26846,26894,26895,26897,26898,26899,26900,26916,26917,26921,26922,26923,26924,26981,26982,26983,26984,27008,27009,27071,27072,27073,27074,27090,27091,27095,27096,27097,27098,27153,27154,27155,27156,27180,27181,27243,27244,27245,27246,27262,27263,27267,27268,27269,27270,27332,27333,27334,27335,27359,27360,27423,27424,27584,27585,27586,27587,27589,27590,27591,27592,27594,27595,27600,27601,27604,27605,27606,27607,27608,27609,27610,27611,27619,27620,27622,27623,27865,27866,27867,27868,27869,27870,27871,27872,27877,27878,27879,27880,27881,27882,27885,27886,27889,27890,27893,27894,27897,27898,27899,27900,27903,27904,27907,27908,27911,27912,27915,27916,27919,27920,27921,27922,27925,27926,27929,27930,27933,27934,27937,27938,27941,27942,27945,27946,28029,28030,28031,28032,28039,28040,28059,28060,28066,28067,28068,28069,28070,28071,28072,28073,28074,28075,28076,28077,28078,28079,28084,28085,28086,28087,28088,28089,28092,28093,28096,28097,28098,28099,28102,28103,28104,28105,28108,28109,28111,28112,28115,28116,28120,28121,28125,28126,28130,28131,28135,28136,28137,28138,28141,28142,28143,28144,28145,28146,28147,28148,28149,28150,28151,28152,28173,28174,28179,28180,28194,28195,28212,28213,28217,28218,28219,28220,28222,28223,28380,28381,28383,28384,28385,28386,28548,28549,28551,28552,28553,28554,28555,28556,28559,28560,28561,28562,28566,28567,28568,28569,28572,28573,28574,28575,28576,28577,28578,28579,28580,28581,28582,28583,28594,28595,28596,28597,28598,28599,28600,28601,28603,28604,28605,28606,28607,28608,28609,28610,28611,28612,28613,28614,28615,28616,28617,28618,28619,28620,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28638,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28654,28655,28656,28657,28658,28659,28660,28662,28663,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28698,28699,28700,28701,28702,28703,28705,28706,28711,28712,28713,28714,28715,28716,28718,28719,28720,28721,28722,28723,28726,28727,28729,28730,28731,28732,28734,28735,28737,28738,28740,28741,28747,28748,28756,28757,28765,28766,28773,28774,28781,28782,28790,28791,28799,28800,28808,28809,28817,28818,28836,28837,28838,28839,28840,28841,28842,28843,28844,28845,29951,29952,29953,29954,29955,29956,29957,29958,29959,29960,29961,29962,29963,29964,29965,29966,29967,29968,29969,29970,29971,29972,29973,29974,29975,29976,29977,29978,29979,29980,29981,29982,29983,29984,29985,29986,29987,29988,29989,29990,29991,29992,29993,29994,29995,29996,29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30040,30041,30042,30043,30044,30045,30046,30047,30048,30049,30050,30062,30063,30064,30065,30066,30067,30068,30069,30070,30071,30072,30073,30230,30231,30232,30233,30234,30235,30236,30237,30238,30239,30242,30243,30246,30247,30248,30249,30250,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297,30298,30299,30300,30301,30302,30303,30304,30305,30306,30307,30308,30309,30310,30311,30312,30313,30314,30315,30316,30317,30318,30319,30320,30321,30322,30323,30324,30325,30326,30327,30328,30329,30331,30332,30333,30334,30335,30336,30337,30338,30341,30342,30343,30344,30345,30346,30347,30348,30349,30350,30351,30352,30353,30354,30355,30356,30357,30358,30359,30360,30361,30362,30363,30364,30365,30366,30367,30368,30369,30370,30374,30375,30376,30377,30378,30379,30380,30381,30382,30383,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30852,30853,30855,30856,30858,30859,30861,30862,30863,30864,30866,30867,30869,30870,30872,30873,30874,30875,30877,30878,30880,30881,30883,30884,30886,30887,30889,30890,30892,30893,30895,30896,30898,30899,30901,30902,30904,30905,30907,30908,30910,30911,30914,30915,30917,30918,30920,30921,30923,30924,30926,30927,30929,30930,30931,30932,30933,30934,30936,30937,30939,30940,30943,30944,30947,30948,30950,30951,30953,30954,30956,30957,30959,30960,30962,30963,30965,30966,30968,30969,30971,30972,30974,30975,30978,30979,30981,30982,30984,30985,30987,30988,30990,30991,30993,30994,30996,30997,30999,31000,31002,31003,31005,31006,31008,31009,31011,31012,31014,31015,31016,31017,31019,31020,31022,31023,31025,31026,31028,31029,31031,31032,31033,31034,31036,31037,31039,31040,31042,31043,31045,31046,31048,31049,31051,31052,31054,31055,31056,31057,31059,31060,31062,31063,31065,31066,31068,31069,31071,31072,31074,31075,31077,31078,31080,31081,31083,31084,31086,31087,31089,31090,31092,31093,31095,31096,31098,31099,31101,31102,31103,31104,31106,31107,31109,31110,31112,31113,31115,31116,31117,31118,31120,31121,31123,31124,31126,31127,31129,31130,31132,31133,31135,31136,31138,31139,31141,31142,31144,31145,31148,31149,31151,31152,31154,31155,31157,31158,31160,31161,31163,31164,31165,31166,31168,31169,31171,31172,31174,31175,31177,31178,31180,31181,31182,31183,31185,31186,31188,31189,31191,31192,31194,31195,31197,31198,31199,31200,31202,31203,31205,31206,31208,31209,31271,31272,31274,31275,31277,31278,31279,31280,31282,31283,31285,31286,31288,31289,31291,31292,31294,31295,31296,31297,31299,31300,31302,31303,31305,31306,31308,31309,31310,31311,31313,31314,31316,31317,31319,31320,31322,31323,31325,31326,31328,31329,31331,31332,31334,31335,31337,31338,31340,31341,31342,31343,31345,31346,31348,31349,31351,31352,31354,31355,31357,31358,31360,31361,31363,31364,31366,31367,31369,31370,31371,31372,31373,31374,31375,31376,31377,31378,31380,31381,31384,31385,31387,31388,31389,31390,31391,31392,31394,31395,31397,31398,31400,31401,31403,31404,31406,31407,31409,31410,31412,31413,31415,31416,31417,31418,31419,31420,31421,31422,31423,31424,31426,31427,31435,31436,31444,31445,31453,31454,31462,31463,31471,31472,31473,31474,31475,31476,31477,31478,31479,31480,31481,31482,31483,31484,31485,31486,31490,31491,31492,31493,31495,31496,31506,31507,31522,31523,31540,31541,31570,31571,31600,31601,31675,31676,31748,31749,31799,31800,31840,31841,31868,31869,31897,31898,31930,31931,31984,31985,32004,32005,32060,32061,32090,32091,32120,32121,32150,32151,32180,32181,32185,32186,32190,32191,32199,32200,32233,32234,32238,32239,32241,32242,32244,32245,32257,32258,32264,32265,32271,32272,32281,32282,32288,32289,32325,32326,32361,32362,32367,32368,32373,32374,32378,32379,32381,32382,32387,32388,32393,32394,32404,32405,32407,32408,32417,32418,32427,32428,32437,32438,32448,32449,32457,32458,32466,32467,32475,32476,32484,32485,32510,32511,32514,32515,32517,32518,32532,32533,32547,32548,32562,32563,32577,32578,32582,32583,32587,32588,32616,32617,32622,32623,32627,32628,32630,32631,32633,32634,32639,32640,32678,32679,32719,32720,32723,32724,32728,32729,32733,32734,32746,32747,32749,32750,32753,32754,32766,32768,32770,32849,32850,48416,48419,48424,48425,48442,48443,48472,48473,65531,65532,65533,65534,65536,65537,66182,66201,66202,66203,66204,66205,66206,66511,66512,66576,66577,66578,66579,66666,66667,67330,67331,67336,67337,67342,67343,67353,67354,67367,67368,67383,67384,67412,67413,67423,67424,67461,67462,67734,67735,67736,67737,67738,67739,67740,67741,67814,67815,67888,67889,67932,67933,67934,67935,67938,67939,67940,67941,67942,67943,67944,67945,67946,67947,67949,67950,67956,67957,67962,67963,68038,68039,68042,68043,68048,68049,68050,68051,68052,68053,68054,68055,68056,68057,68058,68059,68065,68066,68067,68068,68089,68090,68113,68114,68115,68116,68127,68128,68171,68172,68223,68224,68543,68544,68651,68652,68653,68654,68662,68663,68668,68669,68681,68682,68696,68697,68740,68741,68754,68755,68800,68801,68812,68813,68920,68921,69237,69238,69336,69337,69374,69375,69404,69405,69424,69425,69433,69434,69618,69619,69761,69762,69772,69773,69790,69791,69800,69801,69935,69936,69942,69943,69972,69973,70003,70004,70193,70194,70200,70201,70207,70208,70213,70214,70218,70219,70232,70233,70241,70242,70246,70247,70277,70278,70295,70296,70326,70327,70381,70382,70399,70400,70430,70431,70450,70451,70459,70460,70467,70468,70491,70492,70541,70542,70553,70554,70558,70559,70563,70564,71369,71370,71374,71375,71379,71380,71396,71397,71401,71402,71408,71409,71413,71414,71419,71420,71425,71426,71430,71431,71436,71437,71442,71443,71447,71448,71452,71453,71458,71459,71464,71465,71470,71471,71476,71477,71481,71482,71487,71488,71493,71494,71498,71499,71504,71505,71510,71511,71515,71516,71521,71522,71527,71528,71532,71533,71538,71539,71544,71545,71549,71550,71555,71556,71561,71562,71566,71567,71572,71573,71578,71579,71583,71584,71589,71590,71595,71596,71600,71601,71606,71607,71612,71613,71617,71618,71623,71624,71629,71630,71634,71635,71640,71641,71646,71647,71651,71652,71657,71658,71663,71664,71671,71672,71679,71680,71693,71694,71699,71700,71722,71723,71752,71753,71795,71796,71832,71833,71839,71840,71898,71899,71903,71904,71922,71923,71927,71928,72101,72102,72271,72272,72278,72279,72293,72294,72303,72304,72313,72314,72323,72324,72333,72334,72343,72344,72353,72354,72363,72364,72373,72374,72383,72384,72398,72399,72408,72409,72418,72419,72433,72434,72443,72444,72453,72454,72463,72464,72473,72474,72483,72484,72493,72494,72503,72504,72513,72514,72523,72524,72538,72539,72548,72549,72558,72559,72568,72569,72578,72579,72593,72594,72603,72604,72613,72614,72623,72624,72638,72639,72648,72649,72658,72659,72668,72669,72683,72684,72693,72694,72703,72704,72713,72714,72723,72724,72738,72739,72748,72749,72758,72759,72768,72769,72778,72779,72788,72789,72797,72798,72812,72813,72822,72823,72832,72833,72842,72843,72852,72853,72862,72863,72872,72873,72882,72883,72892,72893,72907,72908,72917,72918,72927,72928,72937,72938,72947,72948,72957,72958,72967,72968,72977,72978,72987,72988,72997,72998,73007,73008,73022,73023,73032,73033,73042,73043,73052,73053,73062,73063,73072,73073,73087,73088,73097,73098,73107,73108,73117,73118,73127,73128,73137,73138,73147,73148,73157,73158,73172,73173,73182,73183,73192,73193,73202,73203,73217,73218,73232,73233,73242,73243,73252,73253,73262,73263,73272,73273,73282,73283,73292,73293,73307,73308,73317,73318,73327,73328,73337,73338,73352,73353,73362,73363,73372,73373,73382,73383,73397,73398,73407,73408,73417,73418,73427,73428,73442,73443,73452,73453,73462,73463,73472,73473,73482,73483,73492,73493,73507,73508,73517,73518,73527,73528,73537,73538,73547,73548,73562,73563,73572,73573,73582,73583,73592,73593,73602,73603,73612,73613,73627,73628,73637,73638,73647,73648,73657,73658,73667,73668,73677,73678,73692,73693,73702,73703,73712,73713,73722,73723,73732,73733,73742,73743,73752,73753,73762,73763,73772,73773,73782,73783,73797,73798,73807,73808,73817,73818,73827,73828,73837,73838,73847,73848,73857,73858,73867,73868,73877,73878,73887,73888,73902,73903,73912,73913,73922,73923,73932,73933,73942,73943,73952,73953,73962,73963,73972,73973,73982,73983,73992,73993,74007,74008,74017,74018,74027,74028,74037,74038,74047,74048,74057,74058,74067,74068,74077,74078,74087,74088,74102,74103,74112,74113,74122,74123,74132,74133,74142,74143,74152,74153,74162,74163,74172,74173,74182,74183,74192,74193,74202,74203,74212,74213,74222,74223,74237,74238,74247,74248,74257,74258,74267,74268,74277,74278,74287,74288,74297,74298,74307,74308,74317,74318,74332,74333,74342,74343,74352,74353,74362,74363,74372,74373,74382,74383,74392,74393,74407,74408,74417,74418,74427,74428,74437,74438,74447,74448,74457,74458,74467,74468,74477,74478,74487,74488,74497,74498,74507,74508,74517,74518,74532,74533,74542,74543,74552,74553,74562,74563,74572,74573,74582,74583,74592,74593,74602,74603,74612,74613,74622,74623,74637,74638,74647,74648,74657,74658,74667,74668,74682,74683,74692,74693,74702,74703,74712,74713,74722,74723,74732,74733,74742,74743,74752,74753,74762,74763,74772,74773,74787,74788,74797,74798,74807,74808,74817,74818,74827,74828,74837,74838,74847,74848,74857,74858,74872,74873,74882,74883,74892,74893,74902,74903,74912,74913,74922,74923,74937,74938,74947,74948,74957,74958,74967,74968,74977,74978,74987,74988,74997,74998,75007,75008,75017,75018,75032,75033,75042,75043,75052,75053,75062,75063,75173,75174,75237,75238,75242,75243,75249,75250,75263,75264,75270,75271,75329,75330,75351,75352,75365,75366,75398,75399,75492,75493,75507,75508,75517,75518,75562,75563,75595,75596,75606,75607,75613,75614,75619,75620,75733,75734,75753,75754,75759,75760,76436,76437,76456,76457,76469,76470,76483,76484,76547,76548,76553,76554,76560,76561,76567,76568,76575,76576,76645,76646,76654,76655,76662,76663,76682,76683,76704,76705,76974,76975,81797,81798,81827,81828,81835,81836,81950,81951,81973,81974,82024,82025,82054,82055,82079,82080,82093,82094,82099,82100,82113,82114,82118,82119,82154,82155,82161,82162,82168,82169,82177,82178,82187,82188,82196,82197,82253,82254,82272,82273,82304,82305,82310,82311,82322,82323,82378,82379,82391,82392,82560,82561,82575,82576,82651,82652,82710,82711,82732,82733,82777,82778,82792,82793,82797,82798,82803,82804,82809,82810,82815,82816,82821,82822,82827,82828,82835,82836,83138,83139,83143,83144,83171,83172,83185,83186,83190,83191,83197,83198,83207,83208,83239,83240,83245,83246,83252,83253,83260,83261,83268,83269,83273,83274,83278,83279,83285,83286,83292,83293,83299,83300,83305,83306,83311,83312,83317,83318,83323,83324,83329,83330,83334,83335,83340,83341,83346,83347,83352,83353,83358,83359,83365,83366,83371,83372,83377,83378,83382,83383,83389,83390,83396,83397,83403,83404,83413,83414,83423,83424,83431,83432,83437,83438,83451,83452,83461,83462,83467,83468,83475,83476,83481,83482,83487,83488,83493,83494,83500,83501,83505,83506,83511,83512,83517,83518,83522,83523,83528,83529,83534,83535,83539,83540,83544,83545,83550,83551,83555,83556,83563,83564,83570,83571,83575,83576,83581,83582,83724,83725,83737,83738,83766,83767,83788,83789,83827,83828,83969,83970,84003,84004,84010,84011,84146,84147,84165,84166,84202,84203,84212,84213,84234,84235,84484,84485,84526,84527,84539,84540,84547,84548,84554,84555,84560,84561,84569,84570,84576,84577,84608,84609,84626,84627,84641,84642,84650,84651,84657,84658,84664,84665,84683,84684,84715,84716,84740,84741,84789,84790,84801,84802,84808,84809,84823,84824,84826,84827,84834,84835,84844,84845,84851,84852,84877,84878,84897,84898,84915,84916,84945,84946,84950,84951,84955,84956,84960,84961,84974,84975,84977,84978,87443,87444,87446,87447,87451,87452,87457,87458,87464,87465,87520,87521,87523,87524,87935,87936,89155,89156,89163,89164,89342,89343,89347,89348,89355,89356,89399,89400,89421,89422,89426,89427,89431,89432,89441,89442,89447,89448,89453,89454,89462,89463,89497,89498,89502,89503,89513,89514,89521,89522,89526,89527,89532,89533,89713,89714,89750,89751,89758,89759,89777,89778,89804,89805,89833,89834,89841,89842,89847,89848,89859,89860,89880,89881,89887,89888,89916,89917,89956,89957,89964,89965,89976,89977,90042,90043,90061,90062,90095,90096,90100,90101,90109,90110,90115,90116,90125,90126,90131,90132,90161,90162,90301,90302,90312,90313,90317,90318,90323,90324,90343,90344,90345,90346,90357,90358,90366,90367,90378,90379,90386,90387,90393,90394,90400,90401,90412,90413,90419,90420,90427,90428,90435,90436,90442,90443,90447,90448,90454,90455,90459,90460,90467,90468,90474,90475,90486,90487,90491,90492,90500,90501,90508,90509,90515,90516,90522,90523,90530,90531,90538,90539,90544,90545,90551,90552,90558,90559,90560,90561,90598,90599,90636,90637,90676,90677,90679,90680,90681,90682,90683,90684,90696,90697,90698,90699,90700,90701,90722,90723,90734,90735,90736,90737,90738,90739,90863,90864,90865,90866,90872,90873,90874,90875,90876,90877,90878,90879,90880,90881,90882,90883,90891,90892,90897,90898,90904,90905,90911,90912,90924,90925,90931,90932,90952,90953,90964,90965,90966,90967,91017,91018,91024,91025,91030,91031,91085,91086,91091,91092,91097,91098,91104,91105,91110,91111,91285,91286,91293,91294,91299,91300,91305,91306,91312,91313,91322,91323,91377,91378,91390,91391,91420,91421,91426,91427,91433,91434,91439,91440,91447,91448,91453,91454,91459,91460,91465,91466,91542,91543,91561,91562,91637,91638,91643,91644,91650,91651,91856,98304,98306,98385,98386,104958,104962,104963,104967,104968,104972,104973,104978,104979,104985,104986,104991,104992,104998,104999,105091,105092,105191,105192,105196,105197,105213,105214,105245,105246,105307,105308,105373,105374,105435,105436,105497,105498,105573,105574,105655,105656,105731,105732,105813,105814,105895,105896,105972,105973,106055,106056,106131,106132,106213,106214,106289,106290,106365,106366,106446,106447,106521,106522,106603,106604,106685,106686,106761,106762,106844,106845,106920,106921,106922,106923,106925,106926,106934,106935,106936,106937,106943,106944,106951,106952,106960,106961,106981,106982,107118,107119,107120,107121,107122,107123,107148,107149,107516,107517,107553,107554,107973,107974,107996,107997,108174,108175,108178,108179,108194,108195,108340,108341,110114,110115,110162,110163,110499,110500,111142,111143,120048,120049,120061,120062,120133,120134,120136,120137,120144,120145,120161,120162,120379,120380,120406,120407,120669,120670,120674,120675,120706,120707,120709,120710,120717,120718,120854,120855,122054,122055,122057,122058,122068,122069,122076,122077,122142,122143,122438,122439,124546,124547,124550,124551,124681,124682,124683,124684,124685,124686,124688,124689,124690,124691,124695,124696,124698,124699,124700,124701,124703,124704,124716,124717,124723,124724,124730,124731,124736,124737,124769,124770,124805,124806,124809,124810,124813,124814,125210,125211,125658,125659,125660,125661,125664,125665,125667,125668,125671,125672,126176,126177,127783,127784,127785,127786,127799,127800,127802,127803,127805,127806,127808,127809,127817,127818,127820,127821,127834,127835,127836,127837,127838,127839,127898,127899,127907,127908,127949,127950,127992,127993,128043,128044,128150,128151,128159,128160,128177,128178,128188,128189,128197,128198,128206,128207,128226,128227,128237,128238,128245,128246,128257,128258,128295,128296,128326,128327,128342,128343,128352,128353,128373,128374,128383,128384,128394,128395,128443,128444,128456,128457,128540,128541,128547,128548,128580,128581,128597,128598,128674,128675,128782,128783,128997,128998,129018,129019,129035,129036,129192,129193,129542,129543,129568,129569,129579,129580,129592,129593,129603,129604,129660,129661,129673,129674,129684,129685,129772,129773,129789,129790,129801,129802,129814,129815,129913,129914,130703,130704,130714,130715,130716,130717,130762,130763,130817,130818,130819,130820,130825,130826,130829,130830,130840,130841,130850,130851,130865,130866,130869,130870,130900,130901,130904,130905,130908,130909,130932,130933,130987,130988,130992,130993,130998,130999,131002,131003,131005,131006,131008,131009,131010,131011,131038,131039,131041,131042,131044,131045,131046,131047,131048,131049,131051,131052,131064,131065,131067,131068,131069,131072,131073,163840,163842,163921,163922,168362,168370,168371,168376,168377,168384,168385,168388,168389,168392,168393,168395,168396,168398,168399,168401,168402,168405,168406,168409,168410,168412,168413,168419,168420,168438,168439,168458,168459,168464,168465,168469,168470,168475,168476,168487,168488,168494,168495,168508,168509,168519,168520,168523,168524,168532,168533,168537,168538,168543,168544,168549,168550,168553,168554,168557,168558,168562,168563,168567,168568,168571,168572,168576,168577,168580,168581,168585,168586,168590,168591,168603,168604,168609,168610,169640,169641,169647,169648,169656,169657,169663,169664,169667,169668,169669,169670,169677,169678,169696,169697,169702,169703,169707,169708,169713,169714,169725,169726,169732,169733,169738,169739,169749,169750,169755,169756,169757,169758,169759,169760,169761,169762,169766,169767,169769,169770,169776,169777,169780,169781,169788,169789,169792,169793,169822,169823,169836,169837,169861,169862,169898,169899,169925,169926,169970,169971,169995,169996,170007,170008,170036,170037,170063,170064,170076,170077,170078,170079,170082,170083,170085,170086,170088,170089,170092,170093,170096,170097,170104,170105,170107,170108,170112,170113,170122,170123,170127,170128,170133,170134,170138,170139,170144,170145,170148,170149,170153,170154,170158,170159,170166,170167,170172,170173,170176,170177,170182,170183,170187,170188,170191,170192,170197,170198,170202,170203,170207,170208,170211,170212,170218,170219,170222,170223,170228,170229,170235,170236,170239,170240,170250,170251,170253,170254,170259,170260,170264,170265,170280,170281,170284,170285,170289,170290,170295,170296,170301,170302,170307,170308,170313,170314,170318,170319,170321,170322,170328,170329,170335,170336,170342,170343,170347,170348,170355,170356,170362,170363,170366,170367,170373,170374,170380,170381,170388,170389,170392,170393,170403,170404,170407,170408,170419,170420,170423,170424,170428,170429,170434,170435,170440,170441,170447,170448,170456,170457,170462,170463,170470,170471,170475,170476,170478,170479,170483,170484,170489,170490,170495,170496,170503,170504,170511,170512,170515,170516,170524,170525,170526,170527,170534,170535,170542,170543,170549,170550,170606,170607,170629,170630,170637,170638,170647,170648,170655,170656,170664,170665,170677,170678,170689,170690,170700,170701,170713,170714,170722,170723,170731,170732,170742,170743,170753,170754,170762,170763,170771,170772,170776,170777,170784,170785,170795,170796,170806,170807,170817,170818,170869,170870,170878,170879,170887,170888,170903,170904,170908,170909,170922,170923,170931,170932,170975,170976,170989,170990,171006,171007,171016,171017,171025,171026,171054,171055,171067,171068,171078,171079,171092,171093,171103,171104,171115,171116,171130,171131,171142,171143,171160,171161,171167,171168,171172,171173,171214,171215,171225,171226,171235,171236,171247,171248,171258,171259,171266,171267,171276,171277,171288,171289,171300,171301,171305,171306,171315,171316,171325,171326,171336,171337,171344,171345,171353,171354,171368,171369,171397,171398,171408,171409,171431,171432,171490,171491,171505,171506,171511,171512,171556,171557,171570,171571,171586,171587,171602,171603,171609,171610,171623,171624,171635,171636,171648,171649,171657,171658,171669,171670,171680,171681,171708,171709,171787,171788,171799,171800,171810,171811,171822,171823,171831,171832,171854,171855,171862,171863,171873,171874,171883,171884,171902,171903,171946,171947,171956,171957,171969,171970,171977,171978,172014,172015,172061,172062,172070,172071,172076,172077,172085,172086,172106,172107,172113,172114,172115,172116,172118,172119,172121,172122,172124,172125,172128,172129,172131,172132,172134,172135,172137,172138,172141,172142,172146,172147,172149,172150,172153,172154,172156,172157,172159,172160,172162,172163,172166,172167,172169,172170,172173,172174,172175,172176,172177,172178,172240,172241,172242,172243,172244,172245,172255,172256,172257,172258,172299,172300,172301,172302,172303,172304,172523,172524,172525,172526,172559,172560,172561,172562,172563,172564,172799,172800,172801,172802,172810,172811,172812,172813,172814,172815,172828,172829,172830,172831,172863,172864,172865,172866,172867,172868,172875,172876,172877,172878,173486,173487,173488,173489,173490,173491,173575,173576,173577,173578,173644,173645,173646,173647,173648,173649,173743,173744,173745,173746,175701,175702,175703,175704,175705,175706,177231,177232,177233,177234,177381,177382,177383,177384,177385,177386,178076,178077,178078,178079,178086,178087,178088,178089,178090,178091,178092,178093,178094,178095,178107,178108,178109,178110,180698,180699,180700,180701,180702,180703,183067,183068,183069,183070,183553,183554,183555,183556,183557,183558,184453,184454,184455,184456,184613,184614,184615,184616,184617,184618,184894,184895,184896,184897,185880,185881,185882,185883,185884,185885,186471,186472,186473,186474,186480,186481,186482,186483,186484,186485,186495,186496,186497,186498,186511,186512,186513,186514,186515,186516,186550,186551,186552,186553,186559,186560,186561,186562,186563,186564,186575,186576,186577,186578,186638,186639,186640,186641,186642,186643,186649,186650,186651,186652,186886,186887,186888,186889,186890,186891,187048,187049,187050,187051,187098,187099,187100,187101,187102,187103,187236,187237,187238,187239,188918,188919,188920,188921,188922,188923,190230,190231,190232,190233,190243,190244,190245,190246,190247,190248,190299,190300,190301,190302,190338,190339,190340,190341,190342,190343,190344,190345,190346,190347,190403,190404,190405,190406,190411,190412,190413,190414,190415,190416,190439,190440,190441,190442,191856,191857,191858,191859,191860,191861,192910,192911,192912,192913,192916,192917,192918,192919,192920,192921,192934,192935,192936,192937,192943,192944,192945,192946,192947,192948,192964,192965,192966,192967,192979,192980,192981,192982,192983,192984,193064,193065,193066,193067,193068,193069,193070,193071,195469,195470,195471,195472,195515,195516,195517,195518,195519,195520,195637,195638,195639,195640,195643,195644,195645,195646,195647,195648,195659,195660,195661,195662,195723,195724,195725,195726,195727,195728,195817,195818,195819,195820,195953,195954,195955,195956,195957,195958,196204,196205,196206,196207,196218,196219,196220,196221,196222,196223,196266,196267,196268,196269,196270,196271,196272,196273,196274,196275,196276,196277,196278,196279,196280,196281,196282,196283,196284,196285,196286,196287,196288,196289,196290,196291,196292,196293,196302,196303,196304,196305,196306,196307,196316,196317,196318,196319,196376,196377,196378,196379,196380,196381,196556,196557,196558,196559,196560,196561,196562,196563,196564,196565,196589,196590,196591,196592,196593,196594,196604,196605,196606,196608,196609,229376,229378,229457,229458,251811,251812,251813,251814,251815,252683,252684,252685,252686,252687,252688,252689,252690,252724,252725,252732,252733,252734,252735,252736,252737,252738,252739,252771,252772,252826,252827,252862,252863,252864,252865,252866,252867,252868,252869,252870,252871,252872,252873,252874,252875,252876,252877,252878,252879,252880,252881,252882,252883,252884,252885,252886,252887,252888,252889,252890,252891,252892,252893,252894,252895,252896,252897,252898,252899,253055,253056,253164,253165,253308,253309,253410,253411,253601,253602,253761,253762,253825,253826,253974,253975,254179,254180,254274,254275,254429,254430,254492,254493,254494,254495,254496,254497,254498,254499,254500,254501,254502,254503,254504,254505,254514,254515,254516,254517,254519,254520,254521,254522,254549,254550,254551,254552,254578,254579,254580,254581,254608,254609,254610,254611,254623,254624,254625,254626,254634,254635,254636,254637,254641,254642,254643,254644,254650,254651,254652,254653,254654,254655,254656,254657,254659,254660,254661,254662,254671,254672,254673,254674,254675,254676,254677,254678,254679,254680,254681,254682,254683,254684,254685,254686,254764,254765,254766,254767,254768,254769,254770,254771,254772,254773,254774,254775,254776,254777,254778,254779,254781,254782,254783,254784,254785,254786,254787,254788,254824,254825,254826,254827,254863,254864,254865,254866,254867,254868,254869,254870,254871,254872,254873,254874,254875,254876,254878,254879,254881,254882,254883,254884,254885,254886,254887,254888,254889,254890,254891,254892,254893,254894,254895,254896,254897,254898,254899,254900,254901,254902,260323,260324,260325,260326,260327,260328,260329,260330,260331,260332,260333,260334,260338,260339,260342,260343,260347,260348,260352,260353,260357,260358,260359,260360,260361,260362,260365,260366,260367,260368,260369,260370,260371,260372,260373,260374,260375,260376,260377,260378,260379,260380,260381,260382,260383,260384,260385,260386,260387,260388,260389,260390,260391,260392,260393,260394,260395,260396,260397,260398,260399,260400,260401,260402,260403,260404,260405,260406,260407,260408,260409,260410,260411,260412,260413,260414,260415,260416,260417,260418,260419,260420,260421,260422,260423,260424,260425,260426,260427,260428,260429,260430,260431,260432,260433,260434,260435,260436,260437,260438,260439,260440,260441,260442,260446,260447,260452,260453,260454,260455,260578,260579,260580,260581,260582,260583,260584,260585,260586,260587,260588,260589,260590,260591,260593,260594,260595,260596,260598,260599,260600,260601,260603,260604,260605,260606,260608,260609,260610,260611,260613,260614,260615,260616,260618,260619,260620,260621,260623,260624,260625,260626,260627,260628,260629,260630,260631,260632,260633,260634,260640,260641,260642,260643,260644,260645,260651,260652,260653,260654,260735,260736,260737,260738,260739,260740,261126,261127,261128,261129,261131,261132,261133,261134,261135,261136,261142,261143,261144,261145,261150,261151,261152,261153,261154,261155,261172,261173,261174,261175,261205,261206,261207,261208,261209,261210,261229,261230,261231,261232,261242,261243,261244,261245,261246,261247,261270,261271,261272,261273,261274,261275,261276,261277,261279,261280,261281,261282,261286,261287,261288,261289,261291,261292,261293,261294,261296,261297,261298,261299,261301,261302,261303,261304,261306,261307,261308,261309,261311,261312,261313,261314,261316,261317,261318,261319,261322,261323,261324,261325,261327,261328,261329,261330,261333,261334,261335,261336,261338,261339,261340,261341,261351,261352,261353,261354,261355,261356,261357,261358,261359,261360,261361,261362,261363,261364,261369,261370,261371,261372,261373,261374,261381,261382,261383,261384,261406,261407,261408,261409,261410,261411,261456,261457,261458,261459,261473,261474,261475,261476,261477,261478,261494,261495,261496,261497,261498,261499,261500,261501,261514,261515,261516,261517,261519,261520,261521,261522,261524,261525,261526,261527,261529,261530,261531,261532,261534,261535,261536,261537,261539,261540,261541,261542,261544,261545,261546,261547,261549,261550,261551,261552,261554,261555,261556,261557,261559,261560,261561,261562,261569,261570,261571,261572,261574,261575,261576,261577,261578,261579,261580,261581,261582,261583,261584,261585,261586,261587,261592,261593,261594,261595,261596,261597,261604,261605,261606,261607,261611,261612,261613,261614,261615,261616,261623,261624,261625,261626,261627,261628,261629,261630,261632,261633,261634,261635,261637,261638,261639,261640,261642,261643,261644,261645,261647,261648,261649,261650,261652,261653,261654,261655,261657,261658,261659,261660,261768,261769,261770,261771,261772,261773,261774,261775,261776,261777,261778,261779,261780,261781,261782,261783,261784,261785,261786,261787,261788,261789,261790,261791,261799,261800,261801,261802,261810,261811,261812,261813,261814,261815,261822,261823,261824,261825,261832,261833,261834,261835,261836,261837,261838,261839,261840,261841,261842,261843,261852,261853,261854,261855,261856,261857,261873,261874,261875,261876,261878,261879,261880,261881,261883,261884,261885,261886,261888,261889,261890,261891,261896,261897,261898,261899,261901,261902,261903,261904,261905,261906,261907,261908,261913,261914,261915,261916,261917,261918,261928,261929,261930,261931,261956,261957,261958,261959,261960,261961,262047,262048,262049,262050,262113,262114,262115,262116,262117,262118,262119,262120,262135,262136,262137,262138,262139,262140,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") == "16c511f5d93b1d8beafa19baefe25fe8e549be87" || block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat")) then
ui_print("Verified system image...");
else
check_first_block("/dev/block/bootdevice/by-name/system");
ifelse (block_image_recover("/dev/block/bootdevice/by-name/system", "5824,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,3768,6942,6943,6944,6945,8085,8086,8087,8088,8310,8311,8312,8313,9150,9151,9152,9153,9155,9156,9157,9158,9159,9160,9167,9168,9169,9170,9176,9177,9178,9179,9180,9181,9207,9208,9209,9210,9273,9274,9275,9276,9277,9278,9344,9345,9346,9347,9353,9354,9355,9356,9357,9358,9385,9386,9387,9388,9392,9393,9394,9395,9396,9397,9416,9417,9418,9419,9421,9422,9423,9424,9425,9426,9432,9433,9434,9435,9439,9440,9441,9442,9443,9444,9460,9461,9462,9463,9466,9467,9468,9469,9470,9471,9481,9482,9483,9484,9487,9488,9489,9490,9491,9492,9505,9506,9507,9508,9512,9513,9514,9515,9516,9517,9528,9529,9530,9531,9532,9533,9534,9535,9599,9600,9611,9612,9613,9614,9615,9616,9617,9618,9625,9626,9628,9629,9630,9631,9633,9634,9635,9636,9637,9638,9639,9640,9687,9688,9697,9698,9699,9700,9701,9702,9703,9704,9756,9757,9767,9768,9769,9770,9771,9772,9773,9774,10519,10520,21722,21723,21725,21726,21737,21738,21749,21750,21754,21755,21759,21760,21767,21768,21773,21774,21778,21779,21780,21781,21787,21788,21825,21826,21827,21828,21829,21830,21836,21837,21846,21847,21856,21857,21864,21865,21871,21872,21883,21884,21890,21891,21896,21897,21898,21899,21908,21909,21918,21919,21925,21926,21931,21932,21933,21934,21938,21939,21944,21945,21949,21950,21962,21963,21970,21971,21977,21978,21986,21987,22035,22036,22041,22042,22043,22044,22049,22050,22131,22132,22137,22138,22150,22151,22157,22158,22163,22164,22197,22198,22217,22218,22222,22223,22228,22229,22236,22237,22241,22242,22249,22250,22256,22257,22264,22265,22270,22271,22281,22282,22305,22306,22340,22341,22342,22343,22351,22352,22394,22395,22402,22403,22412,22413,22453,22454,22458,22459,22468,22469,22475,22476,22481,22482,22489,22490,22505,22506,22515,22516,22537,22538,22548,22549,22561,22562,22572,22573,22719,22720,22733,22734,22742,22743,22748,22749,22784,22785,22796,22797,22831,22832,22944,22945,22956,22957,22966,22967,22968,22969,22998,22999,23004,23005,23042,23043,23071,23072,23073,23074,23075,23076,23103,23104,23116,23117,23172,23173,23236,23237,23298,23299,23304,23305,23346,23347,23402,23403,23404,23405,23410,23411,23416,23417,23422,23423,23445,23446,23451,23452,23460,23461,23468,23469,23598,23599,23754,23755,23761,23762,23779,23780,23789,23790,23808,23809,23811,23812,23820,23821,23918,23919,23945,23946,23951,23952,23960,23961,24001,24002,24008,24009,24144,24145,24146,24147,24152,24153,24160,24161,24166,24167,24172,24173,24180,24181,24190,24191,24200,24201,24205,24206,24233,24234,24260,24261,24279,24280,24286,24287,24293,24294,24301,24302,24311,24312,24371,24372,24406,24407,24415,24416,24421,24422,24430,24431,24432,24433,24452,24453,24460,24461,24465,24466,24471,24472,24520,24521,24828,24829,24833,24834,24872,24873,24881,24882,24890,24891,24896,24897,24901,24902,24906,24907,24911,24912,24917,24918,24936,24937,24948,24949,24960,24961,24966,24967,24968,24969,24979,24980,24988,24989,24998,24999,25009,25010,25055,25056,25065,25066,25075,25076,25085,25086,25087,25088,25092,25093,25098,25099,25104,25105,25110,25111,25116,25117,25122,25123,25128,25129,25134,25135,25140,25141,25147,25148,25154,25155,25161,25162,25168,25169,25174,25175,25180,25181,25208,25209,25238,25239,25247,25248,25253,25254,25258,25259,25304,25305,25309,25310,25322,25323,25327,25328,25329,25330,25343,25344,25350,25351,25356,25357,25364,25365,25372,25373,25378,25379,25384,25385,25390,25391,25417,25418,25426,25427,25433,25434,25438,25439,25445,25446,25452,25453,25454,25455,25459,25460,25491,25492,25538,25539,25540,25541,25549,25550,25565,25566,25571,25572,25577,25578,25585,25586,25591,25592,25594,25595,25599,25600,25623,25624,25625,25626,25631,25632,25650,25651,25659,25660,25665,25666,25671,25672,25677,25678,25683,25684,25706,25707,25777,25778,25783,25784,25789,25790,25796,25797,25803,25804,25806,25807,25823,25824,25829,25830,25836,25837,25942,25943,25967,25968,25974,25975,25981,25982,25986,25987,25988,25989,26011,26012,26325,26326,26494,26495,26512,26513,26516,26517,26518,26519,26581,26582,26583,26584,26585,26586,26587,26588,26604,26605,26609,26610,26611,26612,26666,26667,26668,26669,26690,26691,26752,26753,26754,26755,26765,26766,26770,26771,26773,26774,26823,26824,26825,26826,26845,26846,26894,26895,26897,26898,26899,26900,26916,26917,26921,26922,26923,26924,26981,26982,26983,26984,27008,27009,27071,27072,27073,27074,27090,27091,27095,27096,27097,27098,27153,27154,27155,27156,27180,27181,27243,27244,27245,27246,27262,27263,27267,27268,27269,27270,27332,27333,27334,27335,27359,27360,27423,27424,27584,27585,27586,27587,27589,27590,27591,27592,27594,27595,27600,27601,27604,27605,27606,27607,27608,27609,27610,27611,27619,27620,27622,27623,27865,27866,27867,27868,27869,27870,27871,27872,27877,27878,27879,27880,27881,27882,27885,27886,27889,27890,27893,27894,27897,27898,27899,27900,27903,27904,27907,27908,27911,27912,27915,27916,27919,27920,27921,27922,27925,27926,27929,27930,27933,27934,27937,27938,27941,27942,27945,27946,28029,28030,28031,28032,28039,28040,28059,28060,28066,28067,28068,28069,28070,28071,28072,28073,28074,28075,28076,28077,28078,28079,28084,28085,28086,28087,28088,28089,28092,28093,28096,28097,28098,28099,28102,28103,28104,28105,28108,28109,28111,28112,28115,28116,28120,28121,28125,28126,28130,28131,28135,28136,28137,28138,28141,28142,28143,28144,28145,28146,28147,28148,28149,28150,28151,28152,28173,28174,28179,28180,28194,28195,28212,28213,28217,28218,28219,28220,28222,28223,28380,28381,28383,28384,28385,28386,28548,28549,28551,28552,28553,28554,28555,28556,28559,28560,28561,28562,28566,28567,28568,28569,28572,28573,28574,28575,28576,28577,28578,28579,28580,28581,28582,28583,28594,28595,28596,28597,28598,28599,28600,28601,28603,28604,28605,28606,28607,28608,28609,28610,28611,28612,28613,28614,28615,28616,28617,28618,28619,28620,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28638,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28654,28655,28656,28657,28658,28659,28660,28662,28663,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28698,28699,28700,28701,28702,28703,28705,28706,28711,28712,28713,28714,28715,28716,28718,28719,28720,28721,28722,28723,28726,28727,28729,28730,28731,28732,28734,28735,28737,28738,28740,28741,28747,28748,28756,28757,28765,28766,28773,28774,28781,28782,28790,28791,28799,28800,28808,28809,28817,28818,28836,28837,28838,28839,28840,28841,28842,28843,28844,28845,29951,29952,29953,29954,29955,29956,29957,29958,29959,29960,29961,29962,29963,29964,29965,29966,29967,29968,29969,29970,29971,29972,29973,29974,29975,29976,29977,29978,29979,29980,29981,29982,29983,29984,29985,29986,29987,29988,29989,29990,29991,29992,29993,29994,29995,29996,29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30040,30041,30042,30043,30044,30045,30046,30047,30048,30049,30050,30062,30063,30064,30065,30066,30067,30068,30069,30070,30071,30072,30073,30230,30231,30232,30233,30234,30235,30236,30237,30238,30239,30242,30243,30246,30247,30248,30249,30250,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297,30298,30299,30300,30301,30302,30303,30304,30305,30306,30307,30308,30309,30310,30311,30312,30313,30314,30315,30316,30317,30318,30319,30320,30321,30322,30323,30324,30325,30326,30327,30328,30329,30331,30332,30333,30334,30335,30336,30337,30338,30341,30342,30343,30344,30345,30346,30347,30348,30349,30350,30351,30352,30353,30354,30355,30356,30357,30358,30359,30360,30361,30362,30363,30364,30365,30366,30367,30368,30369,30370,30374,30375,30376,30377,30378,30379,30380,30381,30382,30383,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30852,30853,30855,30856,30858,30859,30861,30862,30863,30864,30866,30867,30869,30870,30872,30873,30874,30875,30877,30878,30880,30881,30883,30884,30886,30887,30889,30890,30892,30893,30895,30896,30898,30899,30901,30902,30904,30905,30907,30908,30910,30911,30914,30915,30917,30918,30920,30921,30923,30924,30926,30927,30929,30930,30931,30932,30933,30934,30936,30937,30939,30940,30943,30944,30947,30948,30950,30951,30953,30954,30956,30957,30959,30960,30962,30963,30965,30966,30968,30969,30971,30972,30974,30975,30978,30979,30981,30982,30984,30985,30987,30988,30990,30991,30993,30994,30996,30997,30999,31000,31002,31003,31005,31006,31008,31009,31011,31012,31014,31015,31016,31017,31019,31020,31022,31023,31025,31026,31028,31029,31031,31032,31033,31034,31036,31037,31039,31040,31042,31043,31045,31046,31048,31049,31051,31052,31054,31055,31056,31057,31059,31060,31062,31063,31065,31066,31068,31069,31071,31072,31074,31075,31077,31078,31080,31081,31083,31084,31086,31087,31089,31090,31092,31093,31095,31096,31098,31099,31101,31102,31103,31104,31106,31107,31109,31110,31112,31113,31115,31116,31117,31118,31120,31121,31123,31124,31126,31127,31129,31130,31132,31133,31135,31136,31138,31139,31141,31142,31144,31145,31148,31149,31151,31152,31154,31155,31157,31158,31160,31161,31163,31164,31165,31166,31168,31169,31171,31172,31174,31175,31177,31178,31180,31181,31182,31183,31185,31186,31188,31189,31191,31192,31194,31195,31197,31198,31199,31200,31202,31203,31205,31206,31208,31209,31271,31272,31274,31275,31277,31278,31279,31280,31282,31283,31285,31286,31288,31289,31291,31292,31294,31295,31296,31297,31299,31300,31302,31303,31305,31306,31308,31309,31310,31311,31313,31314,31316,31317,31319,31320,31322,31323,31325,31326,31328,31329,31331,31332,31334,31335,31337,31338,31340,31341,31342,31343,31345,31346,31348,31349,31351,31352,31354,31355,31357,31358,31360,31361,31363,31364,31366,31367,31369,31370,31371,31372,31373,31374,31375,31376,31377,31378,31380,31381,31384,31385,31387,31388,31389,31390,31391,31392,31394,31395,31397,31398,31400,31401,31403,31404,31406,31407,31409,31410,31412,31413,31415,31416,31417,31418,31419,31420,31421,31422,31423,31424,31426,31427,31435,31436,31444,31445,31453,31454,31462,31463,31471,31472,31473,31474,31475,31476,31477,31478,31479,31480,31481,31482,31483,31484,31485,31486,31490,31491,31492,31493,31495,31496,31506,31507,31522,31523,31540,31541,31570,31571,31600,31601,31675,31676,31748,31749,31799,31800,31840,31841,31868,31869,31897,31898,31930,31931,31984,31985,32004,32005,32060,32061,32090,32091,32120,32121,32150,32151,32180,32181,32185,32186,32190,32191,32199,32200,32233,32234,32238,32239,32241,32242,32244,32245,32257,32258,32264,32265,32271,32272,32281,32282,32288,32289,32325,32326,32361,32362,32367,32368,32373,32374,32378,32379,32381,32382,32387,32388,32393,32394,32404,32405,32407,32408,32417,32418,32427,32428,32437,32438,32448,32449,32457,32458,32466,32467,32475,32476,32484,32485,32510,32511,32514,32515,32517,32518,32532,32533,32547,32548,32562,32563,32577,32578,32582,32583,32587,32588,32616,32617,32622,32623,32627,32628,32630,32631,32633,32634,32639,32640,32678,32679,32719,32720,32723,32724,32728,32729,32733,32734,32746,32747,32749,32750,32753,32754,32766,32768,32770,32849,32850,48416,48419,48424,48425,48442,48443,48472,48473,65531,65532,65533,65534,65536,65537,66182,66201,66202,66203,66204,66205,66206,66511,66512,66576,66577,66578,66579,66666,66667,67330,67331,67336,67337,67342,67343,67353,67354,67367,67368,67383,67384,67412,67413,67423,67424,67461,67462,67734,67735,67736,67737,67738,67739,67740,67741,67814,67815,67888,67889,67932,67933,67934,67935,67938,67939,67940,67941,67942,67943,67944,67945,67946,67947,67949,67950,67956,67957,67962,67963,68038,68039,68042,68043,68048,68049,68050,68051,68052,68053,68054,68055,68056,68057,68058,68059,68065,68066,68067,68068,68089,68090,68113,68114,68115,68116,68127,68128,68171,68172,68223,68224,68543,68544,68651,68652,68653,68654,68662,68663,68668,68669,68681,68682,68696,68697,68740,68741,68754,68755,68800,68801,68812,68813,68920,68921,69237,69238,69336,69337,69374,69375,69404,69405,69424,69425,69433,69434,69618,69619,69761,69762,69772,69773,69790,69791,69800,69801,69935,69936,69942,69943,69972,69973,70003,70004,70193,70194,70200,70201,70207,70208,70213,70214,70218,70219,70232,70233,70241,70242,70246,70247,70277,70278,70295,70296,70326,70327,70381,70382,70399,70400,70430,70431,70450,70451,70459,70460,70467,70468,70491,70492,70541,70542,70553,70554,70558,70559,70563,70564,71369,71370,71374,71375,71379,71380,71396,71397,71401,71402,71408,71409,71413,71414,71419,71420,71425,71426,71430,71431,71436,71437,71442,71443,71447,71448,71452,71453,71458,71459,71464,71465,71470,71471,71476,71477,71481,71482,71487,71488,71493,71494,71498,71499,71504,71505,71510,71511,71515,71516,71521,71522,71527,71528,71532,71533,71538,71539,71544,71545,71549,71550,71555,71556,71561,71562,71566,71567,71572,71573,71578,71579,71583,71584,71589,71590,71595,71596,71600,71601,71606,71607,71612,71613,71617,71618,71623,71624,71629,71630,71634,71635,71640,71641,71646,71647,71651,71652,71657,71658,71663,71664,71671,71672,71679,71680,71693,71694,71699,71700,71722,71723,71752,71753,71795,71796,71832,71833,71839,71840,71898,71899,71903,71904,71922,71923,71927,71928,72101,72102,72271,72272,72278,72279,72293,72294,72303,72304,72313,72314,72323,72324,72333,72334,72343,72344,72353,72354,72363,72364,72373,72374,72383,72384,72398,72399,72408,72409,72418,72419,72433,72434,72443,72444,72453,72454,72463,72464,72473,72474,72483,72484,72493,72494,72503,72504,72513,72514,72523,72524,72538,72539,72548,72549,72558,72559,72568,72569,72578,72579,72593,72594,72603,72604,72613,72614,72623,72624,72638,72639,72648,72649,72658,72659,72668,72669,72683,72684,72693,72694,72703,72704,72713,72714,72723,72724,72738,72739,72748,72749,72758,72759,72768,72769,72778,72779,72788,72789,72797,72798,72812,72813,72822,72823,72832,72833,72842,72843,72852,72853,72862,72863,72872,72873,72882,72883,72892,72893,72907,72908,72917,72918,72927,72928,72937,72938,72947,72948,72957,72958,72967,72968,72977,72978,72987,72988,72997,72998,73007,73008,73022,73023,73032,73033,73042,73043,73052,73053,73062,73063,73072,73073,73087,73088,73097,73098,73107,73108,73117,73118,73127,73128,73137,73138,73147,73148,73157,73158,73172,73173,73182,73183,73192,73193,73202,73203,73217,73218,73232,73233,73242,73243,73252,73253,73262,73263,73272,73273,73282,73283,73292,73293,73307,73308,73317,73318,73327,73328,73337,73338,73352,73353,73362,73363,73372,73373,73382,73383,73397,73398,73407,73408,73417,73418,73427,73428,73442,73443,73452,73453,73462,73463,73472,73473,73482,73483,73492,73493,73507,73508,73517,73518,73527,73528,73537,73538,73547,73548,73562,73563,73572,73573,73582,73583,73592,73593,73602,73603,73612,73613,73627,73628,73637,73638,73647,73648,73657,73658,73667,73668,73677,73678,73692,73693,73702,73703,73712,73713,73722,73723,73732,73733,73742,73743,73752,73753,73762,73763,73772,73773,73782,73783,73797,73798,73807,73808,73817,73818,73827,73828,73837,73838,73847,73848,73857,73858,73867,73868,73877,73878,73887,73888,73902,73903,73912,73913,73922,73923,73932,73933,73942,73943,73952,73953,73962,73963,73972,73973,73982,73983,73992,73993,74007,74008,74017,74018,74027,74028,74037,74038,74047,74048,74057,74058,74067,74068,74077,74078,74087,74088,74102,74103,74112,74113,74122,74123,74132,74133,74142,74143,74152,74153,74162,74163,74172,74173,74182,74183,74192,74193,74202,74203,74212,74213,74222,74223,74237,74238,74247,74248,74257,74258,74267,74268,74277,74278,74287,74288,74297,74298,74307,74308,74317,74318,74332,74333,74342,74343,74352,74353,74362,74363,74372,74373,74382,74383,74392,74393,74407,74408,74417,74418,74427,74428,74437,74438,74447,74448,74457,74458,74467,74468,74477,74478,74487,74488,74497,74498,74507,74508,74517,74518,74532,74533,74542,74543,74552,74553,74562,74563,74572,74573,74582,74583,74592,74593,74602,74603,74612,74613,74622,74623,74637,74638,74647,74648,74657,74658,74667,74668,74682,74683,74692,74693,74702,74703,74712,74713,74722,74723,74732,74733,74742,74743,74752,74753,74762,74763,74772,74773,74787,74788,74797,74798,74807,74808,74817,74818,74827,74828,74837,74838,74847,74848,74857,74858,74872,74873,74882,74883,74892,74893,74902,74903,74912,74913,74922,74923,74937,74938,74947,74948,74957,74958,74967,74968,74977,74978,74987,74988,74997,74998,75007,75008,75017,75018,75032,75033,75042,75043,75052,75053,75062,75063,75173,75174,75237,75238,75242,75243,75249,75250,75263,75264,75270,75271,75329,75330,75351,75352,75365,75366,75398,75399,75492,75493,75507,75508,75517,75518,75562,75563,75595,75596,75606,75607,75613,75614,75619,75620,75733,75734,75753,75754,75759,75760,76436,76437,76456,76457,76469,76470,76483,76484,76547,76548,76553,76554,76560,76561,76567,76568,76575,76576,76645,76646,76654,76655,76662,76663,76682,76683,76704,76705,76974,76975,81797,81798,81827,81828,81835,81836,81950,81951,81973,81974,82024,82025,82054,82055,82079,82080,82093,82094,82099,82100,82113,82114,82118,82119,82154,82155,82161,82162,82168,82169,82177,82178,82187,82188,82196,82197,82253,82254,82272,82273,82304,82305,82310,82311,82322,82323,82378,82379,82391,82392,82560,82561,82575,82576,82651,82652,82710,82711,82732,82733,82777,82778,82792,82793,82797,82798,82803,82804,82809,82810,82815,82816,82821,82822,82827,82828,82835,82836,83138,83139,83143,83144,83171,83172,83185,83186,83190,83191,83197,83198,83207,83208,83239,83240,83245,83246,83252,83253,83260,83261,83268,83269,83273,83274,83278,83279,83285,83286,83292,83293,83299,83300,83305,83306,83311,83312,83317,83318,83323,83324,83329,83330,83334,83335,83340,83341,83346,83347,83352,83353,83358,83359,83365,83366,83371,83372,83377,83378,83382,83383,83389,83390,83396,83397,83403,83404,83413,83414,83423,83424,83431,83432,83437,83438,83451,83452,83461,83462,83467,83468,83475,83476,83481,83482,83487,83488,83493,83494,83500,83501,83505,83506,83511,83512,83517,83518,83522,83523,83528,83529,83534,83535,83539,83540,83544,83545,83550,83551,83555,83556,83563,83564,83570,83571,83575,83576,83581,83582,83724,83725,83737,83738,83766,83767,83788,83789,83827,83828,83969,83970,84003,84004,84010,84011,84146,84147,84165,84166,84202,84203,84212,84213,84234,84235,84484,84485,84526,84527,84539,84540,84547,84548,84554,84555,84560,84561,84569,84570,84576,84577,84608,84609,84626,84627,84641,84642,84650,84651,84657,84658,84664,84665,84683,84684,84715,84716,84740,84741,84789,84790,84801,84802,84808,84809,84823,84824,84826,84827,84834,84835,84844,84845,84851,84852,84877,84878,84897,84898,84915,84916,84945,84946,84950,84951,84955,84956,84960,84961,84974,84975,84977,84978,87443,87444,87446,87447,87451,87452,87457,87458,87464,87465,87520,87521,87523,87524,87935,87936,89155,89156,89163,89164,89342,89343,89347,89348,89355,89356,89399,89400,89421,89422,89426,89427,89431,89432,89441,89442,89447,89448,89453,89454,89462,89463,89497,89498,89502,89503,89513,89514,89521,89522,89526,89527,89532,89533,89713,89714,89750,89751,89758,89759,89777,89778,89804,89805,89833,89834,89841,89842,89847,89848,89859,89860,89880,89881,89887,89888,89916,89917,89956,89957,89964,89965,89976,89977,90042,90043,90061,90062,90095,90096,90100,90101,90109,90110,90115,90116,90125,90126,90131,90132,90161,90162,90301,90302,90312,90313,90317,90318,90323,90324,90343,90344,90345,90346,90357,90358,90366,90367,90378,90379,90386,90387,90393,90394,90400,90401,90412,90413,90419,90420,90427,90428,90435,90436,90442,90443,90447,90448,90454,90455,90459,90460,90467,90468,90474,90475,90486,90487,90491,90492,90500,90501,90508,90509,90515,90516,90522,90523,90530,90531,90538,90539,90544,90545,90551,90552,90558,90559,90560,90561,90598,90599,90636,90637,90676,90677,90679,90680,90681,90682,90683,90684,90696,90697,90698,90699,90700,90701,90722,90723,90734,90735,90736,90737,90738,90739,90863,90864,90865,90866,90872,90873,90874,90875,90876,90877,90878,90879,90880,90881,90882,90883,90891,90892,90897,90898,90904,90905,90911,90912,90924,90925,90931,90932,90952,90953,90964,90965,90966,90967,91017,91018,91024,91025,91030,91031,91085,91086,91091,91092,91097,91098,91104,91105,91110,91111,91285,91286,91293,91294,91299,91300,91305,91306,91312,91313,91322,91323,91377,91378,91390,91391,91420,91421,91426,91427,91433,91434,91439,91440,91447,91448,91453,91454,91459,91460,91465,91466,91542,91543,91561,91562,91637,91638,91643,91644,91650,91651,91856,98304,98306,98385,98386,104958,104962,104963,104967,104968,104972,104973,104978,104979,104985,104986,104991,104992,104998,104999,105091,105092,105191,105192,105196,105197,105213,105214,105245,105246,105307,105308,105373,105374,105435,105436,105497,105498,105573,105574,105655,105656,105731,105732,105813,105814,105895,105896,105972,105973,106055,106056,106131,106132,106213,106214,106289,106290,106365,106366,106446,106447,106521,106522,106603,106604,106685,106686,106761,106762,106844,106845,106920,106921,106922,106923,106925,106926,106934,106935,106936,106937,106943,106944,106951,106952,106960,106961,106981,106982,107118,107119,107120,107121,107122,107123,107148,107149,107516,107517,107553,107554,107973,107974,107996,107997,108174,108175,108178,108179,108194,108195,108340,108341,110114,110115,110162,110163,110499,110500,111142,111143,120048,120049,120061,120062,120133,120134,120136,120137,120144,120145,120161,120162,120379,120380,120406,120407,120669,120670,120674,120675,120706,120707,120709,120710,120717,120718,120854,120855,122054,122055,122057,122058,122068,122069,122076,122077,122142,122143,122438,122439,124546,124547,124550,124551,124681,124682,124683,124684,124685,124686,124688,124689,124690,124691,124695,124696,124698,124699,124700,124701,124703,124704,124716,124717,124723,124724,124730,124731,124736,124737,124769,124770,124805,124806,124809,124810,124813,124814,125210,125211,125658,125659,125660,125661,125664,125665,125667,125668,125671,125672,126176,126177,127783,127784,127785,127786,127799,127800,127802,127803,127805,127806,127808,127809,127817,127818,127820,127821,127834,127835,127836,127837,127838,127839,127898,127899,127907,127908,127949,127950,127992,127993,128043,128044,128150,128151,128159,128160,128177,128178,128188,128189,128197,128198,128206,128207,128226,128227,128237,128238,128245,128246,128257,128258,128295,128296,128326,128327,128342,128343,128352,128353,128373,128374,128383,128384,128394,128395,128443,128444,128456,128457,128540,128541,128547,128548,128580,128581,128597,128598,128674,128675,128782,128783,128997,128998,129018,129019,129035,129036,129192,129193,129542,129543,129568,129569,129579,129580,129592,129593,129603,129604,129660,129661,129673,129674,129684,129685,129772,129773,129789,129790,129801,129802,129814,129815,129913,129914,130703,130704,130714,130715,130716,130717,130762,130763,130817,130818,130819,130820,130825,130826,130829,130830,130840,130841,130850,130851,130865,130866,130869,130870,130900,130901,130904,130905,130908,130909,130932,130933,130987,130988,130992,130993,130998,130999,131002,131003,131005,131006,131008,131009,131010,131011,131038,131039,131041,131042,131044,131045,131046,131047,131048,131049,131051,131052,131064,131065,131067,131068,131069,131072,131073,163840,163842,163921,163922,168362,168370,168371,168376,168377,168384,168385,168388,168389,168392,168393,168395,168396,168398,168399,168401,168402,168405,168406,168409,168410,168412,168413,168419,168420,168438,168439,168458,168459,168464,168465,168469,168470,168475,168476,168487,168488,168494,168495,168508,168509,168519,168520,168523,168524,168532,168533,168537,168538,168543,168544,168549,168550,168553,168554,168557,168558,168562,168563,168567,168568,168571,168572,168576,168577,168580,168581,168585,168586,168590,168591,168603,168604,168609,168610,169640,169641,169647,169648,169656,169657,169663,169664,169667,169668,169669,169670,169677,169678,169696,169697,169702,169703,169707,169708,169713,169714,169725,169726,169732,169733,169738,169739,169749,169750,169755,169756,169757,169758,169759,169760,169761,169762,169766,169767,169769,169770,169776,169777,169780,169781,169788,169789,169792,169793,169822,169823,169836,169837,169861,169862,169898,169899,169925,169926,169970,169971,169995,169996,170007,170008,170036,170037,170063,170064,170076,170077,170078,170079,170082,170083,170085,170086,170088,170089,170092,170093,170096,170097,170104,170105,170107,170108,170112,170113,170122,170123,170127,170128,170133,170134,170138,170139,170144,170145,170148,170149,170153,170154,170158,170159,170166,170167,170172,170173,170176,170177,170182,170183,170187,170188,170191,170192,170197,170198,170202,170203,170207,170208,170211,170212,170218,170219,170222,170223,170228,170229,170235,170236,170239,170240,170250,170251,170253,170254,170259,170260,170264,170265,170280,170281,170284,170285,170289,170290,170295,170296,170301,170302,170307,170308,170313,170314,170318,170319,170321,170322,170328,170329,170335,170336,170342,170343,170347,170348,170355,170356,170362,170363,170366,170367,170373,170374,170380,170381,170388,170389,170392,170393,170403,170404,170407,170408,170419,170420,170423,170424,170428,170429,170434,170435,170440,170441,170447,170448,170456,170457,170462,170463,170470,170471,170475,170476,170478,170479,170483,170484,170489,170490,170495,170496,170503,170504,170511,170512,170515,170516,170524,170525,170526,170527,170534,170535,170542,170543,170549,170550,170606,170607,170629,170630,170637,170638,170647,170648,170655,170656,170664,170665,170677,170678,170689,170690,170700,170701,170713,170714,170722,170723,170731,170732,170742,170743,170753,170754,170762,170763,170771,170772,170776,170777,170784,170785,170795,170796,170806,170807,170817,170818,170869,170870,170878,170879,170887,170888,170903,170904,170908,170909,170922,170923,170931,170932,170975,170976,170989,170990,171006,171007,171016,171017,171025,171026,171054,171055,171067,171068,171078,171079,171092,171093,171103,171104,171115,171116,171130,171131,171142,171143,171160,171161,171167,171168,171172,171173,171214,171215,171225,171226,171235,171236,171247,171248,171258,171259,171266,171267,171276,171277,171288,171289,171300,171301,171305,171306,171315,171316,171325,171326,171336,171337,171344,171345,171353,171354,171368,171369,171397,171398,171408,171409,171431,171432,171490,171491,171505,171506,171511,171512,171556,171557,171570,171571,171586,171587,171602,171603,171609,171610,171623,171624,171635,171636,171648,171649,171657,171658,171669,171670,171680,171681,171708,171709,171787,171788,171799,171800,171810,171811,171822,171823,171831,171832,171854,171855,171862,171863,171873,171874,171883,171884,171902,171903,171946,171947,171956,171957,171969,171970,171977,171978,172014,172015,172061,172062,172070,172071,172076,172077,172085,172086,172106,172107,172113,172114,172115,172116,172118,172119,172121,172122,172124,172125,172128,172129,172131,172132,172134,172135,172137,172138,172141,172142,172146,172147,172149,172150,172153,172154,172156,172157,172159,172160,172162,172163,172166,172167,172169,172170,172173,172174,172175,172176,172177,172178,172240,172241,172242,172243,172244,172245,172255,172256,172257,172258,172299,172300,172301,172302,172303,172304,172523,172524,172525,172526,172559,172560,172561,172562,172563,172564,172799,172800,172801,172802,172810,172811,172812,172813,172814,172815,172828,172829,172830,172831,172863,172864,172865,172866,172867,172868,172875,172876,172877,172878,173486,173487,173488,173489,173490,173491,173575,173576,173577,173578,173644,173645,173646,173647,173648,173649,173743,173744,173745,173746,175701,175702,175703,175704,175705,175706,177231,177232,177233,177234,177381,177382,177383,177384,177385,177386,178076,178077,178078,178079,178086,178087,178088,178089,178090,178091,178092,178093,178094,178095,178107,178108,178109,178110,180698,180699,180700,180701,180702,180703,183067,183068,183069,183070,183553,183554,183555,183556,183557,183558,184453,184454,184455,184456,184613,184614,184615,184616,184617,184618,184894,184895,184896,184897,185880,185881,185882,185883,185884,185885,186471,186472,186473,186474,186480,186481,186482,186483,186484,186485,186495,186496,186497,186498,186511,186512,186513,186514,186515,186516,186550,186551,186552,186553,186559,186560,186561,186562,186563,186564,186575,186576,186577,186578,186638,186639,186640,186641,186642,186643,186649,186650,186651,186652,186886,186887,186888,186889,186890,186891,187048,187049,187050,187051,187098,187099,187100,187101,187102,187103,187236,187237,187238,187239,188918,188919,188920,188921,188922,188923,190230,190231,190232,190233,190243,190244,190245,190246,190247,190248,190299,190300,190301,190302,190338,190339,190340,190341,190342,190343,190344,190345,190346,190347,190403,190404,190405,190406,190411,190412,190413,190414,190415,190416,190439,190440,190441,190442,191856,191857,191858,191859,191860,191861,192910,192911,192912,192913,192916,192917,192918,192919,192920,192921,192934,192935,192936,192937,192943,192944,192945,192946,192947,192948,192964,192965,192966,192967,192979,192980,192981,192982,192983,192984,193064,193065,193066,193067,193068,193069,193070,193071,195469,195470,195471,195472,195515,195516,195517,195518,195519,195520,195637,195638,195639,195640,195643,195644,195645,195646,195647,195648,195659,195660,195661,195662,195723,195724,195725,195726,195727,195728,195817,195818,195819,195820,195953,195954,195955,195956,195957,195958,196204,196205,196206,196207,196218,196219,196220,196221,196222,196223,196266,196267,196268,196269,196270,196271,196272,196273,196274,196275,196276,196277,196278,196279,196280,196281,196282,196283,196284,196285,196286,196287,196288,196289,196290,196291,196292,196293,196302,196303,196304,196305,196306,196307,196316,196317,196318,196319,196376,196377,196378,196379,196380,196381,196556,196557,196558,196559,196560,196561,196562,196563,196564,196565,196589,196590,196591,196592,196593,196594,196604,196605,196606,196608,196609,229376,229378,229457,229458,251811,251812,251813,251814,251815,252683,252684,252685,252686,252687,252688,252689,252690,252724,252725,252732,252733,252734,252735,252736,252737,252738,252739,252771,252772,252826,252827,252862,252863,252864,252865,252866,252867,252868,252869,252870,252871,252872,252873,252874,252875,252876,252877,252878,252879,252880,252881,252882,252883,252884,252885,252886,252887,252888,252889,252890,252891,252892,252893,252894,252895,252896,252897,252898,252899,253055,253056,253164,253165,253308,253309,253410,253411,253601,253602,253761,253762,253825,253826,253974,253975,254179,254180,254274,254275,254429,254430,254492,254493,254494,254495,254496,254497,254498,254499,254500,254501,254502,254503,254504,254505,254514,254515,254516,254517,254519,254520,254521,254522,254549,254550,254551,254552,254578,254579,254580,254581,254608,254609,254610,254611,254623,254624,254625,254626,254634,254635,254636,254637,254641,254642,254643,254644,254650,254651,254652,254653,254654,254655,254656,254657,254659,254660,254661,254662,254671,254672,254673,254674,254675,254676,254677,254678,254679,254680,254681,254682,254683,254684,254685,254686,254764,254765,254766,254767,254768,254769,254770,254771,254772,254773,254774,254775,254776,254777,254778,254779,254781,254782,254783,254784,254785,254786,254787,254788,254824,254825,254826,254827,254863,254864,254865,254866,254867,254868,254869,254870,254871,254872,254873,254874,254875,254876,254878,254879,254881,254882,254883,254884,254885,254886,254887,254888,254889,254890,254891,254892,254893,254894,254895,254896,254897,254898,254899,254900,254901,254902,260323,260324,260325,260326,260327,260328,260329,260330,260331,260332,260333,260334,260338,260339,260342,260343,260347,260348,260352,260353,260357,260358,260359,260360,260361,260362,260365,260366,260367,260368,260369,260370,260371,260372,260373,260374,260375,260376,260377,260378,260379,260380,260381,260382,260383,260384,260385,260386,260387,260388,260389,260390,260391,260392,260393,260394,260395,260396,260397,260398,260399,260400,260401,260402,260403,260404,260405,260406,260407,260408,260409,260410,260411,260412,260413,260414,260415,260416,260417,260418,260419,260420,260421,260422,260423,260424,260425,260426,260427,260428,260429,260430,260431,260432,260433,260434,260435,260436,260437,260438,260439,260440,260441,260442,260446,260447,260452,260453,260454,260455,260578,260579,260580,260581,260582,260583,260584,260585,260586,260587,260588,260589,260590,260591,260593,260594,260595,260596,260598,260599,260600,260601,260603,260604,260605,260606,260608,260609,260610,260611,260613,260614,260615,260616,260618,260619,260620,260621,260623,260624,260625,260626,260627,260628,260629,260630,260631,260632,260633,260634,260640,260641,260642,260643,260644,260645,260651,260652,260653,260654,260735,260736,260737,260738,260739,260740,261126,261127,261128,261129,261131,261132,261133,261134,261135,261136,261142,261143,261144,261145,261150,261151,261152,261153,261154,261155,261172,261173,261174,261175,261205,261206,261207,261208,261209,261210,261229,261230,261231,261232,261242,261243,261244,261245,261246,261247,261270,261271,261272,261273,261274,261275,261276,261277,261279,261280,261281,261282,261286,261287,261288,261289,261291,261292,261293,261294,261296,261297,261298,261299,261301,261302,261303,261304,261306,261307,261308,261309,261311,261312,261313,261314,261316,261317,261318,261319,261322,261323,261324,261325,261327,261328,261329,261330,261333,261334,261335,261336,261338,261339,261340,261341,261351,261352,261353,261354,261355,261356,261357,261358,261359,261360,261361,261362,261363,261364,261369,261370,261371,261372,261373,261374,261381,261382,261383,261384,261406,261407,261408,261409,261410,261411,261456,261457,261458,261459,261473,261474,261475,261476,261477,261478,261494,261495,261496,261497,261498,261499,261500,261501,261514,261515,261516,261517,261519,261520,261521,261522,261524,261525,261526,261527,261529,261530,261531,261532,261534,261535,261536,261537,261539,261540,261541,261542,261544,261545,261546,261547,261549,261550,261551,261552,261554,261555,261556,261557,261559,261560,261561,261562,261569,261570,261571,261572,261574,261575,261576,261577,261578,261579,261580,261581,261582,261583,261584,261585,261586,261587,261592,261593,261594,261595,261596,261597,261604,261605,261606,261607,261611,261612,261613,261614,261615,261616,261623,261624,261625,261626,261627,261628,261629,261630,261632,261633,261634,261635,261637,261638,261639,261640,261642,261643,261644,261645,261647,261648,261649,261650,261652,261653,261654,261655,261657,261658,261659,261660,261768,261769,261770,261771,261772,261773,261774,261775,261776,261777,261778,261779,261780,261781,261782,261783,261784,261785,261786,261787,261788,261789,261790,261791,261799,261800,261801,261802,261810,261811,261812,261813,261814,261815,261822,261823,261824,261825,261832,261833,261834,261835,261836,261837,261838,261839,261840,261841,261842,261843,261852,261853,261854,261855,261856,261857,261873,261874,261875,261876,261878,261879,261880,261881,261883,261884,261885,261886,261888,261889,261890,261891,261896,261897,261898,261899,261901,261902,261903,261904,261905,261906,261907,261908,261913,261914,261915,261916,261917,261918,261928,261929,261930,261931,261956,261957,261958,261959,261960,261961,262047,262048,262049,262050,262113,262114,262115,262116,262117,262118,262119,262120,262135,262136,262137,262138,262139,262140,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") && block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat"), ui_print("system recovered successfully."), abort("E1004: system partition fails to recover"));
endif;

# ---- start making changes here ----

ui_print("Patching system image after verification.");
show_progress(0.900000, 0);
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
ui_print("Patching boot image...");
show_progress(0.100000, 10);
apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:499b1c498024b2a8c666e8fa0198fb563a15fa85",
            "-", 499b1c498024b2a8c666e8fa0198fb563a15fa85, 16276776,
            2b72e12ade635847e49097f5e862883dae7a0078,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:499b1c498024b2a8c666e8fa0198fb563a15fa85");

# ---- radio update tasks ----

ui_print("Patching firmware images...");
set_progress(1.000000);
