getprop("ro.product.device") == "rgk6735m_35_qc_n" || abort("E3004: This package is for \"rgk6735m_35_qc_n\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1780649524:user/test-keys");
ui_print("Target: alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1764312808:user/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1780649524:user/test-keys" ||
    getprop("ro.build.fingerprint") == "alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1764312808:user/test-keys" ||
    abort("E3001: Package expects build fingerprint of alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1780649524:user/test-keys or alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1764312808:user/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518:8634624:277b6fcc14ccee04eea5d56fed662f3af6343d02") || abort("E3005: \"EMMC:/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518:8634624:277b6fcc14ccee04eea5d56fed662f3af6343d02\" has unexpected contents.");
apply_patch_space(35934208) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/system", "5246,1,144,145,331,32686,32687,32693,32694,32695,32696,32706,32707,32724,32725,32726,32727,32754,32755,32756,32757,32758,32759,32760,32761,32762,32763,32764,32765,32766,32767,32768,32770,32913,32914,48219,48302,48303,56585,56586,56658,56659,56660,56661,56662,56663,56664,56665,56666,56667,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57741,57742,57743,57744,57747,57748,62639,62640,62641,62642,62726,62727,62728,62729,62730,62731,62732,62733,62734,62735,62736,62737,62738,62739,62740,62741,62742,62743,62744,62745,62746,62747,62773,62774,62775,62776,62779,62780,62781,62782,62869,62870,62871,62872,62873,62874,62875,62876,62877,62878,62879,62880,62881,62882,62883,62884,62885,62886,62887,62888,62889,62890,62891,62892,62917,62918,62919,62920,62923,62924,62925,62926,63002,63003,63004,63005,63006,63007,63008,63009,63010,63011,63012,63013,63014,63015,63016,63017,63018,63019,63020,63021,63022,63023,63049,63050,63051,63052,63055,63056,63057,63058,63155,63156,63157,63158,63159,63160,63161,63162,63163,63164,63165,63166,63167,63168,63169,63170,63171,63172,63173,63174,63175,63176,63177,63178,63203,63204,63205,63206,63209,63210,63211,63212,63287,63288,63289,63290,63291,63292,63293,63294,63295,63296,63297,63298,63299,63300,63301,63302,63303,63304,63305,63306,63307,63308,63334,63335,63336,63337,63340,63341,63342,63343,63432,63433,63434,63435,63436,63437,63438,63439,63440,63441,63442,63443,63444,63445,63446,63447,63448,63449,63450,63451,63452,63453,63454,63455,63487,63488,63489,63490,63493,63494,63495,63496,63597,63598,63599,63600,63601,63602,63603,63604,63605,63606,63607,63608,63739,63740,63741,63742,63743,63744,63745,63746,63747,63748,63779,63780,63781,63782,63785,63786,63787,63788,63891,63892,63893,63894,63895,63896,63897,63898,63899,63900,63901,63902,63903,63904,64035,64036,64037,64038,64039,64040,64041,64042,64043,64044,64075,64076,64077,64078,64081,64082,64083,64084,64200,64201,64202,64203,64204,64205,64206,64207,64208,64209,64210,64211,64342,64343,64344,64345,64346,64347,64348,64349,64350,64351,64381,64382,64383,64384,64387,64388,64389,64390,64476,64477,64478,64479,64480,64481,64482,64483,64484,64485,64486,64487,64488,64489,64490,64491,64492,64493,64494,64495,64526,64527,64528,64529,64532,64533,64534,64535,64635,64636,64637,64638,64639,64640,64641,64642,64643,64644,64645,64646,64647,64648,64750,64751,64790,64791,64874,64875,64876,64877,64916,64917,64918,64919,64922,64923,64924,64925,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65040,65041,65042,65043,65044,65045,65046,65047,65048,65049,65050,65051,65052,65067,65068,65069,65070,65071,65072,65073,65074,65184,65185,65186,65187,65188,65189,65190,65191,65192,65193,65194,65195,65196,65197,65198,65199,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65400,65401,65402,65403,65406,65407,65408,65409,65503,65504,65505,65506,65507,65508,65509,65510,65511,65512,65513,65514,65515,65516,65517,65518,65519,65520,65521,65522,65523,65524,65525,65526,65529,65530,65531,65532,65533,65536,65537,78832,98303,98304,98306,98449,98450,103111,111026,111027,112182,112183,119999,120000,131002,131003,131005,131006,131007,131008,131014,131015,131054,131055,131056,131057,131058,131059,131069,131072,131073,131568,136552,163840,163842,163985,163986,164481,165664,165665,166285,166286,172581,172582,172594,172595,172645,172646,172683,172684,172778,172779,172797,172798,172816,172817,172894,172895,172909,172910,172918,172919,172923,172924,172940,172941,172957,172958,172973,172974,172981,172982,173032,173033,173045,173046,173061,173062,173091,173092,173108,173109,173161,173162,173192,173193,173226,173227,173233,173234,173240,173241,173246,173247,173422,173423,173429,173430,173458,173459,173526,173527,173550,173551,173597,173598,173634,173635,173639,173640,173652,173653,173693,173694,173698,173699,173708,173709,173719,173720,173727,173728,173732,173733,173735,173736,173740,173741,173792,173793,173811,173812,173835,173836,173861,173862,173869,173870,173878,173879,173887,173888,173893,173894,173899,173900,173904,173905,173919,173920,174075,174076,174089,174090,174126,174127,174174,174175,174191,174192,174206,174207,174221,174222,174235,174236,174241,174242,174356,174357,174410,174411,174420,174421,174458,174459,174480,174481,174549,174550,174605,174606,174613,174614,174628,174629,174636,174637,174675,174676,174730,174731,174782,174783,174813,174814,174849,174850,174854,174855,174859,174860,174865,174866,174896,174897,176489,176490,176512,176513,176533,176534,177141,177142,177154,177155,177164,177165,177169,177170,177188,177189,177194,177195,177209,177210,177214,177215,177311,177312,177447,177448,177455,177456,177464,177465,177472,177473,177478,177479,177487,177488,177493,177494,177499,177500,177504,177505,177510,177511,177525,177526,177693,177694,177720,177721,177746,177747,177766,177767,177780,177781,177792,177793,177806,177807,177817,177818,177827,177828,177834,177835,177860,177861,177923,177924,177968,177969,177987,177988,178000,178001,178020,178021,178042,178043,178102,178103,178150,178151,178176,178177,178222,178223,178230,178231,178236,178237,178244,178245,178249,178250,178254,178255,178264,178265,178272,178273,178347,178348,178461,178462,178478,178479,178486,178487,178497,178498,178507,178508,178785,178786,178814,178815,178851,178852,178857,178858,179056,179057,179068,179069,179073,179074,179084,179085,179089,179090,179213,179214,179229,179230,179235,179236,179241,179242,179256,179257,179295,179296,179345,179346,179351,179352,179359,179360,179365,179366,179372,179373,179381,179382,179438,179439,179641,179642,179650,179651,179670,179671,179684,179685,179736,179737,179742,179743,179745,179746,179751,179752,179757,179758,179765,179766,179785,179786,179790,179791,179795,179796,179801,179802,179810,179811,179831,179832,179840,179841,179862,179863,179884,179885,179908,179909,179921,179922,179927,179928,179955,179956,179961,179962,179966,179967,179980,179981,180020,180021,180052,180053,180169,180170,180175,180176,180185,180186,180192,180193,180207,180208,180214,180215,180224,180225,180243,180244,180256,180257,180306,180307,180498,180499,180510,180511,180514,180515,180532,180533,180674,180675,180720,180721,180728,180729,180814,180815,180882,180883,180968,180969,180975,180976,180980,180981,180987,180988,181119,181120,181138,181139,181146,181147,181148,181149,181160,181161,181172,181173,181561,181562,181764,181765,181801,181802,181803,181804,181805,181806,181808,181809,181810,181811,181812,181813,181944,181945,181946,181947,181948,181949,181951,181952,181954,181955,181956,181957,181958,181959,182004,182005,182006,182007,182089,182090,182091,182092,182093,182094,182095,182096,182194,182195,182196,182197,182200,182201,182202,182203,182204,182205,182222,182223,182224,182225,182226,182227,182323,182324,182325,182326,182327,182328,182842,182843,183827,183828,184279,184280,184281,184282,184751,184752,184792,184793,184794,184795,184800,184801,185008,196608,196609,228337,228352,228353,228415,228416,228417,228418,228419,228420,228421,228422,228423,228424,228425,228426,228444,228445,228446,228447,228551,228552,228553,228554,228555,228556,228557,228558,228559,228560,228589,228590,228591,228592,228595,228596,228693,228694,228798,228799,228888,228889,228890,228891,228892,228893,228894,228895,228999,229000,229001,229002,229003,229004,229005,229006,229035,229036,229037,229038,229041,229042,229043,229044,229161,229162,229163,229164,229165,229166,229167,229168,229169,229170,229171,229172,229276,229277,229278,229279,229280,229281,229282,229283,229284,229285,229315,229316,229317,229318,229321,229322,229323,229324,229325,229326,229327,229328,229329,229330,229331,229332,229333,229334,229335,229336,229337,229338,229339,229340,229341,229342,229357,229358,229359,229360,229363,229364,229367,229368,229369,229370,229371,229372,229373,229376,229378,229521,229522,230017,230018,230019,230024,230025,230037,230038,230071,230072,230091,230092,230127,230128,230129,230130,230150,230151,230191,230192,230198,230199,230239,230242,230257,230258,230270,230271,230283,230284,230292,230293,230298,230299,230366,230367,230368,230369,230477,230478,230488,230489,230498,230499,230500,230501,230502,230503,230504,230505,230523,230524,230579,230580,230642,230643,230704,230705,230706,230707,230728,230729,230858,230859,231012,231013,231019,231020,231029,231030,231048,231049,231057,231058,231063,231064,231072,231073,231198,231199,231200,231201,231206,231207,231214,231215,231220,231221,231226,231227,231228,231229,231244,231245,231246,231247,231254,231255,231260,231261,231316,231317,231318,231319,231357,231358,231376,231377,231381,231382,231393,231394,231405,231406,231407,231408,231453,231454,231499,231500,231509,231510,231554,231555,231559,231560,231561,231562,231575,231576,231581,231582,231586,231587,231592,231593,231619,231620,231628,231629,231635,231636,231640,231641,231647,231648,231654,231655,231656,231657,231688,231689,231735,231736,231737,231738,231770,231771,231776,231777,231778,231779,231801,231802,231803,231804,231826,231827,231897,231898,231910,231911,231917,231918,231920,231921,231936,231937,231942,231943,232056,232057,232058,232059,232081,232082,232392,232393,232395,232396,232397,232398,232424,232425,232426,232427,232428,232429,232430,232431,232432,232433,232434,232435,232436,232437,232438,232439,232440,232441,232442,232443,232444,232445,232446,232447,232448,232449,232450,232451,232452,232453,232454,232455,232456,232457,232458,232459,232460,232461,232462,232463,232464,232465,232466,232467,232468,232469,232470,232471,232472,232473,232474,232475,232476,232477,232478,232479,232480,232481,232482,232483,232484,232485,232486,232487,232488,232489,232490,232491,232492,232493,232494,232495,232496,232497,232498,232499,232500,232501,232502,232503,232504,232505,232506,232507,232508,232509,232510,232511,232512,232513,232514,232515,232516,232517,232518,232519,232520,232521,232522,232523,232524,232525,232526,232527,232528,232529,232530,232531,232532,232533,232534,232535,232536,232537,232538,232539,232540,232541,232542,232543,232544,232545,232546,232547,232548,232549,232550,232551,232552,232553,232554,232555,232556,232557,232558,232559,232560,232561,232562,232563,232564,232565,232566,232567,232568,232569,232570,232571,232572,232573,232574,232575,232576,232577,232578,232579,232580,232581,232582,232583,232584,232585,232586,232587,232588,232589,232590,232591,232592,232593,232638,232639,232640,232641,232644,232645,237266,237267,237268,237269,237377,237378,237379,237380,237381,237382,237383,237384,237385,237386,237387,237388,237389,237390,237391,237392,237393,237394,237395,237396,237397,237398,237422,237423,237424,237425,237428,237429,242492,242493,242494,242495,242589,242590,242591,242592,242593,242594,242595,242596,242597,242598,242599,242600,242601,242602,242603,242604,242605,242606,242607,242608,242609,242610,242611,242612,242655,242656,242657,242658,242661,242662,247283,247284,247285,247286,247393,247394,247395,247396,247397,247398,247399,247400,247401,247402,247403,247404,247405,247406,247407,247408,247409,247410,247411,247412,247413,247414,247438,247439,247440,247441,247444,247445,252337,252338,252339,252340,252425,252426,252427,252428,252429,252430,252431,252432,252433,252434,252435,252436,252437,252438,252439,252440,252441,252442,252443,252444,252445,252446,252470,252471,252472,252473,252476,252477,257222,257223,257224,257225,257301,257302,257303,257304,257305,257306,257307,257308,257309,257310,257311,257312,257313,257314,257315,257316,257317,257318,257319,257320,257321,257322,257346,257347,257348,257349,257352,257353,261654,261655,261656,261657,261732,261733,261734,261735,261736,261737,261738,261739,261740,261741,261742,261743,261744,261745,261746,261747,261748,261749,261750,261751,261752,261753,261777,261778,261779,261780,261783,261784,261785,261786,261887,261888,261889,261890,261891,261892,261893,261894,261895,261896,261897,261898,261899,261900,261901,261902,261903,261904,261905,261906,261907,261908,261933,261934,261935,261936,261939,261940,261941,261942,262037,262038,262039,262040,262041,262042,262043,262044,262045,262046,262047,262048,262049,262050,262051,262052,262053,262054,262055,262056,262057,262058,262083,262084,262085,262086,262089,262090,262091,262092,262093,262094,262095,262096,262097,262098,262099,262100,262101,262102,262103,262104,262105,262106,262107,262108,262109,262110,262111,262112,262129,262130,262131,262132,262135,262136,262137,262138,262139,262140,262141,262144,262145,294594,294595,294596,294683,294684,294685,294686,294687,294688,294689,294690,294691,294692,294693,294694,294695,294696,294800,294801,294802,294803,294804,294805,294806,294807,294808,294809,294837,294838,294839,294840,294843,294844,294845,294846,294847,294848,294849,294850,294851,294852,294853,294854,294855,294856,294857,294858,294859,294860,294861,294862,294863,294864,294865,294866,294895,294896,294897,294898,294901,294902,294903,294904,294905,294906,294907,294908,294909,294912,294914,295057,295058,327429,327430,327599,327600,327646,327647,327674,327675,327680,327681,354280,354281,354282,354283,354284,354285,354286,354287,354288,354392,354393,354703,354704,354808,354809,354810,354811,354812,354813,354814,354815,354816,354817,354846,354847,354848,354849,354852,354853,359777,359778,359779,359780,359882,359883,359884,359885,359886,359887,359888,359889,359890,359891,359892,359893,359894,359895,359999,360000,360001,360002,360003,360004,360005,360006,360007,360008,360023,360024,360025,360026,360027,360028,360029,360030,360140,360141,360142,360143,360144,360145,360146,360147,360148,360149,360150,360151,360152,360153,360154,360155,360259,360260,360261,360262,360263,360264,360314,360315,360316,360317,360391,360392,360394,360395,360399,360400,360403,360404,360405,360406,360407,360408,360409,360410,360411,360412,360413,360414,360415,360416,360417,360418,360423,360424,360429,360430,360431,360432,360433,360434,360436,360437,360438,360439,360440,360441,360442,360443,360444,360445,360446,360448,360449,366079,366080,366081,366082,366083,366084,366085,366086,366087,366088,366089,366090,366091,366092,366093,366094,366095,366096,366097,366098,366099,366100,366101,366102,366103,366104,366105,366106,366107,366108,366109,366110,366111,366112,366113,366114,366115,366116,366117,366118,366119,366120,366121,366123,366124,366126,366127,366128,366129,366132,366133,366136,366137,366138,366139,366140,366141,366142,366143,366144,366145,366146,366147,366148,366149,366150,366151,366152,366153,366154,366155,366156,366157,366158,366159,366160,366161,366162,366163,366164,366165,366166,366167,366168,366169,366170,366171,366172,366173,366174,366175,366176,366177,366178,366179,366180,366181,366182,366183,366184,366185,366186,366187,366188,366189,366191,366192,366195,366196,366197,366198,366202,366203,366241,366242,366243,366244,366245,366246,366869,366870,366871,366872,366873,366874,366875,366876,366877,366878,366879,366880,366882,366883,366885,366886,366888,366889,366890,366891,366893,366894,366896,366897,366899,366900,366901,366902,366904,366905,366907,366908,366910,366911,366913,366914,366916,366917,366919,366920,366922,366923,366925,366926,366928,366929,366931,366932,366934,366935,366937,366938,366941,366942,366944,366945,366947,366948,366950,366951,366953,366954,366956,366957,366958,366959,366960,366961,366963,366964,366966,366967,366970,366971,366974,366975,366977,366978,366980,366981,366983,366984,366986,366987,366989,366990,366992,366993,366995,366996,366998,366999,367002,367003,367005,367006,367008,367009,367011,367012,367014,367015,367017,367018,367020,367021,367023,367024,367026,367027,367029,367030,367032,367033,367035,367036,367038,367039,367041,367042,367044,367045,367047,367048,367050,367051,367053,367054,367055,367056,367058,367059,367061,367064,367066,367067,367069,367070,367072,367073,367075,367076,367077,367078,367080,367081,367083,367084,367086,367087,367089,367090,367092,367093,367095,367096,367098,367099,367101,367102,367104,367105,367107,367108,367110,367111,367113,367114,367116,367117,367119,367120,367122,367123,367124,367125,367127,367128,367130,367131,367133,367134,367136,367137,367139,367140,367142,367143,367145,367146,367148,367149,367151,367152,367154,367155,367157,367158,367160,367161,367164,367165,367167,367168,367170,367171,367173,367174,367176,367177,367179,367180,367181,367182,367184,367185,367187,367188,367190,367191,367193,367194,367196,367197,367198,367199,367201,367202,367204,367205,367207,367208,367210,367211,367213,367214,367215,367216,367218,367219,367221,367222,367224,367225,367227,367228,367230,367231,367232,367233,367235,367236,367238,367239,367241,367242,367244,367245,367247,367248,367249,367250,367252,367253,367255,367256,367258,367259,367261,367262,367264,367265,367267,367268,367270,367271,367273,367274,367276,367277,367279,367280,367282,367283,367285,367286,367288,367289,367290,367291,367293,367294,367296,367297,367299,367300,367302,367303,367305,367306,367308,367309,367311,367312,367314,367315,367317,367318,367319,367320,367321,367322,367335,367336,367378,367379,367380,367381,367382,367383,367384,367385,367386,367387,367388,367389,367390,367391,367395,367396,367398,367399,367401,367402,367412,367413,367428,367429,367446,367447,367476,367477,367506,367507,367534,367535,368388,368389,368418,368419,368448,368449,368478,368479,368508,368509,368513,368514,368518,368519,368527,368528,368561,368562,368566,368567,368592,368593,368618,368619,368645,368646,368673,368674,368676,368677,368679,368680,373240,373241,373253,373254,373260,373261,373267,373268,373277,373278,373284,373285,373318,373319,373353,373354,373384,373385,373416,373417,373453,373454,373489,373490,373495,373496,373501,373502,373506,373507,373536,373537,373567,373568,373596,373597,373626,373627,373635,373636,373644,373645,373653,373654,373662,373663,373665,373666,373671,373672,373677,373678,373688,373689,373709,373710,373731,373732,373752,373753,373773,373774,373776,373777,373786,373787,373796,373797,373806,373807,373817,373818,373826,373827,373835,373836,373844,373845,373853,373854,373879,373880,373883,373884,373886,373887,373901,373902,373916,373917,373931,373932,373946,373947,373951,373952,373956,373957,373985,373986,374013,374014,374041,374042,374068,374069,374095,374096,374101,374102,374106,374107,374109,374110,374131,374132,374153,374154,374174,374175,374195,374196,374198,374199,374204,374205,374243,374244,374284,374285,374288,374289,374293,374294,374365,374366,374370,374371,374383,374384,374386,374387,374390,374391,374403,374404,374408,374409,374418,374419,374428,374429,374438,374439,374448,374449,374476,374477,374505,374506,374534,374535,374563,374564,374568,374569,374573,374574,374579,374580,374586,374587,374592,374593,374599,374600,374692,374693,374792,374793,374797,374798,374814,374815,374846,374847,374908,374909,374974,374975,375037,375038,375099,375100,375202,375203,375278,375279,375360,375361,375436,375437,375518,375519,375600,375601,375677,375678,375760,375761,375836,375837,375918,375919,375994,375995,376070,376071,376151,376152,376226,376227,376308,376309,376390,376391,376466,376467,376549,376550,376625,376626,376627,376628,376629,376630,376631,376632,376637,376638,376639,376640,376641,376642,376667,376668,377035,377036,377073,377074,377492,377493,377521,377522,377698,377699,377701,377702,377717,377718,377947,377948,379706,379707,379737,379738,380076,380077,381158,381159,390334,390335,390346,390347,390517,390518,390523,390524,390564,390565,390572,390573,390642,390643,390645,390646,390654,390655,390691,390692,390915,390916,390934,390935,391202,391203,391260,391261,393046,393047,393052,393053,393118,393119,393120,393121,393122,393123,393124,393125,393126,393127,393128,393129,393130,393131,393132,393133,393134,393135,393136,393137,393138,393139,393144,393145,393175,393176,393177,393178,393179,393180,393181,393182,393183,393184,393185,393186,393187,393188,393189,393190,393191,393192,393193,393194,393195,393196,393197,393198,393199,393200,393201,393202,393203,393204,393205,393206,393214,393216,393217,403985,404033,404034,404140,404141,404158,404159,404167,404168,404176,404177,404196,404197,404207,404208,404215,404216,404231,404232,404241,404242,404261,404262,404276,404277,404286,404287,404297,404298,404342,404343,404355,404356,404438,404439,404470,404471,404481,404482,410581,410582,410594,410595,410605,410606,410618,410619,410629,410630,410719,410720,411578,411579,411589,411590,411591,411592,411593,411594,411595,411596,411597,411598,411599,411600,411601,411602,411603,411604,411605,411606,411607,411608,411609,411610,411611,411612,411613,411614,411615,411616,411617,411618,411621,411622,411623,411624,411625,411626,411627,411628,411653,411654,411655,411656,411664,411665,411670,411671,411680,411681,411687,411688,411713,411714,411718,411719,412140,412141,412147,412148,412152,412153,412157,412158,412162,412163,412167,412168,412748,412749,413292,413293,413331,413332,413339,413340,413380,413381,413406,413407,413412,413413,413468,413469,413478,413479,413496,413497,413514,413515,414736,414737,414742,414743,414749,414750,414756,414757,417666,417667,417678,417679,417683,417684,417688,417689,417692,417693,417699,417700,417705,417706,417711,417712,417723,417724,417840,417841,417880,417881,417936,417937,417998,417999,418029,418030,418118,418119,418141,418142,418252,418253,418371,418372,419410,419411,419590,419591,419597,419598,419619,419620,419864,419865,419909,419910,419961,419962,419968,419969,420737,420738,420766,420767,422203,422204,422212,422213,422221,422222,422311,422312,422335,422336,422340,422341,422494,422495,422516,422517,422556,422557,422563,422564,422572,422573,422588,422589,422600,422601,422713,422714,422769,422770,422776,422777,422867,422868,423063,423064,423092,423093,423114,423115,423256,423257,423418,423419,423611,423612,423650,423651,423674,423675,423737,423738,423747,423748,423919,423920,423926,423927,424132,424133,424173,424174,424261,424262,424354,424355,424655,424656,424743,424744,424754,424755,425198,425199,425301,425302,425479,425480,425839,425840,425865,425866,425870,425871,425891,425892,425899,425900,425904,425905,425933,425934,425943,425944,425950,425951,425974,425975,425980,425981,425982,425984,425985,432820,432879,432880,432922,432923,432934,432935,432943,432944,432950,432951,432960,432961,432967,432968,433014,433015,433033,433034,433041,433042,433077,433078,433083,433084,433161,433162,433266,433267,433274,433275,433282,433283,433291,433292,433400,433401,433405,433406,433414,433415,433492,433493,433498,433499,433606,433607,433744,433745,434136,434137,434413,434414,434422,434423,434439,434440,434475,434476,434547,434548,434562,434563,434567,434568,434582,434583,434624,434625,434667,434668,434696,434697,434929,434930,434935,434936,434940,434941,435001,435002,435036,435037,435050,435051,435056,435057,435080,435081,435097,435098,435103,435104,435116,435117,435141,435142,435175,435176,435210,435211,435220,435221,435453,435454,435537,435538,435545,435546,435562,435563,435570,435571,435579,435580,435599,435600,435775,435776,435787,435788,435792,435793,435818,435819,435834,435835,435861,435862,435931,435932,435974,435975,436516,436517,436541,436542,436554,436555,436560,436561,436569,436570,436579,436580,436590,436591,436596,436597,436607,436608,436615,436616,436628,436629,436633,436634,436654,436655,439389,439390,439435,439436,439449,439450,439518,439519,440467,440468,440472,440473,440494,440495,440504,440505,441672,441673,441718,441719,441729,441730,441766,441767,441776,441777,441814,441815,441819,441820,441827,441828,441833,441834,442005,442006,442034,442035,442063,442064,442079,442080,442084,442085,442101,442102,442113,442114,442126,442127,442147,442148,442153,442154,442168,442169,442202,442203,442221,442222,442247,442248,442253,442254,442264,442265,442603,442604,442613,442614,442758,442759,442760,442761,442772,442773,442963,442964,442965,442966,442970,442971,444233,444234,444240,444241,444268,444269,444274,444275,444363,444364,444383,444384,444395,444396,444412,444413,444429,444430,444438,444439,444446,444447,445834,445835,445953,445954,446488,446489,446613,446614,446658,446659,446737,446738,447270,447271,447287,447288,447297,447298,447302,447303,447340,447341,447345,447346,447388,447389,447439,447440,447544,447545,447658,447659,447689,447690,447710,447711,447746,447747,447832,447833,447918,447919,447960,447961,447968,447969,447978,447979,448099,448100,448121,448122,448153,448154,448184,448185,448226,448227,448236,448237,448244,448245,448253,448254,448353,448354,448477,448478,448563,448564,448570,448571,448577,448578,448656,448657,448661,448662,448668,448669,448673,448674,448684,448685,448693,448694,448701,448702,448708,448709,448721,448722,448728,448729,448788,448789,448808,448809,448831,448832,448867,448868,448890,448891,448897,448898,448925,448926,449091,449092,449096,449097,449276,449277,449308,449309,449332,449333,449534,449535,449540,449541,449546,449547,449580,449581,449629,449630,449668,449669,449675,449676,449866,449867,449877,449878,449884,449885,449890,449891,449930,449931,450322,450323,450328,450329,450353,450354,450355,450356,450363,450364,450382,450383,450388,450389,450393,450394,450399,450400,450410,450411,450416,450417,450418,450419,450420,450421,450422,450423,450427,450428,450430,450431,450437,450438,450441,450442,450449,450450,450453,450454,450483,450484,450497,450498,450522,450523,450552,450553,450589,450590,450626,450627,450653,450654,450698,450699,450723,450724,450768,450769,450780,450781,450788,450789,450817,450818,450844,450845,450857,450858,450859,450860,450863,450864,450866,450867,450869,450870,450873,450874,450877,450878,450885,450886,450888,450889,450893,450894,450903,450904,450908,450909,450914,450915,450919,450920,450925,450926,450929,450930,450934,450935,450939,450940,450947,450948,450953,450954,450957,450958,450963,450964,450968,450969,450972,450973,450978,450979,450983,450984,450988,450989,450992,450993,450999,451000,451003,451004,451009,451010,451016,451017,451020,451021,451031,451032,451034,451035,451040,451041,451045,451046,451061,451062,451065,451066,451070,451071,451076,451077,451082,451083,451088,451089,451094,451095,451099,451100,451102,451103,451109,451110,451116,451117,451123,451124,451128,451129,451136,451137,451143,451144,451147,451148,451154,451155,451161,451162,451169,451170,451173,451174,451184,451185,451188,451189,451200,451201,451204,451205,451209,451210,451215,451216,451221,451222,451228,451229,451234,451235,451242,451243,451247,451248,451252,451253,451258,451259,451264,451265,451272,451273,451280,451281,451284,451285,451293,451294,451295,451296,451303,451304,451310,451311,451367,451368,451390,451391,451398,451399,451408,451409,451416,451417,451425,451426,451438,451439,451450,451451,451461,451462,451474,451475,451483,451484,451492,451493,451503,451504,451514,451515,451523,451524,451528,451529,451536,451537,451547,451548,451558,451559,451569,451570,451621,451622,451630,451631,451639,451640,451655,451656,451660,451661,451674,451675,451683,451684,451727,451728,451741,451742,451758,451759,451768,451769,451777,451778,451806,451807,451819,451820,451830,451831,451844,451845,451855,451856,451867,451868,451882,451883,451894,451895,451912,451913,451919,451920,451924,451925,451966,451967,451977,451978,451987,451988,451999,452000,452010,452011,452018,452019,452028,452029,452040,452041,452052,452053,452057,452058,452067,452068,452077,452078,452088,452089,452096,452097,452105,452106,452120,452121,452149,452150,452160,452161,452183,452184,452198,452199,452204,452205,452249,452250,452263,452264,452279,452280,452295,452296,452302,452303,452316,452317,452328,452329,452341,452342,452350,452351,452362,452363,452373,452374,452401,452402,452480,452481,452492,452493,452503,452504,452515,452516,452524,452525,452547,452548,452555,452556,452566,452567,452576,452577,452595,452596,452639,452640,452649,452650,452662,452663,452670,452671,452707,452708,452754,452755,452763,452764,452769,452770,452778,452779,452799,452800,452801,452802,452804,452805,452807,452808,452810,452811,452814,452815,452817,452818,452820,452821,452823,452824,452827,452828,452832,452833,452835,452836,452839,452840,452842,452843,452845,452846,452848,452849,452852,452853,452855,452856,452859,452860,452863,452864,452969,452970,452971,452972,452973,452974,452977,452978,452982,452983,452987,452988,452989,452990,452991,452992,456176,456177,458256,458257,458258,458259,458260,458261,458296,458297,458298,458299,458300,458301,458311,458312,458313,458314,458316,458317,458318,458319,458323,458324,458325,458326,458327,458328,458329,458330,458331,458332,458344,458345,458346,458347,458589,458590,458591,458592,458593,458594,458595,458596,458598,458599,458600,458601,458602,458603,458613,458614,458615,458616,458621,458622,458623,458624,458625,458626,458665,458666,458667,458668,458708,458709,458710,458711,458712,458713,458719,458720,458721,458722,458748,458749,458750,458752,458753,477050,477051,477052,477328,477329,477330,477331,477344,477345,477346,477347,477348,477349,477350,477351,477352,477353,477408,477409,477410,477411,477413,477414,477415,477416,477417,477418,477441,477442,477443,477444,478202,478203,478204,478205,478206,478207,479285,479286,479287,479288,479290,479291,479292,479293,479294,479295,479302,479303,479304,479305,479307,479308,479309,479310,479311,479312,479325,479326,479327,479328,485102,485103,485104,485105,485131,485132,485133,485134,485135,485136,485254,485255,485256,485257,485259,485260,485261,485262,485263,485264,485274,485275,485276,485277,485303,485304,485305,485306,485307,485308,485395,485396,485397,485398,485400,485401,485402,485403,485404,485405,485448,485449,485450,485451,487326,487327,487328,487329,487330,487331,487332,487333,487334,487335,489938,489939,489940,489941,489955,489956,489957,489958,489959,489960,489970,489971,489972,489973,489974,489975,490023,490024,490025,490026,490027,490028,490184,490185,490293,490294,490437,490438,490539,490540,490730,490731,490890,490891,490954,490955,491103,491104,491308,491309,491403,491404,491466,491467,491468,491469,491470,491471,491472,491473,491474,491475,491476,491477,491478,491479,491488,491489,491490,491491,491493,491494,491495,491496,491497,491498,491499,491500,491501,491502,491514,491515,491516,491517,491518,491520,491521,514896,515050,515051,515078,515079,515105,515106,515133,515134,515142,515143,515147,515148,515149,515150,515156,515157,515158,515159,515160,515161,515162,515163,515165,515166,515167,515168,515177,515178,515179,515180,515181,515182,515183,515184,515185,515186,515187,515188,515189,515190,515191,515192,515270,515271,515272,515273,515274,515275,515276,515277,515278,515279,515280,515281,515282,515283,515284,515285,515287,515288,515289,515290,515291,515292,515293,515294,515330,515331,515332,515333,515369,515370,515371,515372,515373,515374,515375,515376,515377,515378,515379,515380,515381,515382,515384,515385,515387,515388,515389,515390,515391,515392,515393,515394,515395,515396,515397,515398,515399,515400,515401,515402,515403,515404,515405,515406,515407,515408,520993,520994,520995,520996,520997,520998,520999,521000,521001,521002,521003,521004,521008,521009,521012,521013,521017,521018,521022,521023,521027,521028,521029,521030,521031,521032,521033,521034,521037,521038,521039,521040,521041,521042,521043,521044,521045,521046,521047,521048,521049,521050,521051,521052,521053,521054,521055,521056,521057,521058,521059,521060,521061,521062,521063,521064,521065,521066,521067,521068,521069,521070,521071,521072,521073,521074,521075,521076,521077,521078,521079,521080,521081,521082,521083,521084,521085,521086,521087,521088,521089,521090,521091,521092,521093,521094,521095,521096,521097,521098,521099,521100,521101,521102,521103,521104,521105,521106,521107,521108,521112,521113,521118,521119,521120,521121,521243,521244,521245,521246,521247,521248,521249,521250,521252,521253,521254,521255,521256,521257,521324,521325,521326,521327,521358,521359,521360,521361,521362,521363,521373,521374,521375,521376,521491,521492,521493,521494,521495,521496,522156,522157,522158,522159,522160,522161,522162,522163,522164,522165,522173,522174,522175,522176,522177,522178,522199,522200,522201,522202,522358,522359,522360,522361,522362,522363,522364,522365,522377,522378,522379,522380,522381,522382,522390,522391,522392,522393,522400,522401,522402,522403,522404,522405,522761,522762,522763,522764,522949,522950,522951,522952,522953,522954,523127,523128,523129,523130,523137,523138,523139,523140,523141,523142,523197,523198,523199,523200,523207,523208,523209,523210,523211,523212,523622,523623,523624,523625,523691,523692,523693,523694,523695,523696,524076,524077,524078,524079,524080,524081,524082,524083,524084,524085,524129,524130,524131,524132,524133,524134,524174,524175,524176,524177,524181,524182,524197,524198,524210,524211,524221,524222,524232,524233,524248,524249,524264,524265,524283,524284,524285,524288,524289,528284,530413,530414,533227,533228,547883,547884,548661,548662,548669,548670,548678,548679,548684,548685,548704,548705,548710,548711,548738,548739,548765,548766,548799,548800,548806,548807,548837,548838,548854,548855,548859,548860,548927,548928,548973,548974,549019,549020,549065,549066,549095,549096,549102,549103,549117,549118,549122,549123,549131,549132,549140,549141,549160,549161,549180,549181,549188,549189,549194,549195,549205,549206,549216,549217,549221,549222,549232,549233,549238,549239,549307,549308,549349,549350,549384,549385,549389,549390,549399,549400,549409,549410,549511,549512,549527,549528,549533,549534,549542,549543,549556,549557,549566,549567,549573,549574,549580,549581,549587,549588,549592,549593,549598,549599,549604,549605,549622,549623,549628,549629,549634,549635,550667,550668,550677,550678,550682,550683,551554,551555,551559,551560,551569,551570,551581,551582,551587,551588,551592,551593,551597,551598,551607,551608,551612,551613,551618,551619,551625,551626,551642,551643,551649,551650,551655,551656,551664,551665,551670,551671,551676,551677,551678,551679,551686,551687,551688,551689,551690,551691,551692,551693,551694,551695,551696,551697,551698,551699,551700,551701,551704,551705,551706,551707,551708,551709,551710,551711,551713,551714,551715,551716,551717,551718,551719,551720,551721,551722,551723,551724,551725,551726,551727,551728,551729,551730,551731,551732,551733,551734,551735,551736,551737,551738,551739,551740,551741,551742,551743,551744,551745,551746,551747,551748,551749,551750,551751,551752,551753,551754,551755,551756,551757,551758,551759,551760,551761,551762,551763,551764,551765,551766,551767,551768,551769,551770,551771,551772,551773,551774,551775,551776,551777,551778,551779,551780,551781,551782,551783,551784,551785,551786,551787,551788,551789,551790,551791,551792,551793,551794,551795,551796,551797,551798,551806,551807,551811,551812,551813,551814,553417,553418,556248,556249,556250,556251,556253,556254,556256,556257,556258,556259,556260,556261,556262,556263,556271,556272,556312,556313,556319,556320,556360,556361,556539,556540,556541,556542,556543,556544,556545,556546,556547,556548,556549,556550,556551,556552,556553,556554,556586,556587,556602,556603,556705,556706,556707,556708,556709,556710,556711,556712,556713,556714,556715,556716,556717,556718,556725,556726,556728,556729,556730,556731,556749,556750,556751,556752,556753,556754,556755,556756,557010,557011,557021,557022,557029,557030,557042,557043,557048,557049,557054,557056,557057,557552,557553,566436,566438,566439,566440,566441,566442,566443,566444,566454,566455,566456,566457,566478,566479,566488,566489,566490,566491,566506,566507,566663,566664,566665,566666,566667,566668,566669,566670,566671,566672,566676,566677,566678,566679,566695,566696,566703,566704,566705,566706,566715,566716,566729,566730,566731,566732,566748,566749,566806,566807,566808,566809,566841,566842,566846,566847,566851,566852,566853,566854,566863,566864,567527,567528,567529,567530,567531,567532,567533,567534,567544,567545,567556,567557,567558,567559,567560,567561,567562,567563,567580,567581,567586,567587,567588,567589,567628,567629,567630,567631,567632,567633,567634,567635,567640,567641,567642,567643,567660,567661,567662,567663,567664,567665,568423,568429,568430,568437,568438,568449,568450,568455,568456,568457,568458,568472,568473,568482,568483,568484,568485,568489,568490,568494,568495,568499,568500,568512,568513,568518,568519,572998,573005,577536") == "46981c4dc0850557deac50345081ba4c156d4290" || block_image_verify("/dev/block/platform/mtk-msdc.0/11230000.msdc0/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/platform/mtk-msdc.0/11230000.msdc0/by-name/system");
ifelse (block_image_recover("/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/system", "5246,1,144,145,331,32686,32687,32693,32694,32695,32696,32706,32707,32724,32725,32726,32727,32754,32755,32756,32757,32758,32759,32760,32761,32762,32763,32764,32765,32766,32767,32768,32770,32913,32914,48219,48302,48303,56585,56586,56658,56659,56660,56661,56662,56663,56664,56665,56666,56667,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57741,57742,57743,57744,57747,57748,62639,62640,62641,62642,62726,62727,62728,62729,62730,62731,62732,62733,62734,62735,62736,62737,62738,62739,62740,62741,62742,62743,62744,62745,62746,62747,62773,62774,62775,62776,62779,62780,62781,62782,62869,62870,62871,62872,62873,62874,62875,62876,62877,62878,62879,62880,62881,62882,62883,62884,62885,62886,62887,62888,62889,62890,62891,62892,62917,62918,62919,62920,62923,62924,62925,62926,63002,63003,63004,63005,63006,63007,63008,63009,63010,63011,63012,63013,63014,63015,63016,63017,63018,63019,63020,63021,63022,63023,63049,63050,63051,63052,63055,63056,63057,63058,63155,63156,63157,63158,63159,63160,63161,63162,63163,63164,63165,63166,63167,63168,63169,63170,63171,63172,63173,63174,63175,63176,63177,63178,63203,63204,63205,63206,63209,63210,63211,63212,63287,63288,63289,63290,63291,63292,63293,63294,63295,63296,63297,63298,63299,63300,63301,63302,63303,63304,63305,63306,63307,63308,63334,63335,63336,63337,63340,63341,63342,63343,63432,63433,63434,63435,63436,63437,63438,63439,63440,63441,63442,63443,63444,63445,63446,63447,63448,63449,63450,63451,63452,63453,63454,63455,63487,63488,63489,63490,63493,63494,63495,63496,63597,63598,63599,63600,63601,63602,63603,63604,63605,63606,63607,63608,63739,63740,63741,63742,63743,63744,63745,63746,63747,63748,63779,63780,63781,63782,63785,63786,63787,63788,63891,63892,63893,63894,63895,63896,63897,63898,63899,63900,63901,63902,63903,63904,64035,64036,64037,64038,64039,64040,64041,64042,64043,64044,64075,64076,64077,64078,64081,64082,64083,64084,64200,64201,64202,64203,64204,64205,64206,64207,64208,64209,64210,64211,64342,64343,64344,64345,64346,64347,64348,64349,64350,64351,64381,64382,64383,64384,64387,64388,64389,64390,64476,64477,64478,64479,64480,64481,64482,64483,64484,64485,64486,64487,64488,64489,64490,64491,64492,64493,64494,64495,64526,64527,64528,64529,64532,64533,64534,64535,64635,64636,64637,64638,64639,64640,64641,64642,64643,64644,64645,64646,64647,64648,64750,64751,64790,64791,64874,64875,64876,64877,64916,64917,64918,64919,64922,64923,64924,64925,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65040,65041,65042,65043,65044,65045,65046,65047,65048,65049,65050,65051,65052,65067,65068,65069,65070,65071,65072,65073,65074,65184,65185,65186,65187,65188,65189,65190,65191,65192,65193,65194,65195,65196,65197,65198,65199,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65400,65401,65402,65403,65406,65407,65408,65409,65503,65504,65505,65506,65507,65508,65509,65510,65511,65512,65513,65514,65515,65516,65517,65518,65519,65520,65521,65522,65523,65524,65525,65526,65529,65530,65531,65532,65533,65536,65537,78832,98303,98304,98306,98449,98450,103111,111026,111027,112182,112183,119999,120000,131002,131003,131005,131006,131007,131008,131014,131015,131054,131055,131056,131057,131058,131059,131069,131072,131073,131568,136552,163840,163842,163985,163986,164481,165664,165665,166285,166286,172581,172582,172594,172595,172645,172646,172683,172684,172778,172779,172797,172798,172816,172817,172894,172895,172909,172910,172918,172919,172923,172924,172940,172941,172957,172958,172973,172974,172981,172982,173032,173033,173045,173046,173061,173062,173091,173092,173108,173109,173161,173162,173192,173193,173226,173227,173233,173234,173240,173241,173246,173247,173422,173423,173429,173430,173458,173459,173526,173527,173550,173551,173597,173598,173634,173635,173639,173640,173652,173653,173693,173694,173698,173699,173708,173709,173719,173720,173727,173728,173732,173733,173735,173736,173740,173741,173792,173793,173811,173812,173835,173836,173861,173862,173869,173870,173878,173879,173887,173888,173893,173894,173899,173900,173904,173905,173919,173920,174075,174076,174089,174090,174126,174127,174174,174175,174191,174192,174206,174207,174221,174222,174235,174236,174241,174242,174356,174357,174410,174411,174420,174421,174458,174459,174480,174481,174549,174550,174605,174606,174613,174614,174628,174629,174636,174637,174675,174676,174730,174731,174782,174783,174813,174814,174849,174850,174854,174855,174859,174860,174865,174866,174896,174897,176489,176490,176512,176513,176533,176534,177141,177142,177154,177155,177164,177165,177169,177170,177188,177189,177194,177195,177209,177210,177214,177215,177311,177312,177447,177448,177455,177456,177464,177465,177472,177473,177478,177479,177487,177488,177493,177494,177499,177500,177504,177505,177510,177511,177525,177526,177693,177694,177720,177721,177746,177747,177766,177767,177780,177781,177792,177793,177806,177807,177817,177818,177827,177828,177834,177835,177860,177861,177923,177924,177968,177969,177987,177988,178000,178001,178020,178021,178042,178043,178102,178103,178150,178151,178176,178177,178222,178223,178230,178231,178236,178237,178244,178245,178249,178250,178254,178255,178264,178265,178272,178273,178347,178348,178461,178462,178478,178479,178486,178487,178497,178498,178507,178508,178785,178786,178814,178815,178851,178852,178857,178858,179056,179057,179068,179069,179073,179074,179084,179085,179089,179090,179213,179214,179229,179230,179235,179236,179241,179242,179256,179257,179295,179296,179345,179346,179351,179352,179359,179360,179365,179366,179372,179373,179381,179382,179438,179439,179641,179642,179650,179651,179670,179671,179684,179685,179736,179737,179742,179743,179745,179746,179751,179752,179757,179758,179765,179766,179785,179786,179790,179791,179795,179796,179801,179802,179810,179811,179831,179832,179840,179841,179862,179863,179884,179885,179908,179909,179921,179922,179927,179928,179955,179956,179961,179962,179966,179967,179980,179981,180020,180021,180052,180053,180169,180170,180175,180176,180185,180186,180192,180193,180207,180208,180214,180215,180224,180225,180243,180244,180256,180257,180306,180307,180498,180499,180510,180511,180514,180515,180532,180533,180674,180675,180720,180721,180728,180729,180814,180815,180882,180883,180968,180969,180975,180976,180980,180981,180987,180988,181119,181120,181138,181139,181146,181147,181148,181149,181160,181161,181172,181173,181561,181562,181764,181765,181801,181802,181803,181804,181805,181806,181808,181809,181810,181811,181812,181813,181944,181945,181946,181947,181948,181949,181951,181952,181954,181955,181956,181957,181958,181959,182004,182005,182006,182007,182089,182090,182091,182092,182093,182094,182095,182096,182194,182195,182196,182197,182200,182201,182202,182203,182204,182205,182222,182223,182224,182225,182226,182227,182323,182324,182325,182326,182327,182328,182842,182843,183827,183828,184279,184280,184281,184282,184751,184752,184792,184793,184794,184795,184800,184801,185008,196608,196609,228337,228352,228353,228415,228416,228417,228418,228419,228420,228421,228422,228423,228424,228425,228426,228444,228445,228446,228447,228551,228552,228553,228554,228555,228556,228557,228558,228559,228560,228589,228590,228591,228592,228595,228596,228693,228694,228798,228799,228888,228889,228890,228891,228892,228893,228894,228895,228999,229000,229001,229002,229003,229004,229005,229006,229035,229036,229037,229038,229041,229042,229043,229044,229161,229162,229163,229164,229165,229166,229167,229168,229169,229170,229171,229172,229276,229277,229278,229279,229280,229281,229282,229283,229284,229285,229315,229316,229317,229318,229321,229322,229323,229324,229325,229326,229327,229328,229329,229330,229331,229332,229333,229334,229335,229336,229337,229338,229339,229340,229341,229342,229357,229358,229359,229360,229363,229364,229367,229368,229369,229370,229371,229372,229373,229376,229378,229521,229522,230017,230018,230019,230024,230025,230037,230038,230071,230072,230091,230092,230127,230128,230129,230130,230150,230151,230191,230192,230198,230199,230239,230242,230257,230258,230270,230271,230283,230284,230292,230293,230298,230299,230366,230367,230368,230369,230477,230478,230488,230489,230498,230499,230500,230501,230502,230503,230504,230505,230523,230524,230579,230580,230642,230643,230704,230705,230706,230707,230728,230729,230858,230859,231012,231013,231019,231020,231029,231030,231048,231049,231057,231058,231063,231064,231072,231073,231198,231199,231200,231201,231206,231207,231214,231215,231220,231221,231226,231227,231228,231229,231244,231245,231246,231247,231254,231255,231260,231261,231316,231317,231318,231319,231357,231358,231376,231377,231381,231382,231393,231394,231405,231406,231407,231408,231453,231454,231499,231500,231509,231510,231554,231555,231559,231560,231561,231562,231575,231576,231581,231582,231586,231587,231592,231593,231619,231620,231628,231629,231635,231636,231640,231641,231647,231648,231654,231655,231656,231657,231688,231689,231735,231736,231737,231738,231770,231771,231776,231777,231778,231779,231801,231802,231803,231804,231826,231827,231897,231898,231910,231911,231917,231918,231920,231921,231936,231937,231942,231943,232056,232057,232058,232059,232081,232082,232392,232393,232395,232396,232397,232398,232424,232425,232426,232427,232428,232429,232430,232431,232432,232433,232434,232435,232436,232437,232438,232439,232440,232441,232442,232443,232444,232445,232446,232447,232448,232449,232450,232451,232452,232453,232454,232455,232456,232457,232458,232459,232460,232461,232462,232463,232464,232465,232466,232467,232468,232469,232470,232471,232472,232473,232474,232475,232476,232477,232478,232479,232480,232481,232482,232483,232484,232485,232486,232487,232488,232489,232490,232491,232492,232493,232494,232495,232496,232497,232498,232499,232500,232501,232502,232503,232504,232505,232506,232507,232508,232509,232510,232511,232512,232513,232514,232515,232516,232517,232518,232519,232520,232521,232522,232523,232524,232525,232526,232527,232528,232529,232530,232531,232532,232533,232534,232535,232536,232537,232538,232539,232540,232541,232542,232543,232544,232545,232546,232547,232548,232549,232550,232551,232552,232553,232554,232555,232556,232557,232558,232559,232560,232561,232562,232563,232564,232565,232566,232567,232568,232569,232570,232571,232572,232573,232574,232575,232576,232577,232578,232579,232580,232581,232582,232583,232584,232585,232586,232587,232588,232589,232590,232591,232592,232593,232638,232639,232640,232641,232644,232645,237266,237267,237268,237269,237377,237378,237379,237380,237381,237382,237383,237384,237385,237386,237387,237388,237389,237390,237391,237392,237393,237394,237395,237396,237397,237398,237422,237423,237424,237425,237428,237429,242492,242493,242494,242495,242589,242590,242591,242592,242593,242594,242595,242596,242597,242598,242599,242600,242601,242602,242603,242604,242605,242606,242607,242608,242609,242610,242611,242612,242655,242656,242657,242658,242661,242662,247283,247284,247285,247286,247393,247394,247395,247396,247397,247398,247399,247400,247401,247402,247403,247404,247405,247406,247407,247408,247409,247410,247411,247412,247413,247414,247438,247439,247440,247441,247444,247445,252337,252338,252339,252340,252425,252426,252427,252428,252429,252430,252431,252432,252433,252434,252435,252436,252437,252438,252439,252440,252441,252442,252443,252444,252445,252446,252470,252471,252472,252473,252476,252477,257222,257223,257224,257225,257301,257302,257303,257304,257305,257306,257307,257308,257309,257310,257311,257312,257313,257314,257315,257316,257317,257318,257319,257320,257321,257322,257346,257347,257348,257349,257352,257353,261654,261655,261656,261657,261732,261733,261734,261735,261736,261737,261738,261739,261740,261741,261742,261743,261744,261745,261746,261747,261748,261749,261750,261751,261752,261753,261777,261778,261779,261780,261783,261784,261785,261786,261887,261888,261889,261890,261891,261892,261893,261894,261895,261896,261897,261898,261899,261900,261901,261902,261903,261904,261905,261906,261907,261908,261933,261934,261935,261936,261939,261940,261941,261942,262037,262038,262039,262040,262041,262042,262043,262044,262045,262046,262047,262048,262049,262050,262051,262052,262053,262054,262055,262056,262057,262058,262083,262084,262085,262086,262089,262090,262091,262092,262093,262094,262095,262096,262097,262098,262099,262100,262101,262102,262103,262104,262105,262106,262107,262108,262109,262110,262111,262112,262129,262130,262131,262132,262135,262136,262137,262138,262139,262140,262141,262144,262145,294594,294595,294596,294683,294684,294685,294686,294687,294688,294689,294690,294691,294692,294693,294694,294695,294696,294800,294801,294802,294803,294804,294805,294806,294807,294808,294809,294837,294838,294839,294840,294843,294844,294845,294846,294847,294848,294849,294850,294851,294852,294853,294854,294855,294856,294857,294858,294859,294860,294861,294862,294863,294864,294865,294866,294895,294896,294897,294898,294901,294902,294903,294904,294905,294906,294907,294908,294909,294912,294914,295057,295058,327429,327430,327599,327600,327646,327647,327674,327675,327680,327681,354280,354281,354282,354283,354284,354285,354286,354287,354288,354392,354393,354703,354704,354808,354809,354810,354811,354812,354813,354814,354815,354816,354817,354846,354847,354848,354849,354852,354853,359777,359778,359779,359780,359882,359883,359884,359885,359886,359887,359888,359889,359890,359891,359892,359893,359894,359895,359999,360000,360001,360002,360003,360004,360005,360006,360007,360008,360023,360024,360025,360026,360027,360028,360029,360030,360140,360141,360142,360143,360144,360145,360146,360147,360148,360149,360150,360151,360152,360153,360154,360155,360259,360260,360261,360262,360263,360264,360314,360315,360316,360317,360391,360392,360394,360395,360399,360400,360403,360404,360405,360406,360407,360408,360409,360410,360411,360412,360413,360414,360415,360416,360417,360418,360423,360424,360429,360430,360431,360432,360433,360434,360436,360437,360438,360439,360440,360441,360442,360443,360444,360445,360446,360448,360449,366079,366080,366081,366082,366083,366084,366085,366086,366087,366088,366089,366090,366091,366092,366093,366094,366095,366096,366097,366098,366099,366100,366101,366102,366103,366104,366105,366106,366107,366108,366109,366110,366111,366112,366113,366114,366115,366116,366117,366118,366119,366120,366121,366123,366124,366126,366127,366128,366129,366132,366133,366136,366137,366138,366139,366140,366141,366142,366143,366144,366145,366146,366147,366148,366149,366150,366151,366152,366153,366154,366155,366156,366157,366158,366159,366160,366161,366162,366163,366164,366165,366166,366167,366168,366169,366170,366171,366172,366173,366174,366175,366176,366177,366178,366179,366180,366181,366182,366183,366184,366185,366186,366187,366188,366189,366191,366192,366195,366196,366197,366198,366202,366203,366241,366242,366243,366244,366245,366246,366869,366870,366871,366872,366873,366874,366875,366876,366877,366878,366879,366880,366882,366883,366885,366886,366888,366889,366890,366891,366893,366894,366896,366897,366899,366900,366901,366902,366904,366905,366907,366908,366910,366911,366913,366914,366916,366917,366919,366920,366922,366923,366925,366926,366928,366929,366931,366932,366934,366935,366937,366938,366941,366942,366944,366945,366947,366948,366950,366951,366953,366954,366956,366957,366958,366959,366960,366961,366963,366964,366966,366967,366970,366971,366974,366975,366977,366978,366980,366981,366983,366984,366986,366987,366989,366990,366992,366993,366995,366996,366998,366999,367002,367003,367005,367006,367008,367009,367011,367012,367014,367015,367017,367018,367020,367021,367023,367024,367026,367027,367029,367030,367032,367033,367035,367036,367038,367039,367041,367042,367044,367045,367047,367048,367050,367051,367053,367054,367055,367056,367058,367059,367061,367064,367066,367067,367069,367070,367072,367073,367075,367076,367077,367078,367080,367081,367083,367084,367086,367087,367089,367090,367092,367093,367095,367096,367098,367099,367101,367102,367104,367105,367107,367108,367110,367111,367113,367114,367116,367117,367119,367120,367122,367123,367124,367125,367127,367128,367130,367131,367133,367134,367136,367137,367139,367140,367142,367143,367145,367146,367148,367149,367151,367152,367154,367155,367157,367158,367160,367161,367164,367165,367167,367168,367170,367171,367173,367174,367176,367177,367179,367180,367181,367182,367184,367185,367187,367188,367190,367191,367193,367194,367196,367197,367198,367199,367201,367202,367204,367205,367207,367208,367210,367211,367213,367214,367215,367216,367218,367219,367221,367222,367224,367225,367227,367228,367230,367231,367232,367233,367235,367236,367238,367239,367241,367242,367244,367245,367247,367248,367249,367250,367252,367253,367255,367256,367258,367259,367261,367262,367264,367265,367267,367268,367270,367271,367273,367274,367276,367277,367279,367280,367282,367283,367285,367286,367288,367289,367290,367291,367293,367294,367296,367297,367299,367300,367302,367303,367305,367306,367308,367309,367311,367312,367314,367315,367317,367318,367319,367320,367321,367322,367335,367336,367378,367379,367380,367381,367382,367383,367384,367385,367386,367387,367388,367389,367390,367391,367395,367396,367398,367399,367401,367402,367412,367413,367428,367429,367446,367447,367476,367477,367506,367507,367534,367535,368388,368389,368418,368419,368448,368449,368478,368479,368508,368509,368513,368514,368518,368519,368527,368528,368561,368562,368566,368567,368592,368593,368618,368619,368645,368646,368673,368674,368676,368677,368679,368680,373240,373241,373253,373254,373260,373261,373267,373268,373277,373278,373284,373285,373318,373319,373353,373354,373384,373385,373416,373417,373453,373454,373489,373490,373495,373496,373501,373502,373506,373507,373536,373537,373567,373568,373596,373597,373626,373627,373635,373636,373644,373645,373653,373654,373662,373663,373665,373666,373671,373672,373677,373678,373688,373689,373709,373710,373731,373732,373752,373753,373773,373774,373776,373777,373786,373787,373796,373797,373806,373807,373817,373818,373826,373827,373835,373836,373844,373845,373853,373854,373879,373880,373883,373884,373886,373887,373901,373902,373916,373917,373931,373932,373946,373947,373951,373952,373956,373957,373985,373986,374013,374014,374041,374042,374068,374069,374095,374096,374101,374102,374106,374107,374109,374110,374131,374132,374153,374154,374174,374175,374195,374196,374198,374199,374204,374205,374243,374244,374284,374285,374288,374289,374293,374294,374365,374366,374370,374371,374383,374384,374386,374387,374390,374391,374403,374404,374408,374409,374418,374419,374428,374429,374438,374439,374448,374449,374476,374477,374505,374506,374534,374535,374563,374564,374568,374569,374573,374574,374579,374580,374586,374587,374592,374593,374599,374600,374692,374693,374792,374793,374797,374798,374814,374815,374846,374847,374908,374909,374974,374975,375037,375038,375099,375100,375202,375203,375278,375279,375360,375361,375436,375437,375518,375519,375600,375601,375677,375678,375760,375761,375836,375837,375918,375919,375994,375995,376070,376071,376151,376152,376226,376227,376308,376309,376390,376391,376466,376467,376549,376550,376625,376626,376627,376628,376629,376630,376631,376632,376637,376638,376639,376640,376641,376642,376667,376668,377035,377036,377073,377074,377492,377493,377521,377522,377698,377699,377701,377702,377717,377718,377947,377948,379706,379707,379737,379738,380076,380077,381158,381159,390334,390335,390346,390347,390517,390518,390523,390524,390564,390565,390572,390573,390642,390643,390645,390646,390654,390655,390691,390692,390915,390916,390934,390935,391202,391203,391260,391261,393046,393047,393052,393053,393118,393119,393120,393121,393122,393123,393124,393125,393126,393127,393128,393129,393130,393131,393132,393133,393134,393135,393136,393137,393138,393139,393144,393145,393175,393176,393177,393178,393179,393180,393181,393182,393183,393184,393185,393186,393187,393188,393189,393190,393191,393192,393193,393194,393195,393196,393197,393198,393199,393200,393201,393202,393203,393204,393205,393206,393214,393216,393217,403985,404033,404034,404140,404141,404158,404159,404167,404168,404176,404177,404196,404197,404207,404208,404215,404216,404231,404232,404241,404242,404261,404262,404276,404277,404286,404287,404297,404298,404342,404343,404355,404356,404438,404439,404470,404471,404481,404482,410581,410582,410594,410595,410605,410606,410618,410619,410629,410630,410719,410720,411578,411579,411589,411590,411591,411592,411593,411594,411595,411596,411597,411598,411599,411600,411601,411602,411603,411604,411605,411606,411607,411608,411609,411610,411611,411612,411613,411614,411615,411616,411617,411618,411621,411622,411623,411624,411625,411626,411627,411628,411653,411654,411655,411656,411664,411665,411670,411671,411680,411681,411687,411688,411713,411714,411718,411719,412140,412141,412147,412148,412152,412153,412157,412158,412162,412163,412167,412168,412748,412749,413292,413293,413331,413332,413339,413340,413380,413381,413406,413407,413412,413413,413468,413469,413478,413479,413496,413497,413514,413515,414736,414737,414742,414743,414749,414750,414756,414757,417666,417667,417678,417679,417683,417684,417688,417689,417692,417693,417699,417700,417705,417706,417711,417712,417723,417724,417840,417841,417880,417881,417936,417937,417998,417999,418029,418030,418118,418119,418141,418142,418252,418253,418371,418372,419410,419411,419590,419591,419597,419598,419619,419620,419864,419865,419909,419910,419961,419962,419968,419969,420737,420738,420766,420767,422203,422204,422212,422213,422221,422222,422311,422312,422335,422336,422340,422341,422494,422495,422516,422517,422556,422557,422563,422564,422572,422573,422588,422589,422600,422601,422713,422714,422769,422770,422776,422777,422867,422868,423063,423064,423092,423093,423114,423115,423256,423257,423418,423419,423611,423612,423650,423651,423674,423675,423737,423738,423747,423748,423919,423920,423926,423927,424132,424133,424173,424174,424261,424262,424354,424355,424655,424656,424743,424744,424754,424755,425198,425199,425301,425302,425479,425480,425839,425840,425865,425866,425870,425871,425891,425892,425899,425900,425904,425905,425933,425934,425943,425944,425950,425951,425974,425975,425980,425981,425982,425984,425985,432820,432879,432880,432922,432923,432934,432935,432943,432944,432950,432951,432960,432961,432967,432968,433014,433015,433033,433034,433041,433042,433077,433078,433083,433084,433161,433162,433266,433267,433274,433275,433282,433283,433291,433292,433400,433401,433405,433406,433414,433415,433492,433493,433498,433499,433606,433607,433744,433745,434136,434137,434413,434414,434422,434423,434439,434440,434475,434476,434547,434548,434562,434563,434567,434568,434582,434583,434624,434625,434667,434668,434696,434697,434929,434930,434935,434936,434940,434941,435001,435002,435036,435037,435050,435051,435056,435057,435080,435081,435097,435098,435103,435104,435116,435117,435141,435142,435175,435176,435210,435211,435220,435221,435453,435454,435537,435538,435545,435546,435562,435563,435570,435571,435579,435580,435599,435600,435775,435776,435787,435788,435792,435793,435818,435819,435834,435835,435861,435862,435931,435932,435974,435975,436516,436517,436541,436542,436554,436555,436560,436561,436569,436570,436579,436580,436590,436591,436596,436597,436607,436608,436615,436616,436628,436629,436633,436634,436654,436655,439389,439390,439435,439436,439449,439450,439518,439519,440467,440468,440472,440473,440494,440495,440504,440505,441672,441673,441718,441719,441729,441730,441766,441767,441776,441777,441814,441815,441819,441820,441827,441828,441833,441834,442005,442006,442034,442035,442063,442064,442079,442080,442084,442085,442101,442102,442113,442114,442126,442127,442147,442148,442153,442154,442168,442169,442202,442203,442221,442222,442247,442248,442253,442254,442264,442265,442603,442604,442613,442614,442758,442759,442760,442761,442772,442773,442963,442964,442965,442966,442970,442971,444233,444234,444240,444241,444268,444269,444274,444275,444363,444364,444383,444384,444395,444396,444412,444413,444429,444430,444438,444439,444446,444447,445834,445835,445953,445954,446488,446489,446613,446614,446658,446659,446737,446738,447270,447271,447287,447288,447297,447298,447302,447303,447340,447341,447345,447346,447388,447389,447439,447440,447544,447545,447658,447659,447689,447690,447710,447711,447746,447747,447832,447833,447918,447919,447960,447961,447968,447969,447978,447979,448099,448100,448121,448122,448153,448154,448184,448185,448226,448227,448236,448237,448244,448245,448253,448254,448353,448354,448477,448478,448563,448564,448570,448571,448577,448578,448656,448657,448661,448662,448668,448669,448673,448674,448684,448685,448693,448694,448701,448702,448708,448709,448721,448722,448728,448729,448788,448789,448808,448809,448831,448832,448867,448868,448890,448891,448897,448898,448925,448926,449091,449092,449096,449097,449276,449277,449308,449309,449332,449333,449534,449535,449540,449541,449546,449547,449580,449581,449629,449630,449668,449669,449675,449676,449866,449867,449877,449878,449884,449885,449890,449891,449930,449931,450322,450323,450328,450329,450353,450354,450355,450356,450363,450364,450382,450383,450388,450389,450393,450394,450399,450400,450410,450411,450416,450417,450418,450419,450420,450421,450422,450423,450427,450428,450430,450431,450437,450438,450441,450442,450449,450450,450453,450454,450483,450484,450497,450498,450522,450523,450552,450553,450589,450590,450626,450627,450653,450654,450698,450699,450723,450724,450768,450769,450780,450781,450788,450789,450817,450818,450844,450845,450857,450858,450859,450860,450863,450864,450866,450867,450869,450870,450873,450874,450877,450878,450885,450886,450888,450889,450893,450894,450903,450904,450908,450909,450914,450915,450919,450920,450925,450926,450929,450930,450934,450935,450939,450940,450947,450948,450953,450954,450957,450958,450963,450964,450968,450969,450972,450973,450978,450979,450983,450984,450988,450989,450992,450993,450999,451000,451003,451004,451009,451010,451016,451017,451020,451021,451031,451032,451034,451035,451040,451041,451045,451046,451061,451062,451065,451066,451070,451071,451076,451077,451082,451083,451088,451089,451094,451095,451099,451100,451102,451103,451109,451110,451116,451117,451123,451124,451128,451129,451136,451137,451143,451144,451147,451148,451154,451155,451161,451162,451169,451170,451173,451174,451184,451185,451188,451189,451200,451201,451204,451205,451209,451210,451215,451216,451221,451222,451228,451229,451234,451235,451242,451243,451247,451248,451252,451253,451258,451259,451264,451265,451272,451273,451280,451281,451284,451285,451293,451294,451295,451296,451303,451304,451310,451311,451367,451368,451390,451391,451398,451399,451408,451409,451416,451417,451425,451426,451438,451439,451450,451451,451461,451462,451474,451475,451483,451484,451492,451493,451503,451504,451514,451515,451523,451524,451528,451529,451536,451537,451547,451548,451558,451559,451569,451570,451621,451622,451630,451631,451639,451640,451655,451656,451660,451661,451674,451675,451683,451684,451727,451728,451741,451742,451758,451759,451768,451769,451777,451778,451806,451807,451819,451820,451830,451831,451844,451845,451855,451856,451867,451868,451882,451883,451894,451895,451912,451913,451919,451920,451924,451925,451966,451967,451977,451978,451987,451988,451999,452000,452010,452011,452018,452019,452028,452029,452040,452041,452052,452053,452057,452058,452067,452068,452077,452078,452088,452089,452096,452097,452105,452106,452120,452121,452149,452150,452160,452161,452183,452184,452198,452199,452204,452205,452249,452250,452263,452264,452279,452280,452295,452296,452302,452303,452316,452317,452328,452329,452341,452342,452350,452351,452362,452363,452373,452374,452401,452402,452480,452481,452492,452493,452503,452504,452515,452516,452524,452525,452547,452548,452555,452556,452566,452567,452576,452577,452595,452596,452639,452640,452649,452650,452662,452663,452670,452671,452707,452708,452754,452755,452763,452764,452769,452770,452778,452779,452799,452800,452801,452802,452804,452805,452807,452808,452810,452811,452814,452815,452817,452818,452820,452821,452823,452824,452827,452828,452832,452833,452835,452836,452839,452840,452842,452843,452845,452846,452848,452849,452852,452853,452855,452856,452859,452860,452863,452864,452969,452970,452971,452972,452973,452974,452977,452978,452982,452983,452987,452988,452989,452990,452991,452992,456176,456177,458256,458257,458258,458259,458260,458261,458296,458297,458298,458299,458300,458301,458311,458312,458313,458314,458316,458317,458318,458319,458323,458324,458325,458326,458327,458328,458329,458330,458331,458332,458344,458345,458346,458347,458589,458590,458591,458592,458593,458594,458595,458596,458598,458599,458600,458601,458602,458603,458613,458614,458615,458616,458621,458622,458623,458624,458625,458626,458665,458666,458667,458668,458708,458709,458710,458711,458712,458713,458719,458720,458721,458722,458748,458749,458750,458752,458753,477050,477051,477052,477328,477329,477330,477331,477344,477345,477346,477347,477348,477349,477350,477351,477352,477353,477408,477409,477410,477411,477413,477414,477415,477416,477417,477418,477441,477442,477443,477444,478202,478203,478204,478205,478206,478207,479285,479286,479287,479288,479290,479291,479292,479293,479294,479295,479302,479303,479304,479305,479307,479308,479309,479310,479311,479312,479325,479326,479327,479328,485102,485103,485104,485105,485131,485132,485133,485134,485135,485136,485254,485255,485256,485257,485259,485260,485261,485262,485263,485264,485274,485275,485276,485277,485303,485304,485305,485306,485307,485308,485395,485396,485397,485398,485400,485401,485402,485403,485404,485405,485448,485449,485450,485451,487326,487327,487328,487329,487330,487331,487332,487333,487334,487335,489938,489939,489940,489941,489955,489956,489957,489958,489959,489960,489970,489971,489972,489973,489974,489975,490023,490024,490025,490026,490027,490028,490184,490185,490293,490294,490437,490438,490539,490540,490730,490731,490890,490891,490954,490955,491103,491104,491308,491309,491403,491404,491466,491467,491468,491469,491470,491471,491472,491473,491474,491475,491476,491477,491478,491479,491488,491489,491490,491491,491493,491494,491495,491496,491497,491498,491499,491500,491501,491502,491514,491515,491516,491517,491518,491520,491521,514896,515050,515051,515078,515079,515105,515106,515133,515134,515142,515143,515147,515148,515149,515150,515156,515157,515158,515159,515160,515161,515162,515163,515165,515166,515167,515168,515177,515178,515179,515180,515181,515182,515183,515184,515185,515186,515187,515188,515189,515190,515191,515192,515270,515271,515272,515273,515274,515275,515276,515277,515278,515279,515280,515281,515282,515283,515284,515285,515287,515288,515289,515290,515291,515292,515293,515294,515330,515331,515332,515333,515369,515370,515371,515372,515373,515374,515375,515376,515377,515378,515379,515380,515381,515382,515384,515385,515387,515388,515389,515390,515391,515392,515393,515394,515395,515396,515397,515398,515399,515400,515401,515402,515403,515404,515405,515406,515407,515408,520993,520994,520995,520996,520997,520998,520999,521000,521001,521002,521003,521004,521008,521009,521012,521013,521017,521018,521022,521023,521027,521028,521029,521030,521031,521032,521033,521034,521037,521038,521039,521040,521041,521042,521043,521044,521045,521046,521047,521048,521049,521050,521051,521052,521053,521054,521055,521056,521057,521058,521059,521060,521061,521062,521063,521064,521065,521066,521067,521068,521069,521070,521071,521072,521073,521074,521075,521076,521077,521078,521079,521080,521081,521082,521083,521084,521085,521086,521087,521088,521089,521090,521091,521092,521093,521094,521095,521096,521097,521098,521099,521100,521101,521102,521103,521104,521105,521106,521107,521108,521112,521113,521118,521119,521120,521121,521243,521244,521245,521246,521247,521248,521249,521250,521252,521253,521254,521255,521256,521257,521324,521325,521326,521327,521358,521359,521360,521361,521362,521363,521373,521374,521375,521376,521491,521492,521493,521494,521495,521496,522156,522157,522158,522159,522160,522161,522162,522163,522164,522165,522173,522174,522175,522176,522177,522178,522199,522200,522201,522202,522358,522359,522360,522361,522362,522363,522364,522365,522377,522378,522379,522380,522381,522382,522390,522391,522392,522393,522400,522401,522402,522403,522404,522405,522761,522762,522763,522764,522949,522950,522951,522952,522953,522954,523127,523128,523129,523130,523137,523138,523139,523140,523141,523142,523197,523198,523199,523200,523207,523208,523209,523210,523211,523212,523622,523623,523624,523625,523691,523692,523693,523694,523695,523696,524076,524077,524078,524079,524080,524081,524082,524083,524084,524085,524129,524130,524131,524132,524133,524134,524174,524175,524176,524177,524181,524182,524197,524198,524210,524211,524221,524222,524232,524233,524248,524249,524264,524265,524283,524284,524285,524288,524289,528284,530413,530414,533227,533228,547883,547884,548661,548662,548669,548670,548678,548679,548684,548685,548704,548705,548710,548711,548738,548739,548765,548766,548799,548800,548806,548807,548837,548838,548854,548855,548859,548860,548927,548928,548973,548974,549019,549020,549065,549066,549095,549096,549102,549103,549117,549118,549122,549123,549131,549132,549140,549141,549160,549161,549180,549181,549188,549189,549194,549195,549205,549206,549216,549217,549221,549222,549232,549233,549238,549239,549307,549308,549349,549350,549384,549385,549389,549390,549399,549400,549409,549410,549511,549512,549527,549528,549533,549534,549542,549543,549556,549557,549566,549567,549573,549574,549580,549581,549587,549588,549592,549593,549598,549599,549604,549605,549622,549623,549628,549629,549634,549635,550667,550668,550677,550678,550682,550683,551554,551555,551559,551560,551569,551570,551581,551582,551587,551588,551592,551593,551597,551598,551607,551608,551612,551613,551618,551619,551625,551626,551642,551643,551649,551650,551655,551656,551664,551665,551670,551671,551676,551677,551678,551679,551686,551687,551688,551689,551690,551691,551692,551693,551694,551695,551696,551697,551698,551699,551700,551701,551704,551705,551706,551707,551708,551709,551710,551711,551713,551714,551715,551716,551717,551718,551719,551720,551721,551722,551723,551724,551725,551726,551727,551728,551729,551730,551731,551732,551733,551734,551735,551736,551737,551738,551739,551740,551741,551742,551743,551744,551745,551746,551747,551748,551749,551750,551751,551752,551753,551754,551755,551756,551757,551758,551759,551760,551761,551762,551763,551764,551765,551766,551767,551768,551769,551770,551771,551772,551773,551774,551775,551776,551777,551778,551779,551780,551781,551782,551783,551784,551785,551786,551787,551788,551789,551790,551791,551792,551793,551794,551795,551796,551797,551798,551806,551807,551811,551812,551813,551814,553417,553418,556248,556249,556250,556251,556253,556254,556256,556257,556258,556259,556260,556261,556262,556263,556271,556272,556312,556313,556319,556320,556360,556361,556539,556540,556541,556542,556543,556544,556545,556546,556547,556548,556549,556550,556551,556552,556553,556554,556586,556587,556602,556603,556705,556706,556707,556708,556709,556710,556711,556712,556713,556714,556715,556716,556717,556718,556725,556726,556728,556729,556730,556731,556749,556750,556751,556752,556753,556754,556755,556756,557010,557011,557021,557022,557029,557030,557042,557043,557048,557049,557054,557056,557057,557552,557553,566436,566438,566439,566440,566441,566442,566443,566444,566454,566455,566456,566457,566478,566479,566488,566489,566490,566491,566506,566507,566663,566664,566665,566666,566667,566668,566669,566670,566671,566672,566676,566677,566678,566679,566695,566696,566703,566704,566705,566706,566715,566716,566729,566730,566731,566732,566748,566749,566806,566807,566808,566809,566841,566842,566846,566847,566851,566852,566853,566854,566863,566864,567527,567528,567529,567530,567531,567532,567533,567534,567544,567545,567556,567557,567558,567559,567560,567561,567562,567563,567580,567581,567586,567587,567588,567589,567628,567629,567630,567631,567632,567633,567634,567635,567640,567641,567642,567643,567660,567661,567662,567663,567664,567665,568423,568429,568430,568437,568438,568449,568450,568455,568456,568457,568458,568472,568473,568482,568483,568484,568485,568489,568490,568494,568495,568499,568500,568512,568513,568518,568519,572998,573005,577536") && block_image_verify("/dev/block/platform/mtk-msdc.0/11230000.msdc0/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/platform/mtk-msdc.0/11230000.msdc0/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/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518:8634624:277b6fcc14ccee04eea5d56fed662f3af6343d02",
            "-", 277b6fcc14ccee04eea5d56fed662f3af6343d02, 8634624,
            bf9137fe4abeb0e620d5dad87171dfc9b216d518,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518:8634624:277b6fcc14ccee04eea5d56fed662f3af6343d02");
show_mtupdate_stage("/cache/recovery/last_mtupdate_stage");
ifelse (
less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "3") ,
(
if less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "2") then

ui_print("start to update alt loader image");
package_extract_file("trustzone.bin", "/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee2");
set_mtupdate_stage("/cache/recovery/last_mtupdate_stage", "2");
endif;

switch_active("tee1", "tee2");
set_mtupdate_stage("/cache/recovery/last_mtupdate_stage", "3");
),
ui_print("alt loder images are already updated");
);
ifelse (
less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "5") ,
(
if less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "4") then

ui_print("start to update main loader image");
package_extract_file("trustzone.bin", "/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee1");
set_mtupdate_stage("/cache/recovery/last_mtupdate_stage", "4");
endif;

switch_active("tee2", "tee1");
),
ui_print("main loader images are already updated");
);
delete("/cache/recovery/last_mtupdate_stage");
set_progress(1.000000);
