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/083/brian01130225:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/078/brian05050255:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/083/brian01130225:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/078/brian05050255:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/083/brian01130225:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/078/brian05050255:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16276776:c05bb51e0afc11727a188b55bb190bbe81690f1d:16276776:fe07e75cfbb3eef66b35fc6b643bfad0c1372c20") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16276776:c05bb51e0afc11727a188b55bb190bbe81690f1d:16276776:fe07e75cfbb3eef66b35fc6b643bfad0c1372c20\" has unexpected contents.");
apply_patch_space(39571456) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "6534,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,4834,4835,4836,4837,7459,7460,7461,7462,7684,7685,7686,7687,8524,8525,8526,8527,8529,8530,8531,8532,8533,8534,8541,8542,8543,8544,8550,8551,8552,8553,8554,8555,8581,8582,8583,8584,8647,8648,8649,8650,8651,8652,8718,8719,8720,8721,8727,8728,8729,8730,8731,8732,8759,8760,8761,8762,8766,8767,8768,8769,8770,8771,8790,8791,8792,8793,8795,8796,8797,8798,8799,8800,8806,8807,8808,8809,8813,8814,8815,8816,8817,8818,8834,8835,8836,8837,8840,8841,8842,8843,8844,8845,8855,8856,8857,8858,8861,8862,8863,8864,8865,8866,8879,8880,8881,8882,8886,8887,8888,8889,8890,8891,8902,8903,8904,8905,8906,8907,8908,8909,8973,8974,8985,8986,8987,8988,8989,8990,8991,8992,8999,9000,9002,9003,9004,9005,9007,9008,9009,9010,9011,9012,9013,9014,9061,9062,9071,9072,9073,9074,9075,9076,9077,9078,9130,9131,9141,9142,9143,9144,9145,9146,9147,9148,9893,9894,21096,21097,21099,21100,21111,21112,21123,21124,21128,21129,21133,21134,21141,21142,21147,21148,21152,21153,21154,21155,21161,21162,21199,21200,21201,21202,21203,21204,21210,21211,21220,21221,21230,21231,21238,21239,21245,21246,21257,21258,21264,21265,21270,21271,21272,21273,21282,21283,21292,21293,21299,21300,21305,21306,21307,21308,21312,21313,21318,21319,21323,21324,21336,21337,21344,21345,21351,21352,21360,21361,21409,21410,21415,21416,21417,21418,21423,21424,21505,21506,21511,21512,21524,21525,21531,21532,21537,21538,21571,21572,21591,21592,21596,21597,21602,21603,21610,21611,21615,21616,21623,21624,21630,21631,21638,21639,21644,21645,21655,21656,21679,21680,21714,21715,21716,21717,21725,21726,21768,21769,21776,21777,21786,21787,21827,21828,21832,21833,21842,21843,21849,21850,21855,21856,21863,21864,21879,21880,21889,21890,21911,21912,21922,21923,21935,21936,21946,21947,22093,22094,22107,22108,22116,22117,22122,22123,22158,22159,22170,22171,22205,22206,22318,22319,22330,22331,22340,22341,22342,22343,22372,22373,22378,22379,22416,22417,22445,22446,22447,22448,22449,22450,22477,22478,22490,22491,22546,22547,22610,22611,22672,22673,22678,22679,22720,22721,22776,22777,22778,22779,22784,22785,22790,22791,22796,22797,22819,22820,22825,22826,22834,22835,22842,22843,22972,22973,23128,23129,23135,23136,23153,23154,23163,23164,23182,23183,23185,23186,23194,23195,23292,23293,23319,23320,23325,23326,23334,23335,23375,23376,23382,23383,23518,23519,23520,23521,23526,23527,23534,23535,23540,23541,23546,23547,23554,23555,23564,23565,23574,23575,23579,23580,23607,23608,23634,23635,23653,23654,23660,23661,23667,23668,23675,23676,23685,23686,23745,23746,23780,23781,23789,23790,23795,23796,23804,23805,23806,23807,23826,23827,23834,23835,23839,23840,23845,23846,23894,23895,24202,24203,24207,24208,24246,24247,24255,24256,24264,24265,24270,24271,24275,24276,24280,24281,24285,24286,24291,24292,24310,24311,24322,24323,24334,24335,24340,24341,24342,24343,24353,24354,24362,24363,24372,24373,24383,24384,24429,24430,24439,24440,24449,24450,24459,24460,24461,24462,24466,24467,24472,24473,24478,24479,24484,24485,24490,24491,24496,24497,24502,24503,24508,24509,24514,24515,24521,24522,24528,24529,24535,24536,24542,24543,24548,24549,24554,24555,24582,24583,24612,24613,24621,24622,24627,24628,24632,24633,24678,24679,24683,24684,24696,24697,24701,24702,24703,24704,24717,24718,24724,24725,24730,24731,24738,24739,24746,24747,24752,24753,24758,24759,24764,24765,24791,24792,24800,24801,24807,24808,24812,24813,24819,24820,24826,24827,24828,24829,24833,24834,24865,24866,24912,24913,24914,24915,24923,24924,24939,24940,24945,24946,24951,24952,24959,24960,24965,24966,24968,24969,24973,24974,24997,24998,24999,25000,25005,25006,25024,25025,25033,25034,25039,25040,25045,25046,25051,25052,25057,25058,25080,25081,25151,25152,25157,25158,25163,25164,25170,25171,25177,25178,25180,25181,25197,25198,25203,25204,25210,25211,25316,25317,25341,25342,25348,25349,25355,25356,25360,25361,25362,25363,25385,25386,25699,25700,25868,25869,25886,25887,25890,25891,25892,25895,25957,25958,25959,25960,25961,25962,25963,25964,25980,25981,25985,25986,25987,25988,26042,26043,26044,26045,26066,26067,26128,26129,26130,26131,26141,26142,26146,26147,26149,26150,26199,26200,26201,26202,26221,26222,26270,26271,26273,26274,26275,26276,26292,26293,26297,26298,26299,26300,26357,26358,26359,26360,26384,26385,26447,26448,26449,26450,26466,26467,26471,26472,26473,26474,26529,26530,26531,26532,26556,26557,26619,26620,26621,26622,26638,26639,26643,26644,26645,26646,26708,26709,26710,26711,26735,26736,26799,26800,26960,26961,26962,26963,26965,26966,26967,26968,26970,26971,26976,26977,26980,26981,26982,26983,26984,26985,26986,26987,26995,26996,26998,26999,27241,27242,27243,27244,27245,27246,27247,27248,27253,27254,27255,27256,27257,27258,27261,27262,27265,27266,27269,27270,27273,27274,27275,27276,27279,27280,27283,27284,27287,27288,27291,27292,27295,27296,27297,27298,27301,27302,27305,27306,27309,27310,27313,27314,27317,27318,27321,27322,27405,27406,27407,27408,27415,27416,27435,27436,27442,27443,27444,27445,27446,27447,27448,27449,27450,27451,27452,27453,27454,27455,27460,27461,27462,27463,27464,27465,27468,27469,27472,27473,27474,27475,27478,27479,27480,27481,27484,27485,27487,27488,27491,27492,27496,27497,27501,27502,27506,27507,27511,27512,27513,27514,27517,27518,27519,27520,27521,27522,27523,27524,27525,27526,27527,27528,27549,27550,27555,27556,27570,27571,27588,27589,27593,27594,27595,27596,27598,27599,27756,27757,27759,27760,27761,27762,27924,27925,27927,27928,27929,27930,27931,27932,27935,27936,27937,27938,27942,27943,27944,27945,27948,27949,27950,27951,27952,27953,27954,27955,27956,27957,27958,27959,27970,27971,27972,27973,27974,27975,27976,27977,27979,27980,27981,27982,27983,27984,27985,27986,27987,27988,27989,27990,27991,27992,27993,27994,27995,27996,27997,27998,27999,28000,28001,28002,28003,28004,28005,28006,28007,28008,28009,28010,28011,28012,28013,28014,28015,28016,28017,28018,28019,28020,28021,28022,28023,28024,28025,28026,28027,28028,28029,28030,28031,28032,28033,28034,28035,28038,28040,28041,28044,28045,28046,28047,28048,28049,28050,28051,28052,28053,28054,28055,28076,28077,28078,28079,28080,28081,28083,28084,28089,28090,28091,28092,28093,28094,28096,28097,28098,28099,28100,28101,28104,28105,28107,28108,28109,28110,28112,28113,28115,28116,28118,28119,28125,28126,28134,28135,28143,28144,28151,28152,28159,28160,28168,28169,28177,28178,28186,28187,28195,28196,28214,28215,28216,28217,28218,28219,28220,28221,28222,28223,29329,29330,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29343,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29356,29357,29358,29359,29360,29361,29362,29363,29364,29365,29366,29367,29368,29369,29370,29371,29372,29373,29374,29375,29376,29377,29378,29379,29380,29381,29382,29383,29384,29385,29386,29387,29388,29389,29390,29391,29392,29393,29394,29395,29396,29397,29398,29399,29400,29401,29402,29403,29404,29405,29406,29407,29408,29409,29410,29411,29412,29413,29414,29415,29416,29417,29418,29419,29420,29421,29422,29423,29424,29425,29426,29427,29428,29440,29441,29442,29443,29444,29445,29446,29447,29448,29449,29450,29451,29608,29609,29610,29611,29612,29613,29614,29615,29616,29617,29620,29621,29624,29625,29626,29627,29628,29629,29630,29631,29632,29633,29634,29635,29636,29637,29638,29639,29640,29641,29642,29643,29644,29645,29646,29647,29648,29649,29650,29651,29652,29653,29654,29655,29656,29657,29658,29659,29660,29661,29662,29663,29664,29665,29666,29667,29668,29669,29670,29671,29672,29673,29674,29675,29676,29677,29678,29679,29680,29681,29682,29683,29684,29685,29686,29687,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29699,29700,29701,29702,29703,29704,29705,29706,29707,29709,29710,29711,29712,29713,29714,29715,29716,29719,29720,29721,29722,29723,29724,29725,29726,29727,29728,29729,29730,29731,29732,29733,29734,29735,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29746,29747,29748,29752,29753,29754,29755,29756,29757,29758,29759,29760,29761,30218,30219,30220,30221,30223,30224,30225,30226,30227,30228,30230,30231,30233,30234,30236,30237,30239,30240,30241,30242,30244,30245,30247,30248,30250,30251,30252,30253,30255,30256,30258,30259,30261,30262,30264,30265,30267,30268,30270,30271,30273,30274,30276,30277,30279,30280,30282,30283,30285,30286,30288,30289,30292,30293,30295,30296,30298,30299,30301,30302,30304,30305,30307,30308,30309,30310,30311,30312,30314,30315,30317,30318,30321,30322,30325,30326,30328,30329,30331,30332,30334,30335,30337,30338,30340,30341,30343,30344,30346,30347,30349,30350,30352,30353,30356,30357,30359,30360,30362,30363,30365,30366,30368,30369,30371,30372,30374,30375,30377,30378,30380,30381,30383,30384,30386,30387,30389,30390,30392,30393,30394,30395,30397,30398,30400,30401,30403,30404,30406,30407,30409,30410,30411,30412,30414,30415,30417,30418,30420,30421,30423,30424,30426,30427,30429,30430,30432,30433,30434,30435,30437,30438,30440,30441,30443,30444,30446,30447,30449,30450,30452,30453,30455,30456,30458,30459,30461,30462,30464,30465,30467,30468,30470,30471,30473,30474,30476,30477,30479,30480,30481,30482,30484,30485,30487,30488,30490,30491,30493,30494,30495,30496,30498,30499,30501,30502,30504,30505,30507,30508,30510,30511,30513,30514,30516,30517,30519,30520,30522,30523,30526,30527,30529,30530,30532,30533,30535,30536,30538,30539,30541,30542,30543,30544,30546,30547,30549,30550,30552,30553,30555,30556,30558,30559,30560,30561,30563,30564,30566,30567,30569,30570,30572,30573,30575,30576,30577,30578,30580,30581,30583,30584,30586,30587,30649,30650,30652,30653,30655,30656,30657,30658,30660,30661,30663,30664,30666,30667,30669,30670,30672,30673,30674,30675,30677,30678,30680,30681,30683,30684,30686,30687,30688,30689,30691,30692,30694,30695,30697,30698,30700,30701,30703,30704,30706,30707,30709,30710,30712,30713,30715,30716,30718,30719,30720,30721,30723,30724,30726,30727,30729,30730,30732,30733,30735,30736,30738,30739,30741,30742,30744,30745,30747,30748,30749,30750,30751,30752,30753,30754,30755,30756,30758,30759,30762,30763,30765,30766,30767,30768,30769,30770,30772,30773,30775,30776,30778,30779,30781,30782,30784,30785,30787,30788,30790,30791,30793,30794,30795,30796,30797,30798,30799,30800,30801,30802,30804,30805,30813,30814,30822,30823,30831,30832,30840,30841,30849,30850,30851,30852,30853,30854,30855,30856,30857,30858,30859,30860,30861,30862,30863,30864,30868,30869,30870,30871,30873,30874,30884,30885,30900,30901,30918,30919,30948,30949,30978,30979,31053,31054,31126,31127,31177,31178,31218,31219,31246,31247,31275,31276,31308,31309,31362,31363,31382,31383,31438,31439,31468,31469,31498,31499,31528,31529,31558,31559,31563,31564,31568,31569,31577,31578,31611,31612,31616,31617,31619,31620,31622,31623,31635,31636,31642,31643,31649,31650,31659,31660,31666,31667,31703,31704,31739,31740,31745,31746,31751,31752,31756,31757,31759,31760,31765,31766,31771,31772,31782,31783,31785,31786,31795,31796,31805,31806,31815,31816,31826,31827,31835,31836,31844,31845,31853,31854,31862,31863,31888,31889,31892,31893,31895,31896,31910,31911,31925,31926,31940,31941,31955,31956,31960,31961,31965,31966,31994,31995,32000,32001,32005,32006,32008,32009,32011,32012,32017,32018,32056,32057,32097,32098,32101,32102,32106,32107,32178,32179,32183,32184,32196,32197,32199,32200,32203,32204,32216,32217,32221,32222,32226,32227,32231,32232,32237,32238,32244,32245,32250,32251,32257,32258,32350,32351,32450,32451,32455,32456,32472,32473,32504,32505,32566,32567,32632,32633,32694,32695,32756,32757,32758,32768,32770,32849,32850,65536,65537,74957,76014,76015,79579,79580,82110,82111,84171,84172,84173,84174,84175,84176,85273,85274,85275,85276,86113,86114,86115,86116,86117,86118,86650,86651,86652,86653,86662,86663,86664,86665,86666,86667,86676,86677,86678,86679,86736,86737,86738,86739,86740,86741,86916,86917,86918,86919,86999,87000,87001,87002,87003,87004,87110,87111,87112,87113,87137,87138,87139,87140,87141,87142,87152,87153,87154,87155,87302,87303,87304,87305,87306,87307,88175,88176,88177,88178,88179,88180,88181,88182,88216,88217,88224,88225,88226,88227,88228,88229,88230,88231,88263,88264,88318,88319,88354,88355,88356,88357,88358,88359,88360,88361,88362,88363,88364,88365,88366,88367,88368,88369,88370,88371,88372,88373,88374,88375,88376,88377,88378,88379,88380,88381,88382,88383,88384,88385,88386,88387,88388,88389,88390,88391,88547,88548,88656,88657,88800,88801,88902,88903,89093,89094,89253,89254,89317,89318,89466,89467,89671,89672,89766,89767,89921,89922,89984,89985,89986,89987,89988,89989,89990,89991,89992,89993,89994,89995,89996,89997,90006,90007,90008,90009,90011,90012,90013,90014,90041,90042,90043,90044,90070,90071,90072,90073,90100,90101,90102,90103,90115,90116,90117,90118,90126,90127,90128,90129,90133,90134,90135,90136,90142,90143,90144,90145,90146,90147,90148,90149,90151,90152,90153,90154,90163,90164,90165,90166,90167,90168,90169,90170,90171,90172,90173,90174,90175,90176,90177,90178,90256,90257,90258,90259,90260,90261,90262,90263,90264,90265,90266,90267,90268,90269,90270,90271,90273,90274,90275,90276,90277,90278,90279,90280,90316,90317,90318,90319,90355,90356,90357,90358,90359,90360,90361,90362,90363,90364,90365,90366,90367,90368,90370,90371,90373,90374,90375,90376,90377,90378,90379,90380,90381,90382,90383,90384,90385,90386,90387,90388,90389,90390,90391,90392,90393,90394,95815,95816,95817,95818,95819,95820,95821,95822,95823,95824,95825,95826,95830,95831,95834,95835,95839,95840,95844,95845,95849,95850,95851,95852,95853,95854,95857,95858,95859,95860,95861,95862,95863,95864,95865,95866,95867,95868,95869,95870,95871,95872,95873,95874,95875,95876,95877,95878,95879,95880,95881,95882,95883,95884,95885,95886,95887,95888,95889,95890,95891,95892,95893,95894,95895,95896,95897,95898,95899,95900,95901,95902,95903,95904,95905,95906,95907,95908,95909,95910,95911,95912,95913,95914,95915,95916,95917,95918,95919,95920,95921,95922,95923,95924,95925,95926,95927,95928,95929,95930,95931,95932,95933,95934,95938,95939,95944,95945,95946,95947,96070,96071,96072,96073,96074,96075,96076,96077,96078,96079,96080,96081,96082,96083,96085,96086,96087,96088,96090,96091,96092,96093,96095,96096,96097,96098,96100,96101,96102,96103,96105,96106,96107,96108,96110,96111,96112,96113,96115,96116,96117,96118,96119,96120,96121,96122,96123,96124,96125,96126,96132,96133,96134,96135,96136,96137,96143,96144,96145,96146,96227,96228,96229,96230,96231,96232,96618,96619,96620,96621,96623,96624,96625,96626,96627,96628,96634,96635,96636,96637,96642,96643,96644,96645,96646,96647,96664,96665,96666,96667,96697,96698,96699,96700,96701,96702,96721,96722,96723,96724,96734,96735,96736,96737,96738,96739,96762,96763,96764,96765,96766,96767,96768,96769,96771,96772,96773,96774,96778,96779,96780,96781,96783,96784,96785,96786,96788,96789,96790,96791,96793,96794,96795,96796,96798,96799,96800,96801,96803,96804,96805,96806,96808,96809,96810,96811,96814,96815,96816,96817,96819,96820,96821,96822,96825,96826,96827,96828,96830,96831,96832,96833,96843,96844,96845,96846,96847,96848,96849,96850,96851,96852,96853,96854,96855,96856,96861,96862,96863,96864,96865,96866,96873,96874,96875,96876,96898,96899,96900,96901,96902,96903,96948,96949,96950,96951,96965,96966,96967,96968,96969,96970,96986,96987,96988,96989,96990,96991,96992,96993,97006,97007,97008,97009,97011,97012,97013,97014,97016,97017,97018,97019,97021,97022,97023,97024,97026,97027,97028,97029,97031,97032,97033,97034,97036,97037,97038,97039,97041,97042,97043,97044,97046,97047,97048,97049,97051,97052,97053,97054,97061,97062,97063,97064,97066,97067,97068,97069,97070,97071,97072,97073,97074,97075,97076,97077,97078,97079,97084,97085,97086,97087,97088,97089,97096,97097,97098,97099,97103,97104,97105,97106,97107,97108,97115,97116,97117,97118,97119,97120,97121,97122,97124,97125,97126,97127,97129,97130,97131,97132,97134,97135,97136,97137,97139,97140,97141,97142,97144,97145,97146,97147,97149,97150,97151,97152,97260,97261,97262,97263,97264,97265,97266,97267,97268,97269,97270,97271,97272,97273,97274,97275,97276,97277,97278,97279,97280,97281,97282,97283,97291,97292,97293,97294,97302,97303,97304,97305,97306,97307,97314,97315,97316,97317,97324,97325,97326,97327,97328,97329,97330,97331,97332,97333,97334,97335,97344,97345,97346,97347,97348,97349,97365,97366,97367,97368,97370,97371,97372,97373,97375,97376,97377,97378,97380,97381,97382,97383,97388,97389,97390,97391,97393,97394,97395,97396,97397,97398,97399,97400,97405,97406,97407,97408,97409,97410,97420,97421,97422,97423,97448,97449,97450,97451,97452,97453,97539,97540,97541,97542,97605,97606,97607,97608,97609,97610,97761,97762,97763,97764,97779,97780,97781,97782,97783,97784,97803,97804,97805,97806,97807,97808,97809,97810,98115,98116,98180,98181,98182,98183,98270,98271,98276,98277,98282,98283,98293,98294,98295,98296,98297,98298,98299,98300,98301,98304,98306,98385,98386,98879,100324,100325,104885,104886,104961,104962,105043,105044,105119,105120,105201,105202,105283,105284,105360,105361,105443,105444,105519,105520,105601,105602,105677,105678,105753,105754,105834,105835,105909,105910,105991,105992,106073,106074,106149,106150,106232,106233,106308,106309,106317,106318,106324,106325,106332,106333,106341,106342,106362,106363,106499,106500,106501,106502,106527,106528,106895,106896,106932,106933,107352,107353,107375,107376,107553,107554,107557,107558,107573,107574,107719,107720,109493,109494,109541,109542,109878,109879,110521,110522,119427,119428,119440,119441,119512,119513,119515,119516,119523,119524,119540,119541,119758,119759,119785,119786,120048,120049,120053,120054,120085,120086,120088,120089,120096,120097,120233,120234,121433,121434,121436,121437,121447,121448,121455,121456,121521,121522,121817,121818,123925,123926,123929,123930,124060,124061,124062,124063,124064,124065,124067,124068,124069,124070,124074,124075,124077,124078,124079,124080,124082,124083,124095,124096,124102,124103,124109,124110,124115,124116,124148,124149,124184,124185,124188,124189,124192,124193,124589,124590,125037,125038,125039,125040,125043,125044,125046,125047,125050,125051,125555,125556,127162,127163,127164,127165,127178,127179,127181,127182,127184,127185,127187,127188,127196,127197,127199,127200,127213,127214,127215,127216,127217,127218,127277,127278,127286,127287,127328,127329,127371,127372,127422,127423,127529,127530,127538,127539,127556,127557,127567,127568,127576,127577,127585,127586,127605,127606,127616,127617,127624,127625,127636,127637,127674,127675,127705,127706,127721,127722,127731,127732,127752,127753,127762,127763,127773,127774,127822,127823,127835,127836,127919,127920,127926,127927,127959,127960,127976,127977,128053,128054,128161,128162,128376,128377,128397,128398,128414,128415,128571,128572,128921,128922,128947,128948,128958,128959,128971,128972,128982,128983,129039,129040,129052,129053,129063,129064,129151,129152,129168,129169,129180,129181,129193,129194,129292,129293,130082,130083,130093,130094,130095,130096,130141,130142,130196,130197,130198,130199,130204,130205,130208,130209,130219,130220,130229,130230,130244,130245,130248,130249,130279,130280,130283,130284,130287,130288,130311,130312,130366,130367,130371,130372,130377,130378,130381,130382,130384,130385,130387,130388,130389,130390,130417,130418,130420,130421,130423,130424,130425,130426,130427,130428,130642,130643,130645,130646,130658,130659,130661,130662,130663,130664,130665,130666,130682,130683,130700,130701,130814,130815,130817,130818,130821,130822,130823,130824,130825,130826,130827,130828,130843,130844,130845,130846,130847,130848,130873,130874,130875,130876,130884,130885,130890,130891,130939,130940,130949,130950,130956,130957,130981,130982,130988,130989,130998,130999,131005,131006,131014,131015,131055,131056,131060,131061,131067,131068,131069,131072,131073,131566,132229,132230,132243,132244,132259,132260,132288,132289,132299,132300,132337,132338,132610,132611,132684,132685,132758,132759,132802,132803,132806,132807,132808,132809,132810,132811,132812,132813,132814,132815,132817,132818,132824,132825,132830,132831,132906,132907,132910,132911,132916,132917,132918,132919,132920,132921,132922,132923,132924,132925,132926,132927,132933,132934,132935,132936,132957,132958,132981,132982,132983,132984,132995,132996,133039,133040,133091,133092,133411,133412,133519,133520,133521,133522,133530,133531,133536,133537,133549,133550,133564,133565,133608,133609,133622,133623,133668,133669,133680,133681,133788,133789,134105,134106,134204,134205,134242,134243,134272,134273,134292,134293,134301,134302,134486,134487,134629,134630,134640,134641,134658,134659,134668,134669,134803,134804,134810,134811,134840,134841,134871,134872,135061,135062,135068,135069,135075,135076,135081,135082,135086,135087,135100,135101,135109,135110,135114,135115,135145,135146,135163,135164,135194,135195,135249,135250,135267,135268,135298,135299,135318,135319,135327,135328,135335,135336,135359,135360,135409,135410,135421,135422,135426,135427,135431,135432,136237,136238,136242,136243,136247,136248,136264,136265,136269,136270,136276,136277,136281,136282,136287,136288,136293,136294,136298,136299,136304,136305,136310,136311,136315,136316,136320,136321,136326,136327,136332,136333,136338,136339,136344,136345,136349,136350,136355,136356,136361,136362,136366,136367,136372,136373,136378,136379,136383,136384,136389,136390,136395,136396,136400,136401,136406,136407,136412,136413,136417,136418,136423,136424,136429,136430,136434,136435,136440,136441,136446,136447,136451,136452,136457,136458,136463,136464,136468,136469,136474,136475,136480,136481,136485,136486,136491,136492,136497,136498,136502,136503,136508,136509,136514,136515,136519,136520,136525,136526,136531,136532,136539,136540,136547,136548,136561,136562,136567,136568,136590,136591,136620,136621,136663,136664,136700,136701,136707,136708,136766,136767,136771,136772,136790,136791,136795,136796,136969,136970,137139,137140,137146,137147,137161,137162,137171,137172,137181,137182,137191,137192,137201,137202,137211,137212,137221,137222,137231,137232,137241,137242,137251,137252,137266,137267,137276,137277,137286,137287,137301,137302,137311,137312,137321,137322,137331,137332,137341,137342,137351,137352,137361,137362,137371,137372,137381,137382,137391,137392,137406,137407,137416,137417,137426,137427,137436,137437,137446,137447,137461,137462,137471,137472,137481,137482,137491,137492,137506,137507,137516,137517,137526,137527,137536,137537,137551,137552,137561,137562,137571,137572,137581,137582,137591,137592,137606,137607,137616,137617,137626,137627,137636,137637,137646,137647,137656,137657,137665,137666,137680,137681,137690,137691,137700,137701,137710,137711,137720,137721,137730,137731,137740,137741,137750,137751,137760,137761,137775,137776,137785,137786,137795,137796,137805,137806,137815,137816,137825,137826,137835,137836,137845,137846,137855,137856,137865,137866,137875,137876,137890,137891,137900,137901,137910,137911,137920,137921,137930,137931,137940,137941,137955,137956,137965,137966,137975,137976,137985,137986,137995,137996,138005,138006,138015,138016,138025,138026,138040,138041,138050,138051,138060,138061,138070,138071,138085,138086,138100,138101,138110,138111,138120,138121,138130,138131,138140,138141,138150,138151,138160,138161,138175,138176,138185,138186,138195,138196,138205,138206,138220,138221,138230,138231,138240,138241,138250,138251,138265,138266,138275,138276,138285,138286,138295,138296,138310,138311,138320,138321,138330,138331,138340,138341,138350,138351,138360,138361,138375,138376,138385,138386,138395,138396,138405,138406,138415,138416,138430,138431,138440,138441,138450,138451,138460,138461,138470,138471,138480,138481,138495,138496,138505,138506,138515,138516,138525,138526,138535,138536,138545,138546,138560,138561,138570,138571,138580,138581,138590,138591,138600,138601,138610,138611,138620,138621,138630,138631,138640,138641,138650,138651,138665,138666,138675,138676,138685,138686,138695,138696,138705,138706,138715,138716,138725,138726,138735,138736,138745,138746,138755,138756,138770,138771,138780,138781,138790,138791,138800,138801,138810,138811,138820,138821,138830,138831,138840,138841,138850,138851,138860,138861,138875,138876,138885,138886,138895,138896,138905,138906,138915,138916,138925,138926,138935,138936,138945,138946,138955,138956,138970,138971,138980,138981,138990,138991,139000,139001,139010,139011,139020,139021,139030,139031,139040,139041,139050,139051,139060,139061,139070,139071,139080,139081,139090,139091,139105,139106,139115,139116,139125,139126,139135,139136,139145,139146,139155,139156,139165,139166,139175,139176,139185,139186,139200,139201,139210,139211,139220,139221,139230,139231,139240,139241,139250,139251,139260,139261,139275,139276,139285,139286,139295,139296,139305,139306,139315,139316,139325,139326,139335,139336,139345,139346,139355,139356,139365,139366,139375,139376,139385,139386,139400,139401,139410,139411,139420,139421,139430,139431,139440,139441,139450,139451,139460,139461,139470,139471,139480,139481,139490,139491,139505,139506,139515,139516,139525,139526,139535,139536,139550,139551,139560,139561,139570,139571,139580,139581,139590,139591,139600,139601,139610,139611,139620,139621,139630,139631,139640,139641,139655,139656,139665,139666,139675,139676,139685,139686,139695,139696,139705,139706,139715,139716,139725,139726,139740,139741,139750,139751,139760,139761,139770,139771,139780,139781,139790,139791,139805,139806,139815,139816,139825,139826,139835,139836,139845,139846,139855,139856,139865,139866,139875,139876,139885,139886,139900,139901,139910,139911,139920,139921,139930,139931,140041,140042,140105,140106,140110,140111,140117,140118,140131,140132,140138,140139,140197,140198,140219,140220,140233,140234,140266,140267,140360,140361,140375,140376,140385,140386,140430,140431,140463,140464,140474,140475,140481,140482,140487,140488,140601,140602,140621,140622,140627,140628,141304,141305,141324,141325,141337,141338,141351,141352,141415,141416,141421,141422,141428,141429,141435,141436,141443,141444,141513,141514,141522,141523,141530,141531,141550,141551,141572,141573,141842,141843,146665,146666,146695,146696,146703,146704,146818,146819,146841,146842,146892,146893,146922,146923,146947,146948,146961,146962,146967,146968,146981,146982,146986,146987,147022,147023,147029,147030,147036,147037,147045,147046,147055,147056,147064,147065,147121,147122,147140,147141,147172,147173,147178,147179,147190,147191,147246,147247,147259,147260,147428,147429,147443,147444,147519,147520,147578,147579,147600,147601,147645,147646,147660,147661,147665,147666,147671,147672,147677,147678,147683,147684,147689,147690,147695,147696,147703,147704,148006,148007,148011,148012,148039,148040,148053,148054,148058,148059,148065,148066,148075,148076,148107,148108,148113,148114,148120,148121,148128,148129,148136,148137,148141,148142,148146,148147,148153,148154,148160,148161,148167,148168,148173,148174,148179,148180,148185,148186,148191,148192,148197,148198,148202,148203,148208,148209,148214,148215,148220,148221,148226,148227,148233,148234,148239,148240,148245,148246,148250,148251,148257,148258,148264,148265,148271,148272,148281,148282,148291,148292,148299,148300,148305,148306,148319,148320,148329,148330,148335,148336,148343,148344,148349,148350,148355,148356,148361,148362,148368,148369,148373,148374,148379,148380,148385,148386,148390,148391,148396,148397,148402,148403,148407,148408,148412,148413,148418,148419,148423,148424,148431,148432,148438,148439,148443,148444,148449,148450,148592,148593,148605,148606,148634,148635,148656,148657,148695,148696,148837,148838,148871,148872,148878,148879,149014,149015,149033,149034,149070,149071,149080,149081,149102,149103,149352,149353,149394,149395,149407,149408,149415,149416,149422,149423,149428,149429,149437,149438,149444,149445,149476,149477,149494,149495,149509,149510,149518,149519,149525,149526,149532,149533,149551,149552,149583,149584,149608,149609,149657,149658,149669,149670,149676,149677,149691,149692,149694,149695,149702,149703,149712,149713,149719,149720,149745,149746,149765,149766,149783,149784,149813,149814,149818,149819,149823,149824,149828,149829,149842,149843,149845,149846,152311,152312,152314,152315,152319,152320,152325,152326,152332,152333,152388,152389,152391,152392,152803,152804,154023,154024,154031,154032,154210,154211,154215,154216,154223,154224,154267,154268,154289,154290,154294,154295,154299,154300,154309,154310,154315,154316,154321,154322,154330,154331,154365,154366,154370,154371,154381,154382,154389,154390,154394,154395,154400,154401,154581,154582,154618,154619,154626,154627,154645,154646,154672,154673,154701,154702,154709,154710,154715,154716,154727,154728,154748,154749,154755,154756,154784,154785,154824,154825,154832,154833,154844,154845,154910,154911,154929,154930,154963,154964,154968,154969,154977,154978,154983,154984,154993,154994,154999,155000,155029,155030,155169,155170,155180,155181,155185,155186,155191,155192,155211,155212,155213,155214,155225,155226,155234,155235,155246,155247,155254,155255,155261,155262,155268,155269,155280,155281,155287,155288,155295,155296,155303,155304,155310,155311,155315,155316,155322,155323,155327,155328,155335,155336,155342,155343,155354,155355,155359,155360,155368,155369,155376,155377,155383,155384,155390,155391,155398,155399,155406,155407,155412,155413,155419,155420,155426,155427,155428,155429,155466,155467,155504,155505,155544,155545,155547,155548,155549,155550,155551,155552,155564,155565,155566,155567,155568,155569,155590,155591,155602,155603,155604,155605,155606,155607,155731,155732,155733,155734,155740,155741,155742,155743,155744,155745,155746,155747,155748,155749,155750,155751,155759,155760,155765,155766,155772,155773,155779,155780,155792,155793,155799,155800,155820,155821,155832,155833,155834,155835,155885,155886,155892,155893,155898,155899,155953,155954,155959,155960,155965,155966,155972,155973,155978,155979,156153,156154,156161,156162,156167,156168,156173,156174,156180,156181,156190,156191,156245,156246,156258,156259,156288,156289,156294,156295,156301,156302,156307,156308,156315,156316,156321,156322,156327,156328,156333,156334,156410,156411,156429,156430,156505,156506,156511,156512,156518,156519,156724,163840,163842,163921,163922,178340,179118,179119,179526,179527,179623,179624,179629,179630,179634,179635,179639,179640,179644,179645,179651,179652,179672,179673,179677,179678,179704,179705,179710,179711,179766,179767,179776,179777,179794,179795,179812,179813,182722,182723,182749,182750,182756,182757,182770,182771,182786,182787,182794,182795,182810,182811,182826,182827,182848,182849,182883,182884,182938,182939,182988,182989,182994,182995,183000,183001,183006,183007,183018,183019,183135,183136,183175,183176,183234,183235,183296,183297,183589,183590,183918,183919,183925,183926,183947,183948,184194,184195,184236,184237,184288,184289,184295,184296,184302,184303,184990,184991,185018,185019,186457,186458,186466,186467,186475,186476,186557,186558,186581,186582,186599,186600,186740,186741,186758,186759,186793,186794,186800,186801,186807,186808,186816,186817,186832,186833,186858,186859,186870,186871,186983,186984,187039,187040,187046,187047,187137,187138,187333,187334,187369,187370,187379,187380,187521,187522,187709,187710,187716,187717,187755,187756,187779,187780,187840,187841,187851,187852,188026,188027,188033,188034,188239,188240,188327,188328,188420,188421,188721,188722,188809,188810,188925,188926,188936,188937,188942,188943,189115,189116,189186,189187,189212,189213,189248,189249,189253,189254,189261,189262,189266,189267,189405,189406,189433,189434,189443,189444,189448,189449,189454,189455,189460,189461,189465,189466,189471,189472,189478,189479,189484,189485,189490,189491,189496,189497,189501,189502,189507,189508,189513,189514,189518,189519,189523,189524,189528,189529,189534,189535,189540,189541,189546,189547,189551,189552,189556,189557,189561,189562,189576,189577,189583,189584,189643,189644,189686,189687,189710,189711,189722,189723,189728,189729,189737,189738,189744,189745,189754,189755,189761,189762,189808,189809,189827,189828,189833,189834,189841,189842,189877,189878,189883,189884,189894,189895,190006,190007,190014,190015,190022,190023,190034,190035,190134,190135,190139,190140,190148,190149,190236,190237,190244,190245,190370,190371,190762,190763,191039,191040,191048,191049,191066,191067,191101,191102,191168,191169,191183,191184,191198,191199,191241,191242,191270,191271,191503,191504,191509,191510,191514,191515,191575,191576,191610,191611,191624,191625,191630,191631,191654,191655,191684,191685,191697,191698,191705,191706,191741,191742,191758,191759,191764,191765,191777,191778,191802,191803,191836,191837,191846,191847,192047,192048,192132,192133,192140,192141,192157,192158,192165,192166,192174,192175,192194,192195,192342,192343,192354,192355,192362,192363,192367,192368,192393,192394,192409,192410,192436,192437,192456,192457,192464,192465,192489,192490,192509,192510,192525,192526,192550,192551,192556,192557,192565,192566,192575,192576,192586,192587,192592,192593,192604,192605,192612,192613,192621,192622,192626,192627,192647,192648,192654,192655,192700,192701,192714,192715,192771,192772,192789,192790,193999,194000,194004,194005,194011,194012,194069,194070,194091,194092,194101,194102,195269,195270,195280,195281,195317,195318,195355,195356,195360,195361,195368,195369,195374,195375,195546,195547,195575,195576,195584,195585,195596,195597,195601,195602,195613,195614,195619,195620,195633,195634,195646,195647,195662,195663,195667,195668,195684,195685,195696,195697,195702,195703,195715,195716,195737,195738,195743,195744,195750,195751,195765,195766,195798,195799,195817,195818,195844,195845,195850,195851,195855,195856,195862,195863,195890,195891,195896,195897,195983,195984,195995,195996,196012,196013,196030,196031,196039,196040,196047,196048,196172,196173,196212,196213,196580,196581,196597,196598,196602,196608,196609,229376,229378,229457,229458,229951,230895,230896,230905,230906,230941,230942,230946,230947,230987,230988,231039,231040,231116,231117,231200,231201,231232,231233,231253,231254,231289,231290,231376,231377,231484,231485,231493,231494,231529,231530,231537,231538,231547,231548,231669,231670,231691,231692,231724,231725,231755,231756,231797,231798,231807,231808,231815,231816,231824,231825,231925,231926,232049,232050,232099,232100,232106,232107,232112,232113,232119,232120,232198,232199,232203,232204,232209,232210,232214,232215,232224,232225,232233,232234,232241,232242,232248,232249,232261,232262,232274,232275,232281,232282,232341,232342,232365,232366,232388,232389,232395,232396,232421,232422,232601,232602,232633,232634,232657,232658,232859,232860,232865,232866,232871,232872,232921,232922,232986,232987,233035,233036,233050,233051,233057,233058,233249,233250,233274,233275,233285,233286,233293,233294,233303,233304,233309,233310,233313,233314,233316,233317,233319,233320,233322,233323,233326,233327,233330,233331,233333,233334,233341,233342,233360,233361,233382,233383,233390,233391,233397,233398,233405,233406,233417,233418,233424,233425,233438,233439,233449,233450,233454,233455,233465,233466,233472,233473,233480,233481,233487,233488,233491,233492,233495,233496,233500,233501,233505,233506,233509,233510,233514,233515,233518,233519,233523,233524,233528,233529,233541,233542,233549,233550,233551,233552,234582,234583,234591,234592,234600,234601,234609,234610,234615,234616,234617,234618,234625,234626,234644,234645,234650,234651,234655,234656,234661,234662,234673,234674,234680,234681,234686,234687,234697,234698,234703,234704,234705,234706,234707,234708,234709,234710,234714,234715,234717,234718,234724,234725,234728,234729,234736,234737,234740,234741,234770,234771,234784,234785,234809,234810,234846,234847,234873,234874,234918,234919,234943,234944,234955,234956,234984,234985,235011,235012,235024,235025,235026,235027,235030,235031,235033,235034,235036,235037,235040,235041,235044,235045,235052,235053,235055,235056,235060,235061,235070,235071,235075,235076,235081,235082,235086,235087,235092,235093,235096,235097,235101,235102,235106,235107,235114,235115,235120,235121,235124,235125,235130,235131,235135,235136,235139,235140,235145,235146,235150,235151,235155,235156,235159,235160,235166,235167,235170,235171,235176,235177,235183,235184,235187,235188,235198,235199,235201,235202,235207,235208,235212,235213,235228,235229,235232,235233,235237,235238,235243,235244,235249,235250,235255,235256,235261,235262,235266,235267,235269,235270,235276,235277,235283,235284,235290,235291,235295,235296,235303,235304,235310,235311,235314,235315,235321,235322,235328,235329,235336,235337,235340,235341,235351,235352,235355,235356,235367,235368,235371,235372,235376,235377,235382,235383,235388,235389,235395,235396,235404,235405,235410,235411,235418,235419,235423,235424,235426,235427,235431,235432,235437,235438,235443,235444,235451,235452,235459,235460,235463,235464,235472,235473,235474,235475,235482,235483,235490,235491,235497,235498,235554,235555,235577,235578,235585,235586,235595,235596,235603,235604,235612,235613,235625,235626,235637,235638,235648,235649,235661,235662,235670,235671,235679,235680,235690,235691,235701,235702,235710,235711,235719,235720,235724,235725,235732,235733,235743,235744,235754,235755,235765,235766,235817,235818,235826,235827,235835,235836,235851,235852,235856,235857,235870,235871,235879,235880,235923,235924,235937,235938,235954,235955,235964,235965,235973,235974,236002,236003,236015,236016,236026,236027,236040,236041,236051,236052,236063,236064,236078,236079,236090,236091,236108,236109,236115,236116,236120,236121,236162,236163,236173,236174,236183,236184,236195,236196,236206,236207,236214,236215,236224,236225,236236,236237,236248,236249,236253,236254,236263,236264,236273,236274,236284,236285,236292,236293,236301,236302,236316,236317,236345,236346,236356,236357,236379,236380,236438,236439,236453,236454,236459,236460,236504,236505,236518,236519,236534,236535,236550,236551,236557,236558,236571,236572,236583,236584,236596,236597,236605,236606,236617,236618,236628,236629,236656,236657,236735,236736,236747,236748,236758,236759,236770,236771,236779,236780,236802,236803,236810,236811,236821,236822,236831,236832,236850,236851,236894,236895,236904,236905,236917,236918,236925,236926,236962,236963,237009,237010,237018,237019,237024,237025,237033,237034,237054,237055,237061,237062,237063,237064,237066,237067,237069,237070,237072,237073,237076,237077,237079,237080,237082,237083,237085,237086,237089,237090,237094,237095,237097,237098,237101,237102,237104,237105,237107,237108,237110,237111,237114,237115,237117,237118,237121,237122,237123,237124,237125,237126,237188,237189,237190,237191,237192,237193,237203,237204,237205,237206,237247,237248,237249,237250,237251,237252,237471,237472,237473,237474,237507,237508,237509,237510,237511,237512,237747,237748,237749,237750,237758,237759,237760,237761,237762,237763,237776,237777,237778,237779,237811,237812,237813,237814,237815,237816,237823,237824,237825,237826,238434,238435,238436,238437,238438,238439,238523,238524,238525,238526,238592,238593,238594,238595,238596,238597,238691,238692,238693,238694,240649,240650,240651,240652,240653,240654,242179,242180,242181,242182,242329,242330,242331,242332,242333,242334,243024,243025,243026,243027,243034,243035,243036,243037,243038,243039,243040,243041,243042,243043,243055,243056,243057,243058,245646,245647,245648,245649,245650,245651,248015,248016,248017,248018,248501,248502,248503,248504,248505,248506,249401,249402,249403,249404,249561,249562,249563,249564,249565,249566,249842,249843,249844,249845,250828,250829,250830,250831,250832,250833,251419,251420,251421,251422,251428,251429,251430,251431,251432,251433,251443,251444,251445,251446,251459,251460,251461,251462,251463,251464,251498,251499,251500,251501,251507,251508,251509,251510,251511,251512,251523,251524,251525,251526,251586,251587,251588,251589,251590,251591,251597,251598,251599,251600,251834,251835,251836,251837,251838,251839,251996,251997,251998,251999,252046,252047,252048,252049,252050,252051,252184,252185,252186,252187,253866,253867,253868,253869,253870,253871,255178,255179,255180,255181,255191,255192,255193,255194,255195,255196,255247,255248,255249,255250,255286,255287,255288,255289,255290,255291,255292,255293,255294,255295,255351,255352,255353,255354,255359,255360,255361,255362,255363,255364,255387,255388,255389,255390,256804,256805,256806,256807,256808,256809,257858,257859,257860,257861,257864,257865,257866,257867,257868,257869,257882,257883,257884,257885,257891,257892,257893,257894,257895,257896,257912,257913,257914,257915,257927,257928,257929,257930,257931,257932,258012,258013,258014,258015,258016,258017,258018,258019,260417,260418,260419,260420,260463,260464,260465,260466,260467,260468,260585,260586,260587,260588,260591,260592,260593,260594,260595,260596,260607,260608,260609,260610,260671,260672,260673,260674,260675,260676,260765,260766,260767,260768,260901,260902,260903,260904,260905,260906,261152,261153,261154,261155,261166,261167,261168,261169,261170,261171,261214,261215,261216,261217,261218,261219,261220,261221,262133,262134,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") == "1964135d85e47f089f694b7b8544620902174718" || 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", "6534,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,4834,4835,4836,4837,7459,7460,7461,7462,7684,7685,7686,7687,8524,8525,8526,8527,8529,8530,8531,8532,8533,8534,8541,8542,8543,8544,8550,8551,8552,8553,8554,8555,8581,8582,8583,8584,8647,8648,8649,8650,8651,8652,8718,8719,8720,8721,8727,8728,8729,8730,8731,8732,8759,8760,8761,8762,8766,8767,8768,8769,8770,8771,8790,8791,8792,8793,8795,8796,8797,8798,8799,8800,8806,8807,8808,8809,8813,8814,8815,8816,8817,8818,8834,8835,8836,8837,8840,8841,8842,8843,8844,8845,8855,8856,8857,8858,8861,8862,8863,8864,8865,8866,8879,8880,8881,8882,8886,8887,8888,8889,8890,8891,8902,8903,8904,8905,8906,8907,8908,8909,8973,8974,8985,8986,8987,8988,8989,8990,8991,8992,8999,9000,9002,9003,9004,9005,9007,9008,9009,9010,9011,9012,9013,9014,9061,9062,9071,9072,9073,9074,9075,9076,9077,9078,9130,9131,9141,9142,9143,9144,9145,9146,9147,9148,9893,9894,21096,21097,21099,21100,21111,21112,21123,21124,21128,21129,21133,21134,21141,21142,21147,21148,21152,21153,21154,21155,21161,21162,21199,21200,21201,21202,21203,21204,21210,21211,21220,21221,21230,21231,21238,21239,21245,21246,21257,21258,21264,21265,21270,21271,21272,21273,21282,21283,21292,21293,21299,21300,21305,21306,21307,21308,21312,21313,21318,21319,21323,21324,21336,21337,21344,21345,21351,21352,21360,21361,21409,21410,21415,21416,21417,21418,21423,21424,21505,21506,21511,21512,21524,21525,21531,21532,21537,21538,21571,21572,21591,21592,21596,21597,21602,21603,21610,21611,21615,21616,21623,21624,21630,21631,21638,21639,21644,21645,21655,21656,21679,21680,21714,21715,21716,21717,21725,21726,21768,21769,21776,21777,21786,21787,21827,21828,21832,21833,21842,21843,21849,21850,21855,21856,21863,21864,21879,21880,21889,21890,21911,21912,21922,21923,21935,21936,21946,21947,22093,22094,22107,22108,22116,22117,22122,22123,22158,22159,22170,22171,22205,22206,22318,22319,22330,22331,22340,22341,22342,22343,22372,22373,22378,22379,22416,22417,22445,22446,22447,22448,22449,22450,22477,22478,22490,22491,22546,22547,22610,22611,22672,22673,22678,22679,22720,22721,22776,22777,22778,22779,22784,22785,22790,22791,22796,22797,22819,22820,22825,22826,22834,22835,22842,22843,22972,22973,23128,23129,23135,23136,23153,23154,23163,23164,23182,23183,23185,23186,23194,23195,23292,23293,23319,23320,23325,23326,23334,23335,23375,23376,23382,23383,23518,23519,23520,23521,23526,23527,23534,23535,23540,23541,23546,23547,23554,23555,23564,23565,23574,23575,23579,23580,23607,23608,23634,23635,23653,23654,23660,23661,23667,23668,23675,23676,23685,23686,23745,23746,23780,23781,23789,23790,23795,23796,23804,23805,23806,23807,23826,23827,23834,23835,23839,23840,23845,23846,23894,23895,24202,24203,24207,24208,24246,24247,24255,24256,24264,24265,24270,24271,24275,24276,24280,24281,24285,24286,24291,24292,24310,24311,24322,24323,24334,24335,24340,24341,24342,24343,24353,24354,24362,24363,24372,24373,24383,24384,24429,24430,24439,24440,24449,24450,24459,24460,24461,24462,24466,24467,24472,24473,24478,24479,24484,24485,24490,24491,24496,24497,24502,24503,24508,24509,24514,24515,24521,24522,24528,24529,24535,24536,24542,24543,24548,24549,24554,24555,24582,24583,24612,24613,24621,24622,24627,24628,24632,24633,24678,24679,24683,24684,24696,24697,24701,24702,24703,24704,24717,24718,24724,24725,24730,24731,24738,24739,24746,24747,24752,24753,24758,24759,24764,24765,24791,24792,24800,24801,24807,24808,24812,24813,24819,24820,24826,24827,24828,24829,24833,24834,24865,24866,24912,24913,24914,24915,24923,24924,24939,24940,24945,24946,24951,24952,24959,24960,24965,24966,24968,24969,24973,24974,24997,24998,24999,25000,25005,25006,25024,25025,25033,25034,25039,25040,25045,25046,25051,25052,25057,25058,25080,25081,25151,25152,25157,25158,25163,25164,25170,25171,25177,25178,25180,25181,25197,25198,25203,25204,25210,25211,25316,25317,25341,25342,25348,25349,25355,25356,25360,25361,25362,25363,25385,25386,25699,25700,25868,25869,25886,25887,25890,25891,25892,25895,25957,25958,25959,25960,25961,25962,25963,25964,25980,25981,25985,25986,25987,25988,26042,26043,26044,26045,26066,26067,26128,26129,26130,26131,26141,26142,26146,26147,26149,26150,26199,26200,26201,26202,26221,26222,26270,26271,26273,26274,26275,26276,26292,26293,26297,26298,26299,26300,26357,26358,26359,26360,26384,26385,26447,26448,26449,26450,26466,26467,26471,26472,26473,26474,26529,26530,26531,26532,26556,26557,26619,26620,26621,26622,26638,26639,26643,26644,26645,26646,26708,26709,26710,26711,26735,26736,26799,26800,26960,26961,26962,26963,26965,26966,26967,26968,26970,26971,26976,26977,26980,26981,26982,26983,26984,26985,26986,26987,26995,26996,26998,26999,27241,27242,27243,27244,27245,27246,27247,27248,27253,27254,27255,27256,27257,27258,27261,27262,27265,27266,27269,27270,27273,27274,27275,27276,27279,27280,27283,27284,27287,27288,27291,27292,27295,27296,27297,27298,27301,27302,27305,27306,27309,27310,27313,27314,27317,27318,27321,27322,27405,27406,27407,27408,27415,27416,27435,27436,27442,27443,27444,27445,27446,27447,27448,27449,27450,27451,27452,27453,27454,27455,27460,27461,27462,27463,27464,27465,27468,27469,27472,27473,27474,27475,27478,27479,27480,27481,27484,27485,27487,27488,27491,27492,27496,27497,27501,27502,27506,27507,27511,27512,27513,27514,27517,27518,27519,27520,27521,27522,27523,27524,27525,27526,27527,27528,27549,27550,27555,27556,27570,27571,27588,27589,27593,27594,27595,27596,27598,27599,27756,27757,27759,27760,27761,27762,27924,27925,27927,27928,27929,27930,27931,27932,27935,27936,27937,27938,27942,27943,27944,27945,27948,27949,27950,27951,27952,27953,27954,27955,27956,27957,27958,27959,27970,27971,27972,27973,27974,27975,27976,27977,27979,27980,27981,27982,27983,27984,27985,27986,27987,27988,27989,27990,27991,27992,27993,27994,27995,27996,27997,27998,27999,28000,28001,28002,28003,28004,28005,28006,28007,28008,28009,28010,28011,28012,28013,28014,28015,28016,28017,28018,28019,28020,28021,28022,28023,28024,28025,28026,28027,28028,28029,28030,28031,28032,28033,28034,28035,28038,28040,28041,28044,28045,28046,28047,28048,28049,28050,28051,28052,28053,28054,28055,28076,28077,28078,28079,28080,28081,28083,28084,28089,28090,28091,28092,28093,28094,28096,28097,28098,28099,28100,28101,28104,28105,28107,28108,28109,28110,28112,28113,28115,28116,28118,28119,28125,28126,28134,28135,28143,28144,28151,28152,28159,28160,28168,28169,28177,28178,28186,28187,28195,28196,28214,28215,28216,28217,28218,28219,28220,28221,28222,28223,29329,29330,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29343,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29356,29357,29358,29359,29360,29361,29362,29363,29364,29365,29366,29367,29368,29369,29370,29371,29372,29373,29374,29375,29376,29377,29378,29379,29380,29381,29382,29383,29384,29385,29386,29387,29388,29389,29390,29391,29392,29393,29394,29395,29396,29397,29398,29399,29400,29401,29402,29403,29404,29405,29406,29407,29408,29409,29410,29411,29412,29413,29414,29415,29416,29417,29418,29419,29420,29421,29422,29423,29424,29425,29426,29427,29428,29440,29441,29442,29443,29444,29445,29446,29447,29448,29449,29450,29451,29608,29609,29610,29611,29612,29613,29614,29615,29616,29617,29620,29621,29624,29625,29626,29627,29628,29629,29630,29631,29632,29633,29634,29635,29636,29637,29638,29639,29640,29641,29642,29643,29644,29645,29646,29647,29648,29649,29650,29651,29652,29653,29654,29655,29656,29657,29658,29659,29660,29661,29662,29663,29664,29665,29666,29667,29668,29669,29670,29671,29672,29673,29674,29675,29676,29677,29678,29679,29680,29681,29682,29683,29684,29685,29686,29687,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29699,29700,29701,29702,29703,29704,29705,29706,29707,29709,29710,29711,29712,29713,29714,29715,29716,29719,29720,29721,29722,29723,29724,29725,29726,29727,29728,29729,29730,29731,29732,29733,29734,29735,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29746,29747,29748,29752,29753,29754,29755,29756,29757,29758,29759,29760,29761,30218,30219,30220,30221,30223,30224,30225,30226,30227,30228,30230,30231,30233,30234,30236,30237,30239,30240,30241,30242,30244,30245,30247,30248,30250,30251,30252,30253,30255,30256,30258,30259,30261,30262,30264,30265,30267,30268,30270,30271,30273,30274,30276,30277,30279,30280,30282,30283,30285,30286,30288,30289,30292,30293,30295,30296,30298,30299,30301,30302,30304,30305,30307,30308,30309,30310,30311,30312,30314,30315,30317,30318,30321,30322,30325,30326,30328,30329,30331,30332,30334,30335,30337,30338,30340,30341,30343,30344,30346,30347,30349,30350,30352,30353,30356,30357,30359,30360,30362,30363,30365,30366,30368,30369,30371,30372,30374,30375,30377,30378,30380,30381,30383,30384,30386,30387,30389,30390,30392,30393,30394,30395,30397,30398,30400,30401,30403,30404,30406,30407,30409,30410,30411,30412,30414,30415,30417,30418,30420,30421,30423,30424,30426,30427,30429,30430,30432,30433,30434,30435,30437,30438,30440,30441,30443,30444,30446,30447,30449,30450,30452,30453,30455,30456,30458,30459,30461,30462,30464,30465,30467,30468,30470,30471,30473,30474,30476,30477,30479,30480,30481,30482,30484,30485,30487,30488,30490,30491,30493,30494,30495,30496,30498,30499,30501,30502,30504,30505,30507,30508,30510,30511,30513,30514,30516,30517,30519,30520,30522,30523,30526,30527,30529,30530,30532,30533,30535,30536,30538,30539,30541,30542,30543,30544,30546,30547,30549,30550,30552,30553,30555,30556,30558,30559,30560,30561,30563,30564,30566,30567,30569,30570,30572,30573,30575,30576,30577,30578,30580,30581,30583,30584,30586,30587,30649,30650,30652,30653,30655,30656,30657,30658,30660,30661,30663,30664,30666,30667,30669,30670,30672,30673,30674,30675,30677,30678,30680,30681,30683,30684,30686,30687,30688,30689,30691,30692,30694,30695,30697,30698,30700,30701,30703,30704,30706,30707,30709,30710,30712,30713,30715,30716,30718,30719,30720,30721,30723,30724,30726,30727,30729,30730,30732,30733,30735,30736,30738,30739,30741,30742,30744,30745,30747,30748,30749,30750,30751,30752,30753,30754,30755,30756,30758,30759,30762,30763,30765,30766,30767,30768,30769,30770,30772,30773,30775,30776,30778,30779,30781,30782,30784,30785,30787,30788,30790,30791,30793,30794,30795,30796,30797,30798,30799,30800,30801,30802,30804,30805,30813,30814,30822,30823,30831,30832,30840,30841,30849,30850,30851,30852,30853,30854,30855,30856,30857,30858,30859,30860,30861,30862,30863,30864,30868,30869,30870,30871,30873,30874,30884,30885,30900,30901,30918,30919,30948,30949,30978,30979,31053,31054,31126,31127,31177,31178,31218,31219,31246,31247,31275,31276,31308,31309,31362,31363,31382,31383,31438,31439,31468,31469,31498,31499,31528,31529,31558,31559,31563,31564,31568,31569,31577,31578,31611,31612,31616,31617,31619,31620,31622,31623,31635,31636,31642,31643,31649,31650,31659,31660,31666,31667,31703,31704,31739,31740,31745,31746,31751,31752,31756,31757,31759,31760,31765,31766,31771,31772,31782,31783,31785,31786,31795,31796,31805,31806,31815,31816,31826,31827,31835,31836,31844,31845,31853,31854,31862,31863,31888,31889,31892,31893,31895,31896,31910,31911,31925,31926,31940,31941,31955,31956,31960,31961,31965,31966,31994,31995,32000,32001,32005,32006,32008,32009,32011,32012,32017,32018,32056,32057,32097,32098,32101,32102,32106,32107,32178,32179,32183,32184,32196,32197,32199,32200,32203,32204,32216,32217,32221,32222,32226,32227,32231,32232,32237,32238,32244,32245,32250,32251,32257,32258,32350,32351,32450,32451,32455,32456,32472,32473,32504,32505,32566,32567,32632,32633,32694,32695,32756,32757,32758,32768,32770,32849,32850,65536,65537,74957,76014,76015,79579,79580,82110,82111,84171,84172,84173,84174,84175,84176,85273,85274,85275,85276,86113,86114,86115,86116,86117,86118,86650,86651,86652,86653,86662,86663,86664,86665,86666,86667,86676,86677,86678,86679,86736,86737,86738,86739,86740,86741,86916,86917,86918,86919,86999,87000,87001,87002,87003,87004,87110,87111,87112,87113,87137,87138,87139,87140,87141,87142,87152,87153,87154,87155,87302,87303,87304,87305,87306,87307,88175,88176,88177,88178,88179,88180,88181,88182,88216,88217,88224,88225,88226,88227,88228,88229,88230,88231,88263,88264,88318,88319,88354,88355,88356,88357,88358,88359,88360,88361,88362,88363,88364,88365,88366,88367,88368,88369,88370,88371,88372,88373,88374,88375,88376,88377,88378,88379,88380,88381,88382,88383,88384,88385,88386,88387,88388,88389,88390,88391,88547,88548,88656,88657,88800,88801,88902,88903,89093,89094,89253,89254,89317,89318,89466,89467,89671,89672,89766,89767,89921,89922,89984,89985,89986,89987,89988,89989,89990,89991,89992,89993,89994,89995,89996,89997,90006,90007,90008,90009,90011,90012,90013,90014,90041,90042,90043,90044,90070,90071,90072,90073,90100,90101,90102,90103,90115,90116,90117,90118,90126,90127,90128,90129,90133,90134,90135,90136,90142,90143,90144,90145,90146,90147,90148,90149,90151,90152,90153,90154,90163,90164,90165,90166,90167,90168,90169,90170,90171,90172,90173,90174,90175,90176,90177,90178,90256,90257,90258,90259,90260,90261,90262,90263,90264,90265,90266,90267,90268,90269,90270,90271,90273,90274,90275,90276,90277,90278,90279,90280,90316,90317,90318,90319,90355,90356,90357,90358,90359,90360,90361,90362,90363,90364,90365,90366,90367,90368,90370,90371,90373,90374,90375,90376,90377,90378,90379,90380,90381,90382,90383,90384,90385,90386,90387,90388,90389,90390,90391,90392,90393,90394,95815,95816,95817,95818,95819,95820,95821,95822,95823,95824,95825,95826,95830,95831,95834,95835,95839,95840,95844,95845,95849,95850,95851,95852,95853,95854,95857,95858,95859,95860,95861,95862,95863,95864,95865,95866,95867,95868,95869,95870,95871,95872,95873,95874,95875,95876,95877,95878,95879,95880,95881,95882,95883,95884,95885,95886,95887,95888,95889,95890,95891,95892,95893,95894,95895,95896,95897,95898,95899,95900,95901,95902,95903,95904,95905,95906,95907,95908,95909,95910,95911,95912,95913,95914,95915,95916,95917,95918,95919,95920,95921,95922,95923,95924,95925,95926,95927,95928,95929,95930,95931,95932,95933,95934,95938,95939,95944,95945,95946,95947,96070,96071,96072,96073,96074,96075,96076,96077,96078,96079,96080,96081,96082,96083,96085,96086,96087,96088,96090,96091,96092,96093,96095,96096,96097,96098,96100,96101,96102,96103,96105,96106,96107,96108,96110,96111,96112,96113,96115,96116,96117,96118,96119,96120,96121,96122,96123,96124,96125,96126,96132,96133,96134,96135,96136,96137,96143,96144,96145,96146,96227,96228,96229,96230,96231,96232,96618,96619,96620,96621,96623,96624,96625,96626,96627,96628,96634,96635,96636,96637,96642,96643,96644,96645,96646,96647,96664,96665,96666,96667,96697,96698,96699,96700,96701,96702,96721,96722,96723,96724,96734,96735,96736,96737,96738,96739,96762,96763,96764,96765,96766,96767,96768,96769,96771,96772,96773,96774,96778,96779,96780,96781,96783,96784,96785,96786,96788,96789,96790,96791,96793,96794,96795,96796,96798,96799,96800,96801,96803,96804,96805,96806,96808,96809,96810,96811,96814,96815,96816,96817,96819,96820,96821,96822,96825,96826,96827,96828,96830,96831,96832,96833,96843,96844,96845,96846,96847,96848,96849,96850,96851,96852,96853,96854,96855,96856,96861,96862,96863,96864,96865,96866,96873,96874,96875,96876,96898,96899,96900,96901,96902,96903,96948,96949,96950,96951,96965,96966,96967,96968,96969,96970,96986,96987,96988,96989,96990,96991,96992,96993,97006,97007,97008,97009,97011,97012,97013,97014,97016,97017,97018,97019,97021,97022,97023,97024,97026,97027,97028,97029,97031,97032,97033,97034,97036,97037,97038,97039,97041,97042,97043,97044,97046,97047,97048,97049,97051,97052,97053,97054,97061,97062,97063,97064,97066,97067,97068,97069,97070,97071,97072,97073,97074,97075,97076,97077,97078,97079,97084,97085,97086,97087,97088,97089,97096,97097,97098,97099,97103,97104,97105,97106,97107,97108,97115,97116,97117,97118,97119,97120,97121,97122,97124,97125,97126,97127,97129,97130,97131,97132,97134,97135,97136,97137,97139,97140,97141,97142,97144,97145,97146,97147,97149,97150,97151,97152,97260,97261,97262,97263,97264,97265,97266,97267,97268,97269,97270,97271,97272,97273,97274,97275,97276,97277,97278,97279,97280,97281,97282,97283,97291,97292,97293,97294,97302,97303,97304,97305,97306,97307,97314,97315,97316,97317,97324,97325,97326,97327,97328,97329,97330,97331,97332,97333,97334,97335,97344,97345,97346,97347,97348,97349,97365,97366,97367,97368,97370,97371,97372,97373,97375,97376,97377,97378,97380,97381,97382,97383,97388,97389,97390,97391,97393,97394,97395,97396,97397,97398,97399,97400,97405,97406,97407,97408,97409,97410,97420,97421,97422,97423,97448,97449,97450,97451,97452,97453,97539,97540,97541,97542,97605,97606,97607,97608,97609,97610,97761,97762,97763,97764,97779,97780,97781,97782,97783,97784,97803,97804,97805,97806,97807,97808,97809,97810,98115,98116,98180,98181,98182,98183,98270,98271,98276,98277,98282,98283,98293,98294,98295,98296,98297,98298,98299,98300,98301,98304,98306,98385,98386,98879,100324,100325,104885,104886,104961,104962,105043,105044,105119,105120,105201,105202,105283,105284,105360,105361,105443,105444,105519,105520,105601,105602,105677,105678,105753,105754,105834,105835,105909,105910,105991,105992,106073,106074,106149,106150,106232,106233,106308,106309,106317,106318,106324,106325,106332,106333,106341,106342,106362,106363,106499,106500,106501,106502,106527,106528,106895,106896,106932,106933,107352,107353,107375,107376,107553,107554,107557,107558,107573,107574,107719,107720,109493,109494,109541,109542,109878,109879,110521,110522,119427,119428,119440,119441,119512,119513,119515,119516,119523,119524,119540,119541,119758,119759,119785,119786,120048,120049,120053,120054,120085,120086,120088,120089,120096,120097,120233,120234,121433,121434,121436,121437,121447,121448,121455,121456,121521,121522,121817,121818,123925,123926,123929,123930,124060,124061,124062,124063,124064,124065,124067,124068,124069,124070,124074,124075,124077,124078,124079,124080,124082,124083,124095,124096,124102,124103,124109,124110,124115,124116,124148,124149,124184,124185,124188,124189,124192,124193,124589,124590,125037,125038,125039,125040,125043,125044,125046,125047,125050,125051,125555,125556,127162,127163,127164,127165,127178,127179,127181,127182,127184,127185,127187,127188,127196,127197,127199,127200,127213,127214,127215,127216,127217,127218,127277,127278,127286,127287,127328,127329,127371,127372,127422,127423,127529,127530,127538,127539,127556,127557,127567,127568,127576,127577,127585,127586,127605,127606,127616,127617,127624,127625,127636,127637,127674,127675,127705,127706,127721,127722,127731,127732,127752,127753,127762,127763,127773,127774,127822,127823,127835,127836,127919,127920,127926,127927,127959,127960,127976,127977,128053,128054,128161,128162,128376,128377,128397,128398,128414,128415,128571,128572,128921,128922,128947,128948,128958,128959,128971,128972,128982,128983,129039,129040,129052,129053,129063,129064,129151,129152,129168,129169,129180,129181,129193,129194,129292,129293,130082,130083,130093,130094,130095,130096,130141,130142,130196,130197,130198,130199,130204,130205,130208,130209,130219,130220,130229,130230,130244,130245,130248,130249,130279,130280,130283,130284,130287,130288,130311,130312,130366,130367,130371,130372,130377,130378,130381,130382,130384,130385,130387,130388,130389,130390,130417,130418,130420,130421,130423,130424,130425,130426,130427,130428,130642,130643,130645,130646,130658,130659,130661,130662,130663,130664,130665,130666,130682,130683,130700,130701,130814,130815,130817,130818,130821,130822,130823,130824,130825,130826,130827,130828,130843,130844,130845,130846,130847,130848,130873,130874,130875,130876,130884,130885,130890,130891,130939,130940,130949,130950,130956,130957,130981,130982,130988,130989,130998,130999,131005,131006,131014,131015,131055,131056,131060,131061,131067,131068,131069,131072,131073,131566,132229,132230,132243,132244,132259,132260,132288,132289,132299,132300,132337,132338,132610,132611,132684,132685,132758,132759,132802,132803,132806,132807,132808,132809,132810,132811,132812,132813,132814,132815,132817,132818,132824,132825,132830,132831,132906,132907,132910,132911,132916,132917,132918,132919,132920,132921,132922,132923,132924,132925,132926,132927,132933,132934,132935,132936,132957,132958,132981,132982,132983,132984,132995,132996,133039,133040,133091,133092,133411,133412,133519,133520,133521,133522,133530,133531,133536,133537,133549,133550,133564,133565,133608,133609,133622,133623,133668,133669,133680,133681,133788,133789,134105,134106,134204,134205,134242,134243,134272,134273,134292,134293,134301,134302,134486,134487,134629,134630,134640,134641,134658,134659,134668,134669,134803,134804,134810,134811,134840,134841,134871,134872,135061,135062,135068,135069,135075,135076,135081,135082,135086,135087,135100,135101,135109,135110,135114,135115,135145,135146,135163,135164,135194,135195,135249,135250,135267,135268,135298,135299,135318,135319,135327,135328,135335,135336,135359,135360,135409,135410,135421,135422,135426,135427,135431,135432,136237,136238,136242,136243,136247,136248,136264,136265,136269,136270,136276,136277,136281,136282,136287,136288,136293,136294,136298,136299,136304,136305,136310,136311,136315,136316,136320,136321,136326,136327,136332,136333,136338,136339,136344,136345,136349,136350,136355,136356,136361,136362,136366,136367,136372,136373,136378,136379,136383,136384,136389,136390,136395,136396,136400,136401,136406,136407,136412,136413,136417,136418,136423,136424,136429,136430,136434,136435,136440,136441,136446,136447,136451,136452,136457,136458,136463,136464,136468,136469,136474,136475,136480,136481,136485,136486,136491,136492,136497,136498,136502,136503,136508,136509,136514,136515,136519,136520,136525,136526,136531,136532,136539,136540,136547,136548,136561,136562,136567,136568,136590,136591,136620,136621,136663,136664,136700,136701,136707,136708,136766,136767,136771,136772,136790,136791,136795,136796,136969,136970,137139,137140,137146,137147,137161,137162,137171,137172,137181,137182,137191,137192,137201,137202,137211,137212,137221,137222,137231,137232,137241,137242,137251,137252,137266,137267,137276,137277,137286,137287,137301,137302,137311,137312,137321,137322,137331,137332,137341,137342,137351,137352,137361,137362,137371,137372,137381,137382,137391,137392,137406,137407,137416,137417,137426,137427,137436,137437,137446,137447,137461,137462,137471,137472,137481,137482,137491,137492,137506,137507,137516,137517,137526,137527,137536,137537,137551,137552,137561,137562,137571,137572,137581,137582,137591,137592,137606,137607,137616,137617,137626,137627,137636,137637,137646,137647,137656,137657,137665,137666,137680,137681,137690,137691,137700,137701,137710,137711,137720,137721,137730,137731,137740,137741,137750,137751,137760,137761,137775,137776,137785,137786,137795,137796,137805,137806,137815,137816,137825,137826,137835,137836,137845,137846,137855,137856,137865,137866,137875,137876,137890,137891,137900,137901,137910,137911,137920,137921,137930,137931,137940,137941,137955,137956,137965,137966,137975,137976,137985,137986,137995,137996,138005,138006,138015,138016,138025,138026,138040,138041,138050,138051,138060,138061,138070,138071,138085,138086,138100,138101,138110,138111,138120,138121,138130,138131,138140,138141,138150,138151,138160,138161,138175,138176,138185,138186,138195,138196,138205,138206,138220,138221,138230,138231,138240,138241,138250,138251,138265,138266,138275,138276,138285,138286,138295,138296,138310,138311,138320,138321,138330,138331,138340,138341,138350,138351,138360,138361,138375,138376,138385,138386,138395,138396,138405,138406,138415,138416,138430,138431,138440,138441,138450,138451,138460,138461,138470,138471,138480,138481,138495,138496,138505,138506,138515,138516,138525,138526,138535,138536,138545,138546,138560,138561,138570,138571,138580,138581,138590,138591,138600,138601,138610,138611,138620,138621,138630,138631,138640,138641,138650,138651,138665,138666,138675,138676,138685,138686,138695,138696,138705,138706,138715,138716,138725,138726,138735,138736,138745,138746,138755,138756,138770,138771,138780,138781,138790,138791,138800,138801,138810,138811,138820,138821,138830,138831,138840,138841,138850,138851,138860,138861,138875,138876,138885,138886,138895,138896,138905,138906,138915,138916,138925,138926,138935,138936,138945,138946,138955,138956,138970,138971,138980,138981,138990,138991,139000,139001,139010,139011,139020,139021,139030,139031,139040,139041,139050,139051,139060,139061,139070,139071,139080,139081,139090,139091,139105,139106,139115,139116,139125,139126,139135,139136,139145,139146,139155,139156,139165,139166,139175,139176,139185,139186,139200,139201,139210,139211,139220,139221,139230,139231,139240,139241,139250,139251,139260,139261,139275,139276,139285,139286,139295,139296,139305,139306,139315,139316,139325,139326,139335,139336,139345,139346,139355,139356,139365,139366,139375,139376,139385,139386,139400,139401,139410,139411,139420,139421,139430,139431,139440,139441,139450,139451,139460,139461,139470,139471,139480,139481,139490,139491,139505,139506,139515,139516,139525,139526,139535,139536,139550,139551,139560,139561,139570,139571,139580,139581,139590,139591,139600,139601,139610,139611,139620,139621,139630,139631,139640,139641,139655,139656,139665,139666,139675,139676,139685,139686,139695,139696,139705,139706,139715,139716,139725,139726,139740,139741,139750,139751,139760,139761,139770,139771,139780,139781,139790,139791,139805,139806,139815,139816,139825,139826,139835,139836,139845,139846,139855,139856,139865,139866,139875,139876,139885,139886,139900,139901,139910,139911,139920,139921,139930,139931,140041,140042,140105,140106,140110,140111,140117,140118,140131,140132,140138,140139,140197,140198,140219,140220,140233,140234,140266,140267,140360,140361,140375,140376,140385,140386,140430,140431,140463,140464,140474,140475,140481,140482,140487,140488,140601,140602,140621,140622,140627,140628,141304,141305,141324,141325,141337,141338,141351,141352,141415,141416,141421,141422,141428,141429,141435,141436,141443,141444,141513,141514,141522,141523,141530,141531,141550,141551,141572,141573,141842,141843,146665,146666,146695,146696,146703,146704,146818,146819,146841,146842,146892,146893,146922,146923,146947,146948,146961,146962,146967,146968,146981,146982,146986,146987,147022,147023,147029,147030,147036,147037,147045,147046,147055,147056,147064,147065,147121,147122,147140,147141,147172,147173,147178,147179,147190,147191,147246,147247,147259,147260,147428,147429,147443,147444,147519,147520,147578,147579,147600,147601,147645,147646,147660,147661,147665,147666,147671,147672,147677,147678,147683,147684,147689,147690,147695,147696,147703,147704,148006,148007,148011,148012,148039,148040,148053,148054,148058,148059,148065,148066,148075,148076,148107,148108,148113,148114,148120,148121,148128,148129,148136,148137,148141,148142,148146,148147,148153,148154,148160,148161,148167,148168,148173,148174,148179,148180,148185,148186,148191,148192,148197,148198,148202,148203,148208,148209,148214,148215,148220,148221,148226,148227,148233,148234,148239,148240,148245,148246,148250,148251,148257,148258,148264,148265,148271,148272,148281,148282,148291,148292,148299,148300,148305,148306,148319,148320,148329,148330,148335,148336,148343,148344,148349,148350,148355,148356,148361,148362,148368,148369,148373,148374,148379,148380,148385,148386,148390,148391,148396,148397,148402,148403,148407,148408,148412,148413,148418,148419,148423,148424,148431,148432,148438,148439,148443,148444,148449,148450,148592,148593,148605,148606,148634,148635,148656,148657,148695,148696,148837,148838,148871,148872,148878,148879,149014,149015,149033,149034,149070,149071,149080,149081,149102,149103,149352,149353,149394,149395,149407,149408,149415,149416,149422,149423,149428,149429,149437,149438,149444,149445,149476,149477,149494,149495,149509,149510,149518,149519,149525,149526,149532,149533,149551,149552,149583,149584,149608,149609,149657,149658,149669,149670,149676,149677,149691,149692,149694,149695,149702,149703,149712,149713,149719,149720,149745,149746,149765,149766,149783,149784,149813,149814,149818,149819,149823,149824,149828,149829,149842,149843,149845,149846,152311,152312,152314,152315,152319,152320,152325,152326,152332,152333,152388,152389,152391,152392,152803,152804,154023,154024,154031,154032,154210,154211,154215,154216,154223,154224,154267,154268,154289,154290,154294,154295,154299,154300,154309,154310,154315,154316,154321,154322,154330,154331,154365,154366,154370,154371,154381,154382,154389,154390,154394,154395,154400,154401,154581,154582,154618,154619,154626,154627,154645,154646,154672,154673,154701,154702,154709,154710,154715,154716,154727,154728,154748,154749,154755,154756,154784,154785,154824,154825,154832,154833,154844,154845,154910,154911,154929,154930,154963,154964,154968,154969,154977,154978,154983,154984,154993,154994,154999,155000,155029,155030,155169,155170,155180,155181,155185,155186,155191,155192,155211,155212,155213,155214,155225,155226,155234,155235,155246,155247,155254,155255,155261,155262,155268,155269,155280,155281,155287,155288,155295,155296,155303,155304,155310,155311,155315,155316,155322,155323,155327,155328,155335,155336,155342,155343,155354,155355,155359,155360,155368,155369,155376,155377,155383,155384,155390,155391,155398,155399,155406,155407,155412,155413,155419,155420,155426,155427,155428,155429,155466,155467,155504,155505,155544,155545,155547,155548,155549,155550,155551,155552,155564,155565,155566,155567,155568,155569,155590,155591,155602,155603,155604,155605,155606,155607,155731,155732,155733,155734,155740,155741,155742,155743,155744,155745,155746,155747,155748,155749,155750,155751,155759,155760,155765,155766,155772,155773,155779,155780,155792,155793,155799,155800,155820,155821,155832,155833,155834,155835,155885,155886,155892,155893,155898,155899,155953,155954,155959,155960,155965,155966,155972,155973,155978,155979,156153,156154,156161,156162,156167,156168,156173,156174,156180,156181,156190,156191,156245,156246,156258,156259,156288,156289,156294,156295,156301,156302,156307,156308,156315,156316,156321,156322,156327,156328,156333,156334,156410,156411,156429,156430,156505,156506,156511,156512,156518,156519,156724,163840,163842,163921,163922,178340,179118,179119,179526,179527,179623,179624,179629,179630,179634,179635,179639,179640,179644,179645,179651,179652,179672,179673,179677,179678,179704,179705,179710,179711,179766,179767,179776,179777,179794,179795,179812,179813,182722,182723,182749,182750,182756,182757,182770,182771,182786,182787,182794,182795,182810,182811,182826,182827,182848,182849,182883,182884,182938,182939,182988,182989,182994,182995,183000,183001,183006,183007,183018,183019,183135,183136,183175,183176,183234,183235,183296,183297,183589,183590,183918,183919,183925,183926,183947,183948,184194,184195,184236,184237,184288,184289,184295,184296,184302,184303,184990,184991,185018,185019,186457,186458,186466,186467,186475,186476,186557,186558,186581,186582,186599,186600,186740,186741,186758,186759,186793,186794,186800,186801,186807,186808,186816,186817,186832,186833,186858,186859,186870,186871,186983,186984,187039,187040,187046,187047,187137,187138,187333,187334,187369,187370,187379,187380,187521,187522,187709,187710,187716,187717,187755,187756,187779,187780,187840,187841,187851,187852,188026,188027,188033,188034,188239,188240,188327,188328,188420,188421,188721,188722,188809,188810,188925,188926,188936,188937,188942,188943,189115,189116,189186,189187,189212,189213,189248,189249,189253,189254,189261,189262,189266,189267,189405,189406,189433,189434,189443,189444,189448,189449,189454,189455,189460,189461,189465,189466,189471,189472,189478,189479,189484,189485,189490,189491,189496,189497,189501,189502,189507,189508,189513,189514,189518,189519,189523,189524,189528,189529,189534,189535,189540,189541,189546,189547,189551,189552,189556,189557,189561,189562,189576,189577,189583,189584,189643,189644,189686,189687,189710,189711,189722,189723,189728,189729,189737,189738,189744,189745,189754,189755,189761,189762,189808,189809,189827,189828,189833,189834,189841,189842,189877,189878,189883,189884,189894,189895,190006,190007,190014,190015,190022,190023,190034,190035,190134,190135,190139,190140,190148,190149,190236,190237,190244,190245,190370,190371,190762,190763,191039,191040,191048,191049,191066,191067,191101,191102,191168,191169,191183,191184,191198,191199,191241,191242,191270,191271,191503,191504,191509,191510,191514,191515,191575,191576,191610,191611,191624,191625,191630,191631,191654,191655,191684,191685,191697,191698,191705,191706,191741,191742,191758,191759,191764,191765,191777,191778,191802,191803,191836,191837,191846,191847,192047,192048,192132,192133,192140,192141,192157,192158,192165,192166,192174,192175,192194,192195,192342,192343,192354,192355,192362,192363,192367,192368,192393,192394,192409,192410,192436,192437,192456,192457,192464,192465,192489,192490,192509,192510,192525,192526,192550,192551,192556,192557,192565,192566,192575,192576,192586,192587,192592,192593,192604,192605,192612,192613,192621,192622,192626,192627,192647,192648,192654,192655,192700,192701,192714,192715,192771,192772,192789,192790,193999,194000,194004,194005,194011,194012,194069,194070,194091,194092,194101,194102,195269,195270,195280,195281,195317,195318,195355,195356,195360,195361,195368,195369,195374,195375,195546,195547,195575,195576,195584,195585,195596,195597,195601,195602,195613,195614,195619,195620,195633,195634,195646,195647,195662,195663,195667,195668,195684,195685,195696,195697,195702,195703,195715,195716,195737,195738,195743,195744,195750,195751,195765,195766,195798,195799,195817,195818,195844,195845,195850,195851,195855,195856,195862,195863,195890,195891,195896,195897,195983,195984,195995,195996,196012,196013,196030,196031,196039,196040,196047,196048,196172,196173,196212,196213,196580,196581,196597,196598,196602,196608,196609,229376,229378,229457,229458,229951,230895,230896,230905,230906,230941,230942,230946,230947,230987,230988,231039,231040,231116,231117,231200,231201,231232,231233,231253,231254,231289,231290,231376,231377,231484,231485,231493,231494,231529,231530,231537,231538,231547,231548,231669,231670,231691,231692,231724,231725,231755,231756,231797,231798,231807,231808,231815,231816,231824,231825,231925,231926,232049,232050,232099,232100,232106,232107,232112,232113,232119,232120,232198,232199,232203,232204,232209,232210,232214,232215,232224,232225,232233,232234,232241,232242,232248,232249,232261,232262,232274,232275,232281,232282,232341,232342,232365,232366,232388,232389,232395,232396,232421,232422,232601,232602,232633,232634,232657,232658,232859,232860,232865,232866,232871,232872,232921,232922,232986,232987,233035,233036,233050,233051,233057,233058,233249,233250,233274,233275,233285,233286,233293,233294,233303,233304,233309,233310,233313,233314,233316,233317,233319,233320,233322,233323,233326,233327,233330,233331,233333,233334,233341,233342,233360,233361,233382,233383,233390,233391,233397,233398,233405,233406,233417,233418,233424,233425,233438,233439,233449,233450,233454,233455,233465,233466,233472,233473,233480,233481,233487,233488,233491,233492,233495,233496,233500,233501,233505,233506,233509,233510,233514,233515,233518,233519,233523,233524,233528,233529,233541,233542,233549,233550,233551,233552,234582,234583,234591,234592,234600,234601,234609,234610,234615,234616,234617,234618,234625,234626,234644,234645,234650,234651,234655,234656,234661,234662,234673,234674,234680,234681,234686,234687,234697,234698,234703,234704,234705,234706,234707,234708,234709,234710,234714,234715,234717,234718,234724,234725,234728,234729,234736,234737,234740,234741,234770,234771,234784,234785,234809,234810,234846,234847,234873,234874,234918,234919,234943,234944,234955,234956,234984,234985,235011,235012,235024,235025,235026,235027,235030,235031,235033,235034,235036,235037,235040,235041,235044,235045,235052,235053,235055,235056,235060,235061,235070,235071,235075,235076,235081,235082,235086,235087,235092,235093,235096,235097,235101,235102,235106,235107,235114,235115,235120,235121,235124,235125,235130,235131,235135,235136,235139,235140,235145,235146,235150,235151,235155,235156,235159,235160,235166,235167,235170,235171,235176,235177,235183,235184,235187,235188,235198,235199,235201,235202,235207,235208,235212,235213,235228,235229,235232,235233,235237,235238,235243,235244,235249,235250,235255,235256,235261,235262,235266,235267,235269,235270,235276,235277,235283,235284,235290,235291,235295,235296,235303,235304,235310,235311,235314,235315,235321,235322,235328,235329,235336,235337,235340,235341,235351,235352,235355,235356,235367,235368,235371,235372,235376,235377,235382,235383,235388,235389,235395,235396,235404,235405,235410,235411,235418,235419,235423,235424,235426,235427,235431,235432,235437,235438,235443,235444,235451,235452,235459,235460,235463,235464,235472,235473,235474,235475,235482,235483,235490,235491,235497,235498,235554,235555,235577,235578,235585,235586,235595,235596,235603,235604,235612,235613,235625,235626,235637,235638,235648,235649,235661,235662,235670,235671,235679,235680,235690,235691,235701,235702,235710,235711,235719,235720,235724,235725,235732,235733,235743,235744,235754,235755,235765,235766,235817,235818,235826,235827,235835,235836,235851,235852,235856,235857,235870,235871,235879,235880,235923,235924,235937,235938,235954,235955,235964,235965,235973,235974,236002,236003,236015,236016,236026,236027,236040,236041,236051,236052,236063,236064,236078,236079,236090,236091,236108,236109,236115,236116,236120,236121,236162,236163,236173,236174,236183,236184,236195,236196,236206,236207,236214,236215,236224,236225,236236,236237,236248,236249,236253,236254,236263,236264,236273,236274,236284,236285,236292,236293,236301,236302,236316,236317,236345,236346,236356,236357,236379,236380,236438,236439,236453,236454,236459,236460,236504,236505,236518,236519,236534,236535,236550,236551,236557,236558,236571,236572,236583,236584,236596,236597,236605,236606,236617,236618,236628,236629,236656,236657,236735,236736,236747,236748,236758,236759,236770,236771,236779,236780,236802,236803,236810,236811,236821,236822,236831,236832,236850,236851,236894,236895,236904,236905,236917,236918,236925,236926,236962,236963,237009,237010,237018,237019,237024,237025,237033,237034,237054,237055,237061,237062,237063,237064,237066,237067,237069,237070,237072,237073,237076,237077,237079,237080,237082,237083,237085,237086,237089,237090,237094,237095,237097,237098,237101,237102,237104,237105,237107,237108,237110,237111,237114,237115,237117,237118,237121,237122,237123,237124,237125,237126,237188,237189,237190,237191,237192,237193,237203,237204,237205,237206,237247,237248,237249,237250,237251,237252,237471,237472,237473,237474,237507,237508,237509,237510,237511,237512,237747,237748,237749,237750,237758,237759,237760,237761,237762,237763,237776,237777,237778,237779,237811,237812,237813,237814,237815,237816,237823,237824,237825,237826,238434,238435,238436,238437,238438,238439,238523,238524,238525,238526,238592,238593,238594,238595,238596,238597,238691,238692,238693,238694,240649,240650,240651,240652,240653,240654,242179,242180,242181,242182,242329,242330,242331,242332,242333,242334,243024,243025,243026,243027,243034,243035,243036,243037,243038,243039,243040,243041,243042,243043,243055,243056,243057,243058,245646,245647,245648,245649,245650,245651,248015,248016,248017,248018,248501,248502,248503,248504,248505,248506,249401,249402,249403,249404,249561,249562,249563,249564,249565,249566,249842,249843,249844,249845,250828,250829,250830,250831,250832,250833,251419,251420,251421,251422,251428,251429,251430,251431,251432,251433,251443,251444,251445,251446,251459,251460,251461,251462,251463,251464,251498,251499,251500,251501,251507,251508,251509,251510,251511,251512,251523,251524,251525,251526,251586,251587,251588,251589,251590,251591,251597,251598,251599,251600,251834,251835,251836,251837,251838,251839,251996,251997,251998,251999,252046,252047,252048,252049,252050,252051,252184,252185,252186,252187,253866,253867,253868,253869,253870,253871,255178,255179,255180,255181,255191,255192,255193,255194,255195,255196,255247,255248,255249,255250,255286,255287,255288,255289,255290,255291,255292,255293,255294,255295,255351,255352,255353,255354,255359,255360,255361,255362,255363,255364,255387,255388,255389,255390,256804,256805,256806,256807,256808,256809,257858,257859,257860,257861,257864,257865,257866,257867,257868,257869,257882,257883,257884,257885,257891,257892,257893,257894,257895,257896,257912,257913,257914,257915,257927,257928,257929,257930,257931,257932,258012,258013,258014,258015,258016,258017,258018,258019,260417,260418,260419,260420,260463,260464,260465,260466,260467,260468,260585,260586,260587,260588,260591,260592,260593,260594,260595,260596,260607,260608,260609,260610,260671,260672,260673,260674,260675,260676,260765,260766,260767,260768,260901,260902,260903,260904,260905,260906,261152,261153,261154,261155,261166,261167,261168,261169,261170,261171,261214,261215,261216,261217,261218,261219,261220,261221,262133,262134,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:c05bb51e0afc11727a188b55bb190bbe81690f1d:16276776:fe07e75cfbb3eef66b35fc6b643bfad0c1372c20",
            "-", fe07e75cfbb3eef66b35fc6b643bfad0c1372c20, 16276776,
            c05bb51e0afc11727a188b55bb190bbe81690f1d,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16276776:c05bb51e0afc11727a188b55bb190bbe81690f1d:16276776:fe07e75cfbb3eef66b35fc6b643bfad0c1372c20");

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

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