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/017/t470p12011456:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/017/t470p12011456:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/017/t470p12011456:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16209192:fe6607552c3b90bb33a5e3d9861884be34a943a8:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16209192:fe6607552c3b90bb33a5e3d9861884be34a943a8:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed\" 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", "3920,1,80,81,307,575,938,939,941,1273,1279,1317,1480,1570,1836,1837,1838,1839,2055,3161,3163,3164,3165,3166,3167,3168,3169,3170,3171,3180,3181,3182,3287,3288,3289,3290,3291,3384,3385,3386,3392,3393,3394,3395,3396,3397,3398,3399,3400,3417,3418,3419,3436,3437,3438,3439,3440,3450,3451,3452,3504,3505,3506,3507,3508,3520,3521,3522,3524,3525,3526,3527,3528,3538,3539,3540,3552,3553,3554,3555,3556,3592,3593,3594,3601,3602,3603,3604,3605,3648,3649,3650,3674,3675,3676,3677,3678,3730,3731,3740,3741,3742,3743,3781,3782,3783,3793,3794,3795,3796,3797,3798,3799,3800,3877,3878,3879,3880,3881,4114,4115,7001,7002,7003,7005,7006,7007,7008,7009,7018,7019,7020,7026,7027,7028,7029,7030,7058,7059,7060,7123,7124,7125,7126,7127,7195,7196,7197,7203,7204,7205,7206,7207,7236,7237,7238,7242,7243,7244,7245,7246,7267,7268,7269,7271,7272,7273,7274,7275,7283,7284,7285,7289,7290,7291,7292,7293,7311,7312,7317,7318,7319,7320,7332,7333,7334,7337,7338,7339,7340,7341,7356,7357,7358,7362,7363,7364,7365,7366,7379,7380,7381,7382,7383,7384,7450,7461,7462,7463,7464,7465,7466,7467,7476,7478,7479,7480,7481,7483,7484,7485,7486,7487,7488,7489,7538,7547,7548,7549,7550,7551,7552,7553,7607,7617,7618,7619,7620,7621,7622,7623,19573,19575,20848,20849,20892,20893,20923,20924,21252,21253,22221,22255,22829,22830,22935,22936,23228,23229,23441,23442,24362,24365,24366,24367,24433,24434,24435,24436,24602,24603,24747,24748,24921,24922,25093,25094,25454,25455,25472,25714,25717,25718,25727,25728,25729,25730,25747,25748,25769,25770,25879,25880,25918,25919,25922,25923,25934,25935,26401,26402,26403,26404,26426,26427,26448,26449,26688,26689,27801,27802,28098,28099,28217,28218,28695,28696,28697,28698,29223,29224,29239,29240,29271,29272,29333,29334,29340,29341,32750,32751,32768,32770,32849,32850,65536,65537,74222,74956,74957,78521,84212,85049,85583,85584,85585,85586,85587,85762,85763,85764,85765,85845,85846,85847,85848,85849,85850,85956,85957,85958,85959,85983,85984,85985,85986,85987,85988,85998,85999,86000,86001,86148,86149,86150,86151,86152,86153,87021,87022,87023,87024,87025,87026,87027,87028,87062,87063,87070,87071,87072,87073,87074,87075,87076,87077,87109,87110,87164,87165,87200,87201,87202,87203,87204,87205,87206,87207,87208,87209,87210,87211,87212,87213,87214,87215,87216,87217,87218,87219,87220,87221,87222,87223,87224,87225,87226,87227,87228,87229,87230,87231,87232,87233,87234,87235,87236,87237,87393,87394,87502,87503,87646,87647,87748,87749,87939,87940,88099,88100,88163,88164,88312,88313,88517,88518,88612,88613,88767,88768,88830,88831,88832,88833,88834,88835,88836,88837,88838,88839,88840,88841,88842,88843,88852,88853,88854,88855,88857,88858,88859,88860,88887,88888,88889,88890,88916,88917,88918,88919,88946,88947,88948,88949,88961,88962,88963,88964,88972,88973,88974,88975,88979,88980,88981,88982,88988,88989,88990,88991,88992,88993,88994,88995,88997,88998,88999,89000,89009,89010,89011,89012,89013,89014,89015,89016,89017,89018,89019,89020,89021,89022,89023,89024,89102,89103,89104,89105,89106,89107,89108,89109,89110,89111,89112,89113,89114,89115,89116,89117,89119,89120,89121,89122,89123,89124,89125,89126,89162,89163,89164,89165,89201,89202,89203,89204,89205,89206,89207,89208,89209,89210,89211,89212,89213,89214,89216,89217,89219,89220,89221,89222,89223,89224,89225,89226,89227,89228,89229,89230,89231,89232,89233,89234,89235,89236,89237,89238,89239,89240,94661,94662,94663,94664,94665,94666,94667,94668,94669,94670,94671,94672,94676,94677,94680,94681,94685,94686,94690,94691,94695,94696,94697,94698,94699,94700,94703,94704,94705,94706,94707,94708,94709,94710,94711,94712,94713,94714,94715,94716,94717,94718,94719,94720,94721,94722,94723,94724,94725,94726,94727,94728,94729,94730,94731,94732,94733,94734,94735,94736,94737,94738,94739,94740,94741,94742,94743,94744,94745,94746,94747,94748,94749,94750,94751,94752,94753,94754,94755,94756,94757,94758,94759,94760,94761,94762,94763,94764,94765,94766,94767,94768,94769,94770,94771,94772,94773,94774,94775,94776,94777,94778,94779,94780,94784,94785,94790,94791,94792,94793,94916,94917,94918,94919,94920,94921,94922,94923,94924,94925,94926,94927,94928,94929,94931,94932,94933,94934,94936,94937,94938,94939,94941,94942,94943,94944,94946,94947,94948,94949,94951,94952,94953,94954,94956,94957,94958,94959,94961,94962,94963,94964,94965,94966,94967,94968,94969,94970,94971,94972,94978,94979,94980,94981,94982,94983,94989,94990,94991,94992,95073,95074,95075,95076,95077,95078,95464,95465,95466,95467,95469,95470,95471,95472,95473,95474,95480,95481,95482,95483,95488,95489,95490,95491,95492,95493,95510,95511,95512,95513,95543,95544,95545,95546,95547,95548,95567,95568,95569,95570,95580,95581,95582,95583,95584,95585,95608,95609,95610,95611,95612,95613,95614,95615,95617,95618,95619,95620,95624,95625,95626,95627,95629,95630,95631,95632,95634,95635,95636,95637,95639,95640,95641,95642,95644,95645,95646,95647,95649,95650,95651,95652,95654,95655,95656,95657,95660,95661,95662,95663,95665,95666,95667,95668,95671,95672,95673,95674,95676,95677,95678,95679,95689,95690,95691,95692,95693,95694,95695,95696,95697,95698,95699,95700,95701,95702,95707,95708,95709,95710,95711,95712,95719,95720,95721,95722,95744,95745,95746,95747,95748,95749,95794,95795,95796,95797,95811,95812,95813,95814,95815,95816,95832,95833,95834,95835,95836,95837,95838,95839,95852,95853,95854,95855,95857,95858,95859,95860,95862,95863,95864,95865,95867,95868,95869,95870,95872,95873,95874,95875,95877,95878,95879,95880,95882,95883,95884,95885,95887,95888,95889,95890,95892,95893,95894,95895,95897,95898,95899,95900,95907,95908,95909,95910,95912,95913,95914,95915,95916,95917,95918,95919,95920,95921,95922,95923,95924,95925,95930,95931,95932,95933,95934,95935,95942,95943,95944,95945,95949,95950,95951,95952,95953,95954,95961,95962,95963,95964,95965,95966,95967,95968,95970,95971,95972,95973,95975,95976,95977,95978,95980,95981,95982,95983,95985,95986,95987,95988,95990,95991,95992,95993,95995,95996,95997,95998,96106,96107,96108,96109,96110,96111,96112,96113,96114,96115,96116,96117,96118,96119,96120,96121,96122,96123,96124,96125,96126,96127,96128,96129,96137,96138,96139,96140,96148,96149,96150,96151,96152,96153,96160,96161,96162,96163,96170,96171,96172,96173,96174,96175,96176,96177,96178,96179,96180,96181,96190,96191,96192,96193,96194,96195,96211,96212,96213,96214,96216,96217,96218,96219,96221,96222,96223,96224,96226,96227,96228,96229,96234,96235,96236,96237,96239,96240,96241,96242,96243,96244,96245,96246,96251,96252,96253,96254,96255,96256,96266,96267,96268,96269,96294,96295,96296,96297,96298,96299,96385,96386,96387,96388,96451,96452,96453,96454,96455,96456,96607,96608,96609,96610,96625,96626,96627,96628,96629,96630,96649,96650,96651,96652,96653,96654,96655,96656,96961,96962,97026,97027,97028,97029,97116,97117,97780,97781,97786,97787,97792,97793,97803,97804,97817,97818,97833,97834,97862,97863,97873,97874,97911,97912,98184,98185,98186,98187,98188,98189,98190,98191,98264,98265,98266,98267,98270,98271,98272,98273,98274,98275,98276,98277,98278,98279,98281,98282,98288,98289,98294,98295,98298,98299,98300,98301,98302,98304,98306,98385,98386,104971,104972,124027,125633,125685,125686,125687,125688,130067,130070,130075,130076,130093,130094,130123,130124,131067,131068,131069,131070,131072,131073,163840,163842,163921,163922,164415,172777,196608,196609,197102,197145,229376,229378,229457,229458,231739,231761,231762,231781,231782,231803,231804,231821,231822,231825,231826,231829,231830,231832,231833,231836,231837,231840,231841,231844,231845,231849,231850,231852,231853,231855,231856,231859,231860,231863,231864,231866,231867,231886,231887,231905,231906,231939,231940,231959,231960,231978,231979,231998,231999,232002,232003,232005,232006,232017,232018,232024,232025,232038,232039,232049,232050,232066,232067,232088,232089,232107,232108,232127,232128,232146,232147,232150,232151,232157,232158,232163,232164,232167,232168,232171,232172,232175,232176,232179,232180,232184,232185,232189,232190,232193,232194,232198,232199,232202,232203,232207,232208,232212,232213,232225,232226,232230,232231,232243,232244,232263,232264,233294,233295,233298,233299,233305,233306,233326,233327,233330,233331,233334,233335,233347,233348,233352,233353,233358,233359,233363,233364,233367,233368,233371,233372,233380,233381,233401,233402,233419,233420,233423,233424,233429,233430,233435,233436,233443,233444,233447,233448,233455,233456,233462,233463,233464,233465,233472,233473,233491,233492,233497,233498,233502,233503,233508,233509,233520,233521,233527,233528,233533,233534,233544,233545,233550,233551,233552,233553,233554,233555,233556,233557,233561,233562,233564,233565,233571,233572,233575,233576,233583,233584,233587,233588,233617,233618,233631,233632,233656,233657,233693,233694,233720,233721,233765,233766,233790,233791,233802,233803,233831,233832,233858,233859,233871,233872,233873,233874,233877,233878,233880,233881,233883,233884,233887,233888,233891,233892,233899,233900,233902,233903,233907,233908,233917,233918,233922,233923,233928,233929,233933,233934,233939,233940,233943,233944,233948,233949,233953,233954,233961,233962,233967,233968,233971,233972,233977,233978,233982,233983,233986,233987,233992,233993,233997,233998,234002,234003,234006,234007,234013,234014,234017,234018,234023,234024,234030,234031,234034,234035,234045,234046,234048,234049,234054,234055,234059,234060,234075,234076,234079,234080,234084,234085,234090,234091,234096,234097,234102,234103,234108,234109,234113,234114,234116,234117,234123,234124,234130,234131,234137,234138,234142,234143,234150,234151,234157,234158,234161,234162,234168,234169,234175,234176,234183,234184,234187,234188,234198,234199,234202,234203,234214,234215,234218,234219,234223,234224,234229,234230,234235,234236,234242,234243,234251,234252,234257,234258,234265,234266,234270,234271,234273,234274,234278,234279,234284,234285,234290,234291,234298,234299,234306,234307,234310,234311,234319,234320,234321,234322,234329,234330,234337,234338,234344,234345,234401,234402,234424,234425,234432,234433,234442,234443,234450,234451,234459,234460,234472,234473,234484,234485,234495,234496,234508,234509,234517,234518,234526,234527,234537,234538,234548,234549,234557,234558,234566,234567,234571,234572,234579,234580,234590,234591,234601,234602,234612,234613,234664,234665,234673,234674,234682,234683,234698,234699,234703,234704,234717,234718,234726,234727,234770,234771,234784,234785,234801,234802,234811,234812,234820,234821,234849,234850,234862,234863,234873,234874,234887,234888,234898,234899,234910,234911,234925,234926,234937,234938,234955,234956,234962,234963,234967,234968,235009,235010,235020,235021,235030,235031,235042,235043,235053,235054,235061,235062,235071,235072,235083,235084,235095,235096,235100,235101,235110,235111,235120,235121,235131,235132,235139,235140,235148,235149,235163,235164,235192,235193,235203,235204,235226,235227,235285,235286,235300,235301,235306,235307,235351,235352,235365,235366,235381,235382,235397,235398,235404,235405,235418,235419,235430,235431,235443,235444,235452,235453,235464,235465,235475,235476,235503,235504,235582,235583,235594,235595,235605,235606,235617,235618,235626,235627,235649,235650,235657,235658,235668,235669,235678,235679,235697,235698,235741,235742,235751,235752,235764,235765,235772,235773,235809,235810,235856,235857,235865,235866,235871,235872,235880,235881,235901,235902,235908,235909,235910,235911,235913,235914,235916,235917,235919,235920,235923,235924,235926,235927,235929,235930,235932,235933,235936,235937,235941,235942,235944,235945,235948,235949,235951,235952,235954,235955,235957,235958,235961,235962,235964,235965,235968,235969,235970,235971,235972,235973,236035,236036,236037,236038,236039,236040,236050,236051,236052,236053,236094,236095,236096,236097,236098,236099,236318,236319,236320,236321,236354,236355,236356,236357,236358,236359,236594,236595,236596,236597,236605,236606,236607,236608,236609,236610,236623,236624,236625,236626,236658,236659,236660,236661,236662,236663,236670,236671,236672,236673,237281,237282,237283,237284,237285,237286,237370,237371,237372,237373,237439,237440,237441,237442,237443,237444,237538,237539,237540,237541,239496,239497,239498,239499,239500,239501,241026,241027,241028,241029,241176,241177,241178,241179,241180,241181,241871,241872,241873,241874,241881,241882,241883,241884,241885,241886,241887,241888,241889,241890,241902,241903,241904,241905,244493,244494,244495,244496,244497,244498,246862,246863,246864,246865,247348,247349,247350,247351,247352,247353,248248,248249,248250,248251,248408,248409,248410,248411,248412,248413,248689,248690,248691,248692,249675,249676,249677,249678,249679,249680,250266,250267,250268,250269,250275,250276,250277,250278,250279,250280,250290,250291,250292,250293,250306,250307,250308,250309,250310,250311,250345,250346,250347,250348,250354,250355,250356,250357,250358,250359,250370,250371,250372,250373,250433,250434,250435,250436,250437,250438,250444,250445,250446,250447,250681,250682,250683,250684,250685,250686,250843,250844,250845,250846,250893,250894,250895,250896,250897,250898,251031,251032,251033,251034,252713,252714,252715,252716,252717,252718,254025,254026,254027,254028,254038,254039,254040,254041,254042,254043,254094,254095,254096,254097,254133,254134,254135,254136,254137,254138,254139,254140,254141,254142,254198,254199,254200,254201,254206,254207,254208,254209,254210,254211,254234,254235,254236,254237,255651,255652,255653,255654,255655,255656,256705,256706,256707,256708,256711,256712,256713,256714,256715,256716,256729,256730,256731,256732,256738,256739,256740,256741,256742,256743,256759,256760,256761,256762,256774,256775,256776,256777,256778,256779,256859,256860,256861,256862,256863,256864,256865,256866,259264,259265,259266,259267,259310,259311,259312,259313,259314,259315,259432,259433,259434,259435,259438,259439,259440,259441,259442,259443,259454,259455,259456,259457,259518,259519,259520,259521,259522,259523,259612,259613,259614,259615,259748,259749,259750,259751,259752,259753,259999,260000,260001,260002,260013,260014,260015,260016,260017,260018,260061,260062,260063,260064,261121,261122,261123,261124,261125,261126,262038,262039,262040,262041,262042,262043,262044,262045,262046,262047,262048,262049,262050,262051,262052,262053,262054,262055,262056,262057,262058,262059,262068,262069,262070,262071,262072,262073,262082,262083,262084,262085,262142,262144,262145,262714,262719,262720,262721,262722,262723,262724,262725,262726,262732,262733,262734,262735,262756,262757,262780,262781,262782,262783,262794,262795,262838,262839,262890,262891,263210,263211,263318,263319,263320,263321,263329,263330,263335,263336,263348,263349,263363,263364,263407,263408,263421,263422,263467,263468,263479,263480,263587,263588,263904,263905,264003,264004,264041,264042,264071,264072,264091,264092,264100,264101,264285,264286,264428,264429,264439,264440,264457,264458,264467,264468,264602,264603,264609,264610,264639,264640,264670,264671,264860,264861,264867,264868,264874,264875,264880,264881,264885,264886,264899,264900,264908,264909,264913,264914,264944,264945,264962,264963,264993,264994,265048,265049,265066,265067,265097,265098,265117,265118,265126,265127,265134,265135,265158,265159,265208,265209,265220,265221,265225,265226,265230,265231,266036,266037,266041,266042,266046,266047,266063,266064,266068,266069,266075,266076,266080,266081,266086,266087,266092,266093,266097,266098,266103,266104,266109,266110,266114,266115,266119,266120,266125,266126,266131,266132,266137,266138,266143,266144,266148,266149,266154,266155,266160,266161,266165,266166,266171,266172,266177,266178,266182,266183,266188,266189,266194,266195,266199,266200,266205,266206,266211,266212,266216,266217,266222,266223,266228,266229,266233,266234,266239,266240,266245,266246,266250,266251,266256,266257,266262,266263,266267,266268,266273,266274,266279,266280,266284,266285,266290,266291,266296,266297,266301,266302,266307,266308,266313,266314,266318,266319,266324,266325,266330,266331,266338,266339,266346,266347,266360,266361,266366,266367,266389,266390,266419,266420,266462,266463,266499,266500,266506,266507,266565,266566,266570,266571,266589,266590,266594,266595,266768,266769,266938,266939,266945,266946,266960,266961,266970,266971,266980,266981,266990,266991,267000,267001,267010,267011,267020,267021,267030,267031,267040,267041,267050,267051,267065,267066,267075,267076,267085,267086,267100,267101,267110,267111,267120,267121,267130,267131,267140,267141,267150,267151,267160,267161,267170,267171,267180,267181,267190,267191,267205,267206,267215,267216,267225,267226,267235,267236,267245,267246,267260,267261,267270,267271,267280,267281,267290,267291,267305,267306,267315,267316,267325,267326,267335,267336,267350,267351,267360,267361,267370,267371,267380,267381,267390,267391,267405,267406,267415,267416,267425,267426,267435,267436,267445,267446,267455,267456,267464,267465,267479,267480,267489,267490,267499,267500,267509,267510,267519,267520,267529,267530,267539,267540,267549,267550,267559,267560,267574,267575,267584,267585,267594,267595,267604,267605,267614,267615,267624,267625,267634,267635,267644,267645,267654,267655,267664,267665,267674,267675,267689,267690,267699,267700,267709,267710,267719,267720,267729,267730,267739,267740,267754,267755,267764,267765,267774,267775,267784,267785,267794,267795,267804,267805,267814,267815,267824,267825,267839,267840,267849,267850,267859,267860,267869,267870,267884,267885,267899,267900,267909,267910,267919,267920,267929,267930,267939,267940,267949,267950,267959,267960,267974,267975,267984,267985,267994,267995,268004,268005,268019,268020,268029,268030,268039,268040,268049,268050,268064,268065,268074,268075,268084,268085,268094,268095,268109,268110,268119,268120,268129,268130,268139,268140,268149,268150,268159,268160,268174,268175,268184,268185,268194,268195,268204,268205,268214,268215,268229,268230,268239,268240,268249,268250,268259,268260,268269,268270,268279,268280,268294,268295,268304,268305,268314,268315,268324,268325,268334,268335,268344,268345,268359,268360,268369,268370,268379,268380,268389,268390,268399,268400,268409,268410,268419,268420,268429,268430,268439,268440,268449,268450,268464,268465,268474,268475,268484,268485,268494,268495,268504,268505,268514,268515,268524,268525,268534,268535,268544,268545,268554,268555,268569,268570,268579,268580,268589,268590,268599,268600,268609,268610,268619,268620,268629,268630,268639,268640,268649,268650,268659,268660,268674,268675,268684,268685,268694,268695,268704,268705,268714,268715,268724,268725,268734,268735,268744,268745,268754,268755,268769,268770,268779,268780,268789,268790,268799,268800,268809,268810,268819,268820,268829,268830,268839,268840,268849,268850,268859,268860,268869,268870,268879,268880,268889,268890,268904,268905,268914,268915,268924,268925,268934,268935,268944,268945,268954,268955,268964,268965,268974,268975,268984,268985,268999,269000,269009,269010,269019,269020,269029,269030,269039,269040,269049,269050,269059,269060,269074,269075,269084,269085,269094,269095,269104,269105,269114,269115,269124,269125,269134,269135,269144,269145,269154,269155,269164,269165,269174,269175,269184,269185,269199,269200,269209,269210,269219,269220,269229,269230,269239,269240,269249,269250,269259,269260,269269,269270,269279,269280,269289,269290,269304,269305,269314,269315,269324,269325,269334,269335,269349,269350,269359,269360,269369,269370,269379,269380,269389,269390,269399,269400,269409,269410,269419,269420,269429,269430,269439,269440,269454,269455,269464,269465,269474,269475,269484,269485,269494,269495,269504,269505,269514,269515,269524,269525,269539,269540,269549,269550,269559,269560,269569,269570,269579,269580,269589,269590,269604,269605,269614,269615,269624,269625,269634,269635,269644,269645,269654,269655,269664,269665,269674,269675,269684,269685,269699,269700,269709,269710,269719,269720,269729,269730,269840,269841,269904,269905,269909,269910,269916,269917,269930,269931,269937,269938,269996,269997,270018,270019,270032,270033,270065,270066,270159,270160,270174,270175,270184,270185,270229,270230,270262,270263,270273,270274,270280,270281,270286,270287,270400,270401,270420,270421,270426,270427,271103,271104,271123,271124,271136,271137,271150,271151,271214,271215,271220,271221,271227,271228,271234,271235,271242,271243,271312,271313,271321,271322,271329,271330,271349,271350,271371,271372,271641,271642,276464,276465,276494,276495,276502,276503,276617,276618,276640,276641,276691,276692,276721,276722,276746,276747,276760,276761,276766,276767,276780,276781,276785,276786,276821,276822,276828,276829,276835,276836,276844,276845,276854,276855,276863,276864,276920,276921,276939,276940,276971,276972,276977,276978,276989,276990,277045,277046,277058,277059,277227,277228,277242,277243,277318,277319,277377,277378,277399,277400,277444,277445,277459,277460,277464,277465,277470,277471,277476,277477,277482,277483,277488,277489,277494,277495,277502,277503,277805,277806,277810,277811,277838,277839,277852,277853,277857,277858,277864,277865,277874,277875,277906,277907,277912,277913,277919,277920,277927,277928,277935,277936,277940,277941,277945,277946,277952,277953,277959,277960,277966,277967,277972,277973,277978,277979,277984,277985,277990,277991,277996,277997,278001,278002,278007,278008,278013,278014,278019,278020,278025,278026,278032,278033,278038,278039,278044,278045,278049,278050,278056,278057,278063,278064,278070,278071,278080,278081,278090,278091,278098,278099,278104,278105,278118,278119,278128,278129,278134,278135,278142,278143,278148,278149,278154,278155,278160,278161,278167,278168,278172,278173,278178,278179,278184,278185,278189,278190,278195,278196,278201,278202,278206,278207,278211,278212,278217,278218,278222,278223,278230,278231,278237,278238,278242,278243,278248,278249,278391,278392,278404,278405,278433,278434,278455,278456,278494,278495,278636,278637,278670,278671,278677,278678,278813,278814,278832,278833,278869,278870,278879,278880,278901,278902,279151,279152,279193,279194,279206,279207,279214,279215,279221,279222,279227,279228,279236,279237,279243,279244,279275,279276,279293,279294,279308,279309,279317,279318,279324,279325,279331,279332,279350,279351,279382,279383,279407,279408,279456,279457,279468,279469,279475,279476,279490,279491,279493,279494,279501,279502,279511,279512,279518,279519,279544,279545,279564,279565,279582,279583,279612,279613,279617,279618,279622,279623,279627,279628,279641,279642,279644,279645,282110,282111,282113,282114,282118,282119,282124,282125,282131,282132,282187,282188,282190,282191,282602,282603,283822,283823,283830,283831,284009,284010,284014,284015,284022,284023,284066,284067,284088,284089,284093,284094,284098,284099,284108,284109,284114,284115,284120,284121,284129,284130,284164,284165,284169,284170,284180,284181,284188,284189,284193,284194,284199,284200,284380,284381,284417,284418,284425,284426,284444,284445,284471,284472,284500,284501,284508,284509,284514,284515,284526,284527,284547,284548,284554,284555,284583,284584,284623,284624,284631,284632,284643,284644,284709,284710,284728,284729,284762,284763,284767,284768,284776,284777,284782,284783,284792,284793,284798,284799,284828,284829,284968,284969,284979,284980,284984,284985,284990,284991,285010,285011,285012,285013,285024,285025,285033,285034,285045,285046,285053,285054,285060,285061,285067,285068,285079,285080,285086,285087,285094,285095,285102,285103,285109,285110,285114,285115,285121,285122,285126,285127,285134,285135,285141,285142,285153,285154,285158,285159,285167,285168,285175,285176,285182,285183,285189,285190,285197,285198,285205,285206,285211,285212,285218,285219,285225,285226,285227,285228,285265,285266,285303,285304,285343,285344,285346,285347,285348,285349,285350,285351,285363,285364,285365,285366,285367,285368,285389,285390,285401,285402,285403,285404,285405,285406,285530,285531,285532,285533,285539,285540,285541,285542,285543,285544,285545,285546,285547,285548,285549,285550,285558,285559,285564,285565,285571,285572,285578,285579,285591,285592,285598,285599,285619,285620,285631,285632,285633,285634,285684,285685,285691,285692,285697,285698,285752,285753,285758,285759,285764,285765,285771,285772,285777,285778,285952,285953,285960,285961,285966,285967,285972,285973,285979,285980,285989,285990,286044,286045,286057,286058,286087,286088,286093,286094,286100,286101,286106,286107,286114,286115,286120,286121,286126,286127,286132,286133,286209,286210,286228,286229,286304,286305,286310,286311,286317,286318,286523,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300461,300465,300466,300467,300468,300469,300482,300483,300484,300495,300496,300497,300498,300499,300514,300515,300516,301302,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305218,305274,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305462,305467,305468,305469,305470,305471,305487,305488,305489,305497,305498,305499,305500,305501,305520,305521,305947,305948,305949,305959,305960,305961,305962,305963,305983,305984,305985,306004,306005,306006,306007,306008,306025,306026,306027,306032,306033,306034,306035,306036,306063,306064,306065,306091,306092,306093,306094,306095,306146,306147,306148,306179,306180,306181,306182,306183,306199,306200,306201,306208,306209,306210,306211,306212,306222,306223,306224,306325,306326,306327,306328,306329,306360,306361,306362,306905,306906,306907,306908,306909,308634,308635,308636,308649,308650,308651,308652,308653,308668,308669,308679,308680,308681,308682,308704,308705,308706,308807,308808,308809,308810,308811,308858,308859,308860,308864,308865,308866,308867,308868,308876,308877,308878,308885,308886,308887,308888,308889,308911,308912,308913,308921,308922,308923,308924,308925,308935,308936,308937,308967,308968,308969,308970,308971,308997,308998,308999,313727,313728,313729,313730,313731,313732,313733,313734,313735,314394,314395,314396,314397,314398,314399,314400,314401,314402,314418,314419,314420,314421,314422,314449,314450,314451,314452,314453,314454,314534,314535,314536,314537,314538,314539,314540,314541,314542,314547,314548,314549,314550,314551,314570,314571,314572,314573") == "33f402edd243cde90008905d46d58739f1ec36c4" || 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", "3920,1,80,81,307,575,938,939,941,1273,1279,1317,1480,1570,1836,1837,1838,1839,2055,3161,3163,3164,3165,3166,3167,3168,3169,3170,3171,3180,3181,3182,3287,3288,3289,3290,3291,3384,3385,3386,3392,3393,3394,3395,3396,3397,3398,3399,3400,3417,3418,3419,3436,3437,3438,3439,3440,3450,3451,3452,3504,3505,3506,3507,3508,3520,3521,3522,3524,3525,3526,3527,3528,3538,3539,3540,3552,3553,3554,3555,3556,3592,3593,3594,3601,3602,3603,3604,3605,3648,3649,3650,3674,3675,3676,3677,3678,3730,3731,3740,3741,3742,3743,3781,3782,3783,3793,3794,3795,3796,3797,3798,3799,3800,3877,3878,3879,3880,3881,4114,4115,7001,7002,7003,7005,7006,7007,7008,7009,7018,7019,7020,7026,7027,7028,7029,7030,7058,7059,7060,7123,7124,7125,7126,7127,7195,7196,7197,7203,7204,7205,7206,7207,7236,7237,7238,7242,7243,7244,7245,7246,7267,7268,7269,7271,7272,7273,7274,7275,7283,7284,7285,7289,7290,7291,7292,7293,7311,7312,7317,7318,7319,7320,7332,7333,7334,7337,7338,7339,7340,7341,7356,7357,7358,7362,7363,7364,7365,7366,7379,7380,7381,7382,7383,7384,7450,7461,7462,7463,7464,7465,7466,7467,7476,7478,7479,7480,7481,7483,7484,7485,7486,7487,7488,7489,7538,7547,7548,7549,7550,7551,7552,7553,7607,7617,7618,7619,7620,7621,7622,7623,19573,19575,20848,20849,20892,20893,20923,20924,21252,21253,22221,22255,22829,22830,22935,22936,23228,23229,23441,23442,24362,24365,24366,24367,24433,24434,24435,24436,24602,24603,24747,24748,24921,24922,25093,25094,25454,25455,25472,25714,25717,25718,25727,25728,25729,25730,25747,25748,25769,25770,25879,25880,25918,25919,25922,25923,25934,25935,26401,26402,26403,26404,26426,26427,26448,26449,26688,26689,27801,27802,28098,28099,28217,28218,28695,28696,28697,28698,29223,29224,29239,29240,29271,29272,29333,29334,29340,29341,32750,32751,32768,32770,32849,32850,65536,65537,74222,74956,74957,78521,84212,85049,85583,85584,85585,85586,85587,85762,85763,85764,85765,85845,85846,85847,85848,85849,85850,85956,85957,85958,85959,85983,85984,85985,85986,85987,85988,85998,85999,86000,86001,86148,86149,86150,86151,86152,86153,87021,87022,87023,87024,87025,87026,87027,87028,87062,87063,87070,87071,87072,87073,87074,87075,87076,87077,87109,87110,87164,87165,87200,87201,87202,87203,87204,87205,87206,87207,87208,87209,87210,87211,87212,87213,87214,87215,87216,87217,87218,87219,87220,87221,87222,87223,87224,87225,87226,87227,87228,87229,87230,87231,87232,87233,87234,87235,87236,87237,87393,87394,87502,87503,87646,87647,87748,87749,87939,87940,88099,88100,88163,88164,88312,88313,88517,88518,88612,88613,88767,88768,88830,88831,88832,88833,88834,88835,88836,88837,88838,88839,88840,88841,88842,88843,88852,88853,88854,88855,88857,88858,88859,88860,88887,88888,88889,88890,88916,88917,88918,88919,88946,88947,88948,88949,88961,88962,88963,88964,88972,88973,88974,88975,88979,88980,88981,88982,88988,88989,88990,88991,88992,88993,88994,88995,88997,88998,88999,89000,89009,89010,89011,89012,89013,89014,89015,89016,89017,89018,89019,89020,89021,89022,89023,89024,89102,89103,89104,89105,89106,89107,89108,89109,89110,89111,89112,89113,89114,89115,89116,89117,89119,89120,89121,89122,89123,89124,89125,89126,89162,89163,89164,89165,89201,89202,89203,89204,89205,89206,89207,89208,89209,89210,89211,89212,89213,89214,89216,89217,89219,89220,89221,89222,89223,89224,89225,89226,89227,89228,89229,89230,89231,89232,89233,89234,89235,89236,89237,89238,89239,89240,94661,94662,94663,94664,94665,94666,94667,94668,94669,94670,94671,94672,94676,94677,94680,94681,94685,94686,94690,94691,94695,94696,94697,94698,94699,94700,94703,94704,94705,94706,94707,94708,94709,94710,94711,94712,94713,94714,94715,94716,94717,94718,94719,94720,94721,94722,94723,94724,94725,94726,94727,94728,94729,94730,94731,94732,94733,94734,94735,94736,94737,94738,94739,94740,94741,94742,94743,94744,94745,94746,94747,94748,94749,94750,94751,94752,94753,94754,94755,94756,94757,94758,94759,94760,94761,94762,94763,94764,94765,94766,94767,94768,94769,94770,94771,94772,94773,94774,94775,94776,94777,94778,94779,94780,94784,94785,94790,94791,94792,94793,94916,94917,94918,94919,94920,94921,94922,94923,94924,94925,94926,94927,94928,94929,94931,94932,94933,94934,94936,94937,94938,94939,94941,94942,94943,94944,94946,94947,94948,94949,94951,94952,94953,94954,94956,94957,94958,94959,94961,94962,94963,94964,94965,94966,94967,94968,94969,94970,94971,94972,94978,94979,94980,94981,94982,94983,94989,94990,94991,94992,95073,95074,95075,95076,95077,95078,95464,95465,95466,95467,95469,95470,95471,95472,95473,95474,95480,95481,95482,95483,95488,95489,95490,95491,95492,95493,95510,95511,95512,95513,95543,95544,95545,95546,95547,95548,95567,95568,95569,95570,95580,95581,95582,95583,95584,95585,95608,95609,95610,95611,95612,95613,95614,95615,95617,95618,95619,95620,95624,95625,95626,95627,95629,95630,95631,95632,95634,95635,95636,95637,95639,95640,95641,95642,95644,95645,95646,95647,95649,95650,95651,95652,95654,95655,95656,95657,95660,95661,95662,95663,95665,95666,95667,95668,95671,95672,95673,95674,95676,95677,95678,95679,95689,95690,95691,95692,95693,95694,95695,95696,95697,95698,95699,95700,95701,95702,95707,95708,95709,95710,95711,95712,95719,95720,95721,95722,95744,95745,95746,95747,95748,95749,95794,95795,95796,95797,95811,95812,95813,95814,95815,95816,95832,95833,95834,95835,95836,95837,95838,95839,95852,95853,95854,95855,95857,95858,95859,95860,95862,95863,95864,95865,95867,95868,95869,95870,95872,95873,95874,95875,95877,95878,95879,95880,95882,95883,95884,95885,95887,95888,95889,95890,95892,95893,95894,95895,95897,95898,95899,95900,95907,95908,95909,95910,95912,95913,95914,95915,95916,95917,95918,95919,95920,95921,95922,95923,95924,95925,95930,95931,95932,95933,95934,95935,95942,95943,95944,95945,95949,95950,95951,95952,95953,95954,95961,95962,95963,95964,95965,95966,95967,95968,95970,95971,95972,95973,95975,95976,95977,95978,95980,95981,95982,95983,95985,95986,95987,95988,95990,95991,95992,95993,95995,95996,95997,95998,96106,96107,96108,96109,96110,96111,96112,96113,96114,96115,96116,96117,96118,96119,96120,96121,96122,96123,96124,96125,96126,96127,96128,96129,96137,96138,96139,96140,96148,96149,96150,96151,96152,96153,96160,96161,96162,96163,96170,96171,96172,96173,96174,96175,96176,96177,96178,96179,96180,96181,96190,96191,96192,96193,96194,96195,96211,96212,96213,96214,96216,96217,96218,96219,96221,96222,96223,96224,96226,96227,96228,96229,96234,96235,96236,96237,96239,96240,96241,96242,96243,96244,96245,96246,96251,96252,96253,96254,96255,96256,96266,96267,96268,96269,96294,96295,96296,96297,96298,96299,96385,96386,96387,96388,96451,96452,96453,96454,96455,96456,96607,96608,96609,96610,96625,96626,96627,96628,96629,96630,96649,96650,96651,96652,96653,96654,96655,96656,96961,96962,97026,97027,97028,97029,97116,97117,97780,97781,97786,97787,97792,97793,97803,97804,97817,97818,97833,97834,97862,97863,97873,97874,97911,97912,98184,98185,98186,98187,98188,98189,98190,98191,98264,98265,98266,98267,98270,98271,98272,98273,98274,98275,98276,98277,98278,98279,98281,98282,98288,98289,98294,98295,98298,98299,98300,98301,98302,98304,98306,98385,98386,104971,104972,124027,125633,125685,125686,125687,125688,130067,130070,130075,130076,130093,130094,130123,130124,131067,131068,131069,131070,131072,131073,163840,163842,163921,163922,164415,172777,196608,196609,197102,197145,229376,229378,229457,229458,231739,231761,231762,231781,231782,231803,231804,231821,231822,231825,231826,231829,231830,231832,231833,231836,231837,231840,231841,231844,231845,231849,231850,231852,231853,231855,231856,231859,231860,231863,231864,231866,231867,231886,231887,231905,231906,231939,231940,231959,231960,231978,231979,231998,231999,232002,232003,232005,232006,232017,232018,232024,232025,232038,232039,232049,232050,232066,232067,232088,232089,232107,232108,232127,232128,232146,232147,232150,232151,232157,232158,232163,232164,232167,232168,232171,232172,232175,232176,232179,232180,232184,232185,232189,232190,232193,232194,232198,232199,232202,232203,232207,232208,232212,232213,232225,232226,232230,232231,232243,232244,232263,232264,233294,233295,233298,233299,233305,233306,233326,233327,233330,233331,233334,233335,233347,233348,233352,233353,233358,233359,233363,233364,233367,233368,233371,233372,233380,233381,233401,233402,233419,233420,233423,233424,233429,233430,233435,233436,233443,233444,233447,233448,233455,233456,233462,233463,233464,233465,233472,233473,233491,233492,233497,233498,233502,233503,233508,233509,233520,233521,233527,233528,233533,233534,233544,233545,233550,233551,233552,233553,233554,233555,233556,233557,233561,233562,233564,233565,233571,233572,233575,233576,233583,233584,233587,233588,233617,233618,233631,233632,233656,233657,233693,233694,233720,233721,233765,233766,233790,233791,233802,233803,233831,233832,233858,233859,233871,233872,233873,233874,233877,233878,233880,233881,233883,233884,233887,233888,233891,233892,233899,233900,233902,233903,233907,233908,233917,233918,233922,233923,233928,233929,233933,233934,233939,233940,233943,233944,233948,233949,233953,233954,233961,233962,233967,233968,233971,233972,233977,233978,233982,233983,233986,233987,233992,233993,233997,233998,234002,234003,234006,234007,234013,234014,234017,234018,234023,234024,234030,234031,234034,234035,234045,234046,234048,234049,234054,234055,234059,234060,234075,234076,234079,234080,234084,234085,234090,234091,234096,234097,234102,234103,234108,234109,234113,234114,234116,234117,234123,234124,234130,234131,234137,234138,234142,234143,234150,234151,234157,234158,234161,234162,234168,234169,234175,234176,234183,234184,234187,234188,234198,234199,234202,234203,234214,234215,234218,234219,234223,234224,234229,234230,234235,234236,234242,234243,234251,234252,234257,234258,234265,234266,234270,234271,234273,234274,234278,234279,234284,234285,234290,234291,234298,234299,234306,234307,234310,234311,234319,234320,234321,234322,234329,234330,234337,234338,234344,234345,234401,234402,234424,234425,234432,234433,234442,234443,234450,234451,234459,234460,234472,234473,234484,234485,234495,234496,234508,234509,234517,234518,234526,234527,234537,234538,234548,234549,234557,234558,234566,234567,234571,234572,234579,234580,234590,234591,234601,234602,234612,234613,234664,234665,234673,234674,234682,234683,234698,234699,234703,234704,234717,234718,234726,234727,234770,234771,234784,234785,234801,234802,234811,234812,234820,234821,234849,234850,234862,234863,234873,234874,234887,234888,234898,234899,234910,234911,234925,234926,234937,234938,234955,234956,234962,234963,234967,234968,235009,235010,235020,235021,235030,235031,235042,235043,235053,235054,235061,235062,235071,235072,235083,235084,235095,235096,235100,235101,235110,235111,235120,235121,235131,235132,235139,235140,235148,235149,235163,235164,235192,235193,235203,235204,235226,235227,235285,235286,235300,235301,235306,235307,235351,235352,235365,235366,235381,235382,235397,235398,235404,235405,235418,235419,235430,235431,235443,235444,235452,235453,235464,235465,235475,235476,235503,235504,235582,235583,235594,235595,235605,235606,235617,235618,235626,235627,235649,235650,235657,235658,235668,235669,235678,235679,235697,235698,235741,235742,235751,235752,235764,235765,235772,235773,235809,235810,235856,235857,235865,235866,235871,235872,235880,235881,235901,235902,235908,235909,235910,235911,235913,235914,235916,235917,235919,235920,235923,235924,235926,235927,235929,235930,235932,235933,235936,235937,235941,235942,235944,235945,235948,235949,235951,235952,235954,235955,235957,235958,235961,235962,235964,235965,235968,235969,235970,235971,235972,235973,236035,236036,236037,236038,236039,236040,236050,236051,236052,236053,236094,236095,236096,236097,236098,236099,236318,236319,236320,236321,236354,236355,236356,236357,236358,236359,236594,236595,236596,236597,236605,236606,236607,236608,236609,236610,236623,236624,236625,236626,236658,236659,236660,236661,236662,236663,236670,236671,236672,236673,237281,237282,237283,237284,237285,237286,237370,237371,237372,237373,237439,237440,237441,237442,237443,237444,237538,237539,237540,237541,239496,239497,239498,239499,239500,239501,241026,241027,241028,241029,241176,241177,241178,241179,241180,241181,241871,241872,241873,241874,241881,241882,241883,241884,241885,241886,241887,241888,241889,241890,241902,241903,241904,241905,244493,244494,244495,244496,244497,244498,246862,246863,246864,246865,247348,247349,247350,247351,247352,247353,248248,248249,248250,248251,248408,248409,248410,248411,248412,248413,248689,248690,248691,248692,249675,249676,249677,249678,249679,249680,250266,250267,250268,250269,250275,250276,250277,250278,250279,250280,250290,250291,250292,250293,250306,250307,250308,250309,250310,250311,250345,250346,250347,250348,250354,250355,250356,250357,250358,250359,250370,250371,250372,250373,250433,250434,250435,250436,250437,250438,250444,250445,250446,250447,250681,250682,250683,250684,250685,250686,250843,250844,250845,250846,250893,250894,250895,250896,250897,250898,251031,251032,251033,251034,252713,252714,252715,252716,252717,252718,254025,254026,254027,254028,254038,254039,254040,254041,254042,254043,254094,254095,254096,254097,254133,254134,254135,254136,254137,254138,254139,254140,254141,254142,254198,254199,254200,254201,254206,254207,254208,254209,254210,254211,254234,254235,254236,254237,255651,255652,255653,255654,255655,255656,256705,256706,256707,256708,256711,256712,256713,256714,256715,256716,256729,256730,256731,256732,256738,256739,256740,256741,256742,256743,256759,256760,256761,256762,256774,256775,256776,256777,256778,256779,256859,256860,256861,256862,256863,256864,256865,256866,259264,259265,259266,259267,259310,259311,259312,259313,259314,259315,259432,259433,259434,259435,259438,259439,259440,259441,259442,259443,259454,259455,259456,259457,259518,259519,259520,259521,259522,259523,259612,259613,259614,259615,259748,259749,259750,259751,259752,259753,259999,260000,260001,260002,260013,260014,260015,260016,260017,260018,260061,260062,260063,260064,261121,261122,261123,261124,261125,261126,262038,262039,262040,262041,262042,262043,262044,262045,262046,262047,262048,262049,262050,262051,262052,262053,262054,262055,262056,262057,262058,262059,262068,262069,262070,262071,262072,262073,262082,262083,262084,262085,262142,262144,262145,262714,262719,262720,262721,262722,262723,262724,262725,262726,262732,262733,262734,262735,262756,262757,262780,262781,262782,262783,262794,262795,262838,262839,262890,262891,263210,263211,263318,263319,263320,263321,263329,263330,263335,263336,263348,263349,263363,263364,263407,263408,263421,263422,263467,263468,263479,263480,263587,263588,263904,263905,264003,264004,264041,264042,264071,264072,264091,264092,264100,264101,264285,264286,264428,264429,264439,264440,264457,264458,264467,264468,264602,264603,264609,264610,264639,264640,264670,264671,264860,264861,264867,264868,264874,264875,264880,264881,264885,264886,264899,264900,264908,264909,264913,264914,264944,264945,264962,264963,264993,264994,265048,265049,265066,265067,265097,265098,265117,265118,265126,265127,265134,265135,265158,265159,265208,265209,265220,265221,265225,265226,265230,265231,266036,266037,266041,266042,266046,266047,266063,266064,266068,266069,266075,266076,266080,266081,266086,266087,266092,266093,266097,266098,266103,266104,266109,266110,266114,266115,266119,266120,266125,266126,266131,266132,266137,266138,266143,266144,266148,266149,266154,266155,266160,266161,266165,266166,266171,266172,266177,266178,266182,266183,266188,266189,266194,266195,266199,266200,266205,266206,266211,266212,266216,266217,266222,266223,266228,266229,266233,266234,266239,266240,266245,266246,266250,266251,266256,266257,266262,266263,266267,266268,266273,266274,266279,266280,266284,266285,266290,266291,266296,266297,266301,266302,266307,266308,266313,266314,266318,266319,266324,266325,266330,266331,266338,266339,266346,266347,266360,266361,266366,266367,266389,266390,266419,266420,266462,266463,266499,266500,266506,266507,266565,266566,266570,266571,266589,266590,266594,266595,266768,266769,266938,266939,266945,266946,266960,266961,266970,266971,266980,266981,266990,266991,267000,267001,267010,267011,267020,267021,267030,267031,267040,267041,267050,267051,267065,267066,267075,267076,267085,267086,267100,267101,267110,267111,267120,267121,267130,267131,267140,267141,267150,267151,267160,267161,267170,267171,267180,267181,267190,267191,267205,267206,267215,267216,267225,267226,267235,267236,267245,267246,267260,267261,267270,267271,267280,267281,267290,267291,267305,267306,267315,267316,267325,267326,267335,267336,267350,267351,267360,267361,267370,267371,267380,267381,267390,267391,267405,267406,267415,267416,267425,267426,267435,267436,267445,267446,267455,267456,267464,267465,267479,267480,267489,267490,267499,267500,267509,267510,267519,267520,267529,267530,267539,267540,267549,267550,267559,267560,267574,267575,267584,267585,267594,267595,267604,267605,267614,267615,267624,267625,267634,267635,267644,267645,267654,267655,267664,267665,267674,267675,267689,267690,267699,267700,267709,267710,267719,267720,267729,267730,267739,267740,267754,267755,267764,267765,267774,267775,267784,267785,267794,267795,267804,267805,267814,267815,267824,267825,267839,267840,267849,267850,267859,267860,267869,267870,267884,267885,267899,267900,267909,267910,267919,267920,267929,267930,267939,267940,267949,267950,267959,267960,267974,267975,267984,267985,267994,267995,268004,268005,268019,268020,268029,268030,268039,268040,268049,268050,268064,268065,268074,268075,268084,268085,268094,268095,268109,268110,268119,268120,268129,268130,268139,268140,268149,268150,268159,268160,268174,268175,268184,268185,268194,268195,268204,268205,268214,268215,268229,268230,268239,268240,268249,268250,268259,268260,268269,268270,268279,268280,268294,268295,268304,268305,268314,268315,268324,268325,268334,268335,268344,268345,268359,268360,268369,268370,268379,268380,268389,268390,268399,268400,268409,268410,268419,268420,268429,268430,268439,268440,268449,268450,268464,268465,268474,268475,268484,268485,268494,268495,268504,268505,268514,268515,268524,268525,268534,268535,268544,268545,268554,268555,268569,268570,268579,268580,268589,268590,268599,268600,268609,268610,268619,268620,268629,268630,268639,268640,268649,268650,268659,268660,268674,268675,268684,268685,268694,268695,268704,268705,268714,268715,268724,268725,268734,268735,268744,268745,268754,268755,268769,268770,268779,268780,268789,268790,268799,268800,268809,268810,268819,268820,268829,268830,268839,268840,268849,268850,268859,268860,268869,268870,268879,268880,268889,268890,268904,268905,268914,268915,268924,268925,268934,268935,268944,268945,268954,268955,268964,268965,268974,268975,268984,268985,268999,269000,269009,269010,269019,269020,269029,269030,269039,269040,269049,269050,269059,269060,269074,269075,269084,269085,269094,269095,269104,269105,269114,269115,269124,269125,269134,269135,269144,269145,269154,269155,269164,269165,269174,269175,269184,269185,269199,269200,269209,269210,269219,269220,269229,269230,269239,269240,269249,269250,269259,269260,269269,269270,269279,269280,269289,269290,269304,269305,269314,269315,269324,269325,269334,269335,269349,269350,269359,269360,269369,269370,269379,269380,269389,269390,269399,269400,269409,269410,269419,269420,269429,269430,269439,269440,269454,269455,269464,269465,269474,269475,269484,269485,269494,269495,269504,269505,269514,269515,269524,269525,269539,269540,269549,269550,269559,269560,269569,269570,269579,269580,269589,269590,269604,269605,269614,269615,269624,269625,269634,269635,269644,269645,269654,269655,269664,269665,269674,269675,269684,269685,269699,269700,269709,269710,269719,269720,269729,269730,269840,269841,269904,269905,269909,269910,269916,269917,269930,269931,269937,269938,269996,269997,270018,270019,270032,270033,270065,270066,270159,270160,270174,270175,270184,270185,270229,270230,270262,270263,270273,270274,270280,270281,270286,270287,270400,270401,270420,270421,270426,270427,271103,271104,271123,271124,271136,271137,271150,271151,271214,271215,271220,271221,271227,271228,271234,271235,271242,271243,271312,271313,271321,271322,271329,271330,271349,271350,271371,271372,271641,271642,276464,276465,276494,276495,276502,276503,276617,276618,276640,276641,276691,276692,276721,276722,276746,276747,276760,276761,276766,276767,276780,276781,276785,276786,276821,276822,276828,276829,276835,276836,276844,276845,276854,276855,276863,276864,276920,276921,276939,276940,276971,276972,276977,276978,276989,276990,277045,277046,277058,277059,277227,277228,277242,277243,277318,277319,277377,277378,277399,277400,277444,277445,277459,277460,277464,277465,277470,277471,277476,277477,277482,277483,277488,277489,277494,277495,277502,277503,277805,277806,277810,277811,277838,277839,277852,277853,277857,277858,277864,277865,277874,277875,277906,277907,277912,277913,277919,277920,277927,277928,277935,277936,277940,277941,277945,277946,277952,277953,277959,277960,277966,277967,277972,277973,277978,277979,277984,277985,277990,277991,277996,277997,278001,278002,278007,278008,278013,278014,278019,278020,278025,278026,278032,278033,278038,278039,278044,278045,278049,278050,278056,278057,278063,278064,278070,278071,278080,278081,278090,278091,278098,278099,278104,278105,278118,278119,278128,278129,278134,278135,278142,278143,278148,278149,278154,278155,278160,278161,278167,278168,278172,278173,278178,278179,278184,278185,278189,278190,278195,278196,278201,278202,278206,278207,278211,278212,278217,278218,278222,278223,278230,278231,278237,278238,278242,278243,278248,278249,278391,278392,278404,278405,278433,278434,278455,278456,278494,278495,278636,278637,278670,278671,278677,278678,278813,278814,278832,278833,278869,278870,278879,278880,278901,278902,279151,279152,279193,279194,279206,279207,279214,279215,279221,279222,279227,279228,279236,279237,279243,279244,279275,279276,279293,279294,279308,279309,279317,279318,279324,279325,279331,279332,279350,279351,279382,279383,279407,279408,279456,279457,279468,279469,279475,279476,279490,279491,279493,279494,279501,279502,279511,279512,279518,279519,279544,279545,279564,279565,279582,279583,279612,279613,279617,279618,279622,279623,279627,279628,279641,279642,279644,279645,282110,282111,282113,282114,282118,282119,282124,282125,282131,282132,282187,282188,282190,282191,282602,282603,283822,283823,283830,283831,284009,284010,284014,284015,284022,284023,284066,284067,284088,284089,284093,284094,284098,284099,284108,284109,284114,284115,284120,284121,284129,284130,284164,284165,284169,284170,284180,284181,284188,284189,284193,284194,284199,284200,284380,284381,284417,284418,284425,284426,284444,284445,284471,284472,284500,284501,284508,284509,284514,284515,284526,284527,284547,284548,284554,284555,284583,284584,284623,284624,284631,284632,284643,284644,284709,284710,284728,284729,284762,284763,284767,284768,284776,284777,284782,284783,284792,284793,284798,284799,284828,284829,284968,284969,284979,284980,284984,284985,284990,284991,285010,285011,285012,285013,285024,285025,285033,285034,285045,285046,285053,285054,285060,285061,285067,285068,285079,285080,285086,285087,285094,285095,285102,285103,285109,285110,285114,285115,285121,285122,285126,285127,285134,285135,285141,285142,285153,285154,285158,285159,285167,285168,285175,285176,285182,285183,285189,285190,285197,285198,285205,285206,285211,285212,285218,285219,285225,285226,285227,285228,285265,285266,285303,285304,285343,285344,285346,285347,285348,285349,285350,285351,285363,285364,285365,285366,285367,285368,285389,285390,285401,285402,285403,285404,285405,285406,285530,285531,285532,285533,285539,285540,285541,285542,285543,285544,285545,285546,285547,285548,285549,285550,285558,285559,285564,285565,285571,285572,285578,285579,285591,285592,285598,285599,285619,285620,285631,285632,285633,285634,285684,285685,285691,285692,285697,285698,285752,285753,285758,285759,285764,285765,285771,285772,285777,285778,285952,285953,285960,285961,285966,285967,285972,285973,285979,285980,285989,285990,286044,286045,286057,286058,286087,286088,286093,286094,286100,286101,286106,286107,286114,286115,286120,286121,286126,286127,286132,286133,286209,286210,286228,286229,286304,286305,286310,286311,286317,286318,286523,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300461,300465,300466,300467,300468,300469,300482,300483,300484,300495,300496,300497,300498,300499,300514,300515,300516,301302,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305218,305274,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305462,305467,305468,305469,305470,305471,305487,305488,305489,305497,305498,305499,305500,305501,305520,305521,305947,305948,305949,305959,305960,305961,305962,305963,305983,305984,305985,306004,306005,306006,306007,306008,306025,306026,306027,306032,306033,306034,306035,306036,306063,306064,306065,306091,306092,306093,306094,306095,306146,306147,306148,306179,306180,306181,306182,306183,306199,306200,306201,306208,306209,306210,306211,306212,306222,306223,306224,306325,306326,306327,306328,306329,306360,306361,306362,306905,306906,306907,306908,306909,308634,308635,308636,308649,308650,308651,308652,308653,308668,308669,308679,308680,308681,308682,308704,308705,308706,308807,308808,308809,308810,308811,308858,308859,308860,308864,308865,308866,308867,308868,308876,308877,308878,308885,308886,308887,308888,308889,308911,308912,308913,308921,308922,308923,308924,308925,308935,308936,308937,308967,308968,308969,308970,308971,308997,308998,308999,313727,313728,313729,313730,313731,313732,313733,313734,313735,314394,314395,314396,314397,314398,314399,314400,314401,314402,314418,314419,314420,314421,314422,314449,314450,314451,314452,314453,314454,314534,314535,314536,314537,314538,314539,314540,314541,314542,314547,314548,314549,314550,314551,314570,314571,314572,314573") && 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:16209192:fe6607552c3b90bb33a5e3d9861884be34a943a8:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed",
            "-", a5d72d54c4556fae50ef820a66b561f27afa0aed, 16209192,
            fe6607552c3b90bb33a5e3d9861884be34a943a8,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16209192:fe6607552c3b90bb33a5e3d9861884be34a943a8:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed");

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

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