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/144/brian11140545:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/137/brian07022358:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/144/brian11140545:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/137/brian07022358:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/144/brian11140545:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/137/brian07022358:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16276776:2a9ecee64e1a237835c97b4ce2850963401fa611:16276776:499b1c498024b2a8c666e8fa0198fb563a15fa85") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16276776:2a9ecee64e1a237835c97b4ce2850963401fa611:16276776:499b1c498024b2a8c666e8fa0198fb563a15fa85\" has unexpected contents.");
apply_patch_space(33591296) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "6540,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,3768,6947,6948,6949,6950,8090,8091,8092,8093,8315,8316,8317,8318,9155,9156,9157,9158,9160,9161,9162,9163,9164,9165,9172,9173,9174,9175,9181,9182,9183,9184,9185,9186,9212,9213,9214,9215,9278,9279,9280,9281,9282,9283,9349,9350,9351,9352,9358,9359,9360,9361,9362,9363,9390,9391,9392,9393,9397,9398,9399,9400,9401,9402,9421,9422,9423,9424,9426,9427,9428,9429,9430,9431,9437,9438,9439,9440,9444,9445,9446,9447,9448,9449,9465,9466,9467,9468,9471,9472,9473,9474,9475,9476,9486,9487,9488,9489,9492,9493,9494,9495,9496,9497,9510,9511,9512,9513,9517,9518,9519,9520,9521,9522,9533,9534,9535,9536,9537,9538,9539,9540,9604,9605,9616,9617,9618,9619,9620,9621,9622,9623,9630,9631,9633,9634,9635,9636,9638,9639,9640,9641,9642,9643,9644,9645,9692,9693,9702,9703,9704,9705,9706,9707,9708,9709,9761,9762,9772,9773,9774,9775,9776,9777,9778,9779,10524,10525,21727,21728,21730,21731,21742,21743,21754,21755,21759,21760,21764,21765,21772,21773,21778,21779,21783,21784,21785,21786,21792,21793,21830,21831,21832,21833,21834,21835,21841,21842,21851,21852,21861,21862,21869,21870,21876,21877,21888,21889,21895,21896,21901,21902,21903,21904,21913,21914,21923,21924,21930,21931,21936,21937,21938,21939,21943,21944,21949,21950,21954,21955,21967,21968,21975,21976,21982,21983,21991,21992,22040,22041,22046,22047,22048,22049,22054,22055,22136,22137,22142,22143,22155,22156,22162,22163,22168,22169,22202,22203,22222,22223,22227,22228,22233,22234,22241,22242,22246,22247,22254,22255,22261,22262,22269,22270,22275,22276,22286,22287,22310,22311,22345,22346,22347,22348,22356,22357,22399,22400,22407,22408,22417,22418,22458,22459,22463,22464,22473,22474,22480,22481,22486,22487,22494,22495,22510,22511,22520,22521,22542,22543,22553,22554,22566,22567,22577,22578,22724,22725,22738,22739,22747,22748,22753,22754,22789,22790,22801,22802,22836,22837,22949,22950,22961,22962,22971,22972,22973,22974,23003,23004,23009,23010,23047,23048,23076,23077,23078,23079,23080,23081,23108,23109,23121,23122,23177,23178,23241,23242,23303,23304,23309,23310,23351,23352,23407,23408,23409,23410,23415,23416,23421,23422,23427,23428,23450,23451,23456,23457,23465,23466,23473,23474,23603,23604,23759,23760,23766,23767,23784,23785,23794,23795,23813,23814,23816,23817,23825,23826,23923,23924,23950,23951,23956,23957,23965,23966,24006,24007,24013,24014,24149,24150,24151,24152,24157,24158,24165,24166,24171,24172,24177,24178,24185,24186,24195,24196,24205,24206,24210,24211,24238,24239,24265,24266,24284,24285,24291,24292,24298,24299,24306,24307,24316,24317,24376,24377,24411,24412,24420,24421,24426,24427,24435,24436,24437,24438,24457,24458,24465,24466,24470,24471,24476,24477,24525,24526,24833,24834,24838,24839,24877,24878,24886,24887,24895,24896,24901,24902,24906,24907,24911,24912,24916,24917,24922,24923,24941,24942,24953,24954,24965,24966,24971,24972,24973,24974,24984,24985,24993,24994,25003,25004,25014,25015,25060,25061,25070,25071,25080,25081,25090,25091,25092,25093,25097,25098,25103,25104,25109,25110,25115,25116,25121,25122,25127,25128,25133,25134,25139,25140,25145,25146,25152,25153,25159,25160,25166,25167,25173,25174,25179,25180,25185,25186,25213,25214,25243,25244,25252,25253,25258,25259,25263,25264,25309,25310,25314,25315,25327,25328,25332,25333,25334,25335,25348,25349,25355,25356,25361,25362,25369,25370,25377,25378,25383,25384,25389,25390,25395,25396,25422,25423,25431,25432,25438,25439,25443,25444,25450,25451,25457,25458,25459,25460,25464,25465,25496,25497,25543,25544,25545,25546,25554,25555,25570,25571,25576,25577,25582,25583,25590,25591,25596,25597,25599,25600,25604,25605,25628,25629,25630,25631,25636,25637,25655,25656,25664,25665,25670,25671,25676,25677,25682,25683,25688,25689,25711,25712,25782,25783,25788,25789,25794,25795,25801,25802,25808,25809,25811,25812,25828,25829,25834,25835,25841,25842,25947,25948,25972,25973,25979,25980,25986,25987,25991,25992,25993,25994,26016,26017,26330,26331,26499,26500,26517,26518,26521,26522,26523,26524,26586,26587,26588,26589,26590,26591,26592,26593,26609,26610,26614,26615,26616,26617,26671,26672,26673,26674,26695,26696,26757,26758,26759,26760,26770,26771,26775,26776,26778,26779,26828,26829,26830,26831,26850,26851,26899,26900,26902,26903,26904,26905,26921,26922,26926,26927,26928,26929,26986,26987,26988,26989,27013,27014,27076,27077,27078,27079,27095,27096,27100,27101,27102,27103,27158,27159,27160,27161,27185,27186,27248,27249,27250,27251,27267,27268,27272,27273,27274,27275,27337,27338,27339,27340,27364,27365,27428,27429,27589,27590,27591,27592,27594,27595,27596,27597,27599,27600,27605,27606,27609,27610,27611,27612,27613,27614,27615,27616,27624,27625,27627,27628,27870,27871,27872,27873,27874,27875,27876,27877,27882,27883,27884,27885,27886,27887,27890,27891,27894,27895,27898,27899,27902,27903,27904,27905,27908,27909,27912,27913,27916,27917,27920,27921,27924,27925,27926,27927,27930,27931,27934,27935,27938,27939,27942,27943,27946,27947,27950,27951,28034,28035,28036,28037,28044,28045,28064,28065,28071,28072,28073,28074,28075,28076,28077,28078,28079,28080,28081,28082,28083,28084,28089,28090,28091,28092,28093,28094,28097,28098,28101,28102,28103,28104,28107,28108,28109,28110,28113,28114,28116,28117,28120,28121,28125,28126,28130,28131,28135,28136,28140,28141,28142,28143,28146,28147,28148,28149,28150,28151,28152,28153,28154,28155,28156,28157,28178,28179,28184,28185,28199,28200,28217,28218,28222,28223,28224,28225,28227,28228,28385,28386,28388,28389,28390,28391,28553,28554,28556,28557,28558,28559,28560,28561,28564,28565,28566,28567,28571,28572,28573,28574,28577,28578,28579,28580,28581,28582,28583,28584,28585,28586,28587,28588,28599,28600,28601,28602,28603,28604,28605,28606,28608,28609,28610,28611,28612,28613,28614,28615,28616,28617,28618,28619,28620,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28638,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28654,28655,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28667,28668,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28703,28704,28705,28706,28707,28708,28710,28711,28716,28717,28718,28719,28720,28721,28723,28724,28725,28726,28727,28728,28731,28732,28734,28735,28736,28737,28739,28740,28742,28743,28745,28746,28752,28753,28761,28762,28770,28771,28778,28779,28786,28787,28795,28796,28804,28805,28813,28814,28822,28823,28841,28842,28843,28844,28845,28846,28847,28848,28849,28850,29956,29957,29958,29959,29960,29961,29962,29963,29964,29965,29966,29967,29968,29969,29970,29971,29972,29973,29974,29975,29976,29977,29978,29979,29980,29981,29982,29983,29984,29985,29986,29987,29988,29989,29990,29991,29992,29993,29994,29995,29996,29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30040,30041,30042,30043,30044,30045,30046,30047,30048,30049,30050,30051,30052,30053,30054,30055,30067,30068,30069,30070,30071,30072,30073,30074,30075,30076,30077,30078,30235,30236,30237,30238,30239,30240,30241,30242,30243,30244,30247,30248,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297,30298,30299,30300,30301,30302,30303,30304,30305,30306,30307,30308,30309,30310,30311,30312,30313,30314,30315,30316,30317,30318,30319,30320,30321,30322,30323,30324,30325,30326,30327,30328,30329,30330,30331,30332,30333,30334,30336,30337,30338,30339,30340,30341,30342,30343,30346,30347,30348,30349,30350,30351,30352,30353,30354,30355,30356,30357,30358,30359,30360,30361,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30372,30373,30374,30375,30379,30380,30381,30382,30383,30384,30385,30386,30387,30388,30845,30846,30847,30848,30850,30851,30852,30853,30854,30855,30857,30858,30860,30861,30863,30864,30866,30867,30868,30869,30871,30872,30874,30875,30877,30878,30879,30880,30882,30883,30885,30886,30888,30889,30891,30892,30894,30895,30897,30898,30900,30901,30903,30904,30906,30907,30909,30910,30912,30913,30915,30916,30919,30920,30922,30923,30925,30926,30928,30929,30931,30932,30934,30935,30936,30937,30938,30939,30941,30942,30944,30945,30948,30949,30952,30953,30955,30956,30958,30959,30961,30962,30964,30965,30967,30968,30970,30971,30973,30974,30976,30977,30979,30980,30983,30984,30986,30987,30989,30990,30992,30993,30995,30996,30998,30999,31001,31002,31004,31005,31007,31008,31010,31011,31013,31014,31016,31017,31019,31020,31021,31022,31024,31025,31027,31028,31030,31031,31033,31034,31036,31037,31038,31039,31041,31042,31044,31045,31047,31048,31050,31051,31053,31054,31056,31057,31059,31060,31061,31062,31064,31065,31067,31068,31070,31071,31073,31074,31076,31077,31079,31080,31082,31083,31085,31086,31088,31089,31091,31092,31094,31095,31097,31098,31100,31101,31103,31104,31106,31107,31108,31109,31111,31112,31114,31115,31117,31118,31120,31121,31122,31123,31125,31126,31128,31129,31131,31132,31134,31135,31137,31138,31140,31141,31143,31144,31146,31147,31149,31150,31153,31154,31156,31157,31159,31160,31162,31163,31165,31166,31168,31169,31170,31171,31173,31174,31176,31177,31179,31180,31182,31183,31185,31186,31187,31188,31190,31191,31193,31194,31196,31197,31199,31200,31202,31203,31204,31205,31207,31208,31210,31211,31213,31214,31276,31277,31279,31280,31282,31283,31284,31285,31287,31288,31290,31291,31293,31294,31296,31297,31299,31300,31301,31302,31304,31305,31307,31308,31310,31311,31313,31314,31315,31316,31318,31319,31321,31322,31324,31325,31327,31328,31330,31331,31333,31334,31336,31337,31339,31340,31342,31343,31345,31346,31347,31348,31350,31351,31353,31354,31356,31357,31359,31360,31362,31363,31365,31366,31368,31369,31371,31372,31374,31375,31376,31377,31378,31379,31380,31381,31382,31383,31385,31386,31389,31390,31392,31393,31394,31395,31396,31397,31399,31400,31402,31403,31405,31406,31408,31409,31411,31412,31414,31415,31417,31418,31420,31421,31422,31423,31424,31425,31426,31427,31428,31429,31431,31432,31440,31441,31449,31450,31458,31459,31467,31468,31476,31477,31478,31479,31480,31481,31482,31483,31484,31485,31486,31487,31488,31489,31490,31491,31495,31496,31497,31498,31500,31501,31511,31512,31527,31528,31545,31546,31575,31576,31605,31606,31680,31681,31753,31754,31804,31805,31845,31846,31873,31874,31902,31903,31935,31936,31989,31990,32009,32010,32065,32066,32095,32096,32125,32126,32155,32156,32185,32186,32190,32191,32195,32196,32204,32205,32238,32239,32243,32244,32246,32247,32249,32250,32262,32263,32269,32270,32276,32277,32286,32287,32293,32294,32330,32331,32366,32367,32372,32373,32378,32379,32383,32384,32386,32387,32392,32393,32398,32399,32409,32410,32412,32413,32422,32423,32432,32433,32442,32443,32453,32454,32462,32463,32471,32472,32480,32481,32489,32490,32515,32516,32519,32520,32522,32523,32537,32538,32552,32553,32567,32568,32582,32583,32587,32588,32592,32593,32621,32622,32627,32628,32632,32633,32635,32636,32638,32639,32644,32645,32683,32684,32724,32725,32728,32729,32733,32734,32738,32739,32751,32752,32754,32755,32758,32759,32763,32764,32765,32768,32770,32849,32850,65536,65537,66030,74956,74957,76014,76015,76927,76928,80492,80493,83023,83024,85084,85085,86182,86183,87020,87021,87553,87554,87634,87635,87741,87742,87889,87890,88758,88759,88760,88761,88762,88763,88797,88798,88805,88806,88807,88808,88809,88810,88811,88812,88844,88845,88899,88900,88935,88936,88937,88938,88939,88940,88941,88942,88943,88944,88945,88946,88947,88948,88949,88950,88951,88952,88953,88954,88955,88956,88957,88958,88959,88960,88961,88962,88963,88964,88965,88966,88967,88968,88969,88970,88971,88972,89128,89129,89237,89238,89381,89382,89483,89484,89674,89675,89834,89835,89898,89899,90047,90048,90252,90253,90347,90348,90502,90503,90565,90566,90567,90568,90569,90570,90571,90572,90573,90574,90575,90576,90577,90578,90587,90588,90589,90590,90592,90593,90594,90595,90622,90623,90624,90625,90651,90652,90653,90654,90681,90682,90683,90684,90696,90697,90698,90699,90707,90708,90709,90710,90714,90715,90716,90717,90723,90724,90725,90726,90727,90728,90729,90730,90732,90733,90734,90735,90744,90745,90746,90747,90748,90749,90750,90751,90752,90753,90754,90755,90756,90757,90758,90759,90837,90838,90839,90840,90841,90842,90843,90844,90845,90846,90847,90848,90849,90850,90851,90852,90854,90855,90856,90857,90858,90859,90860,90861,90897,90898,90899,90900,90936,90937,90938,90939,90940,90941,90942,90943,90944,90945,90946,90947,90948,90949,90951,90952,90954,90955,90956,90957,90958,90959,90960,90961,90962,90963,90964,90965,90966,90967,90968,90969,90970,90971,90972,90973,90974,90975,96396,96397,96398,96399,96400,96401,96402,96403,96404,96405,96406,96407,96411,96412,96415,96416,96420,96421,96425,96426,96430,96431,96432,96433,96434,96435,96438,96439,96440,96441,96442,96443,96444,96445,96446,96447,96448,96449,96450,96451,96452,96453,96454,96455,96456,96457,96458,96459,96460,96461,96462,96463,96464,96465,96466,96467,96468,96469,96470,96471,96472,96473,96474,96475,96476,96477,96478,96479,96480,96481,96482,96483,96484,96485,96486,96487,96488,96489,96490,96491,96492,96493,96494,96495,96496,96497,96498,96499,96500,96501,96502,96503,96504,96505,96506,96507,96508,96509,96510,96511,96512,96513,96514,96515,96519,96520,96525,96526,96527,96528,96651,96652,96653,96654,96655,96656,96657,96658,96659,96660,96661,96662,96663,96664,96666,96667,96668,96669,96671,96672,96673,96674,96676,96677,96678,96679,96681,96682,96683,96684,96686,96687,96688,96689,96691,96692,96693,96694,96696,96697,96698,96699,96700,96701,96702,96703,96704,96705,96706,96707,96713,96714,96715,96716,96717,96718,96724,96725,96726,96727,96808,96809,96810,96811,96812,96813,97199,97200,97201,97202,97204,97205,97206,97207,97208,97209,97215,97216,97217,97218,97223,97224,97225,97226,97227,97228,97245,97246,97247,97248,97278,97279,97280,97281,97282,97283,97302,97303,97304,97305,97315,97316,97317,97318,97319,97320,97343,97344,97345,97346,97347,97348,97349,97350,97352,97353,97354,97355,97359,97360,97361,97362,97364,97365,97366,97367,97369,97370,97371,97372,97374,97375,97376,97377,97379,97380,97381,97382,97384,97385,97386,97387,97389,97390,97391,97392,97395,97396,97397,97398,97400,97401,97402,97403,97406,97407,97408,97409,97411,97412,97413,97414,97424,97425,97426,97427,97428,97429,97430,97431,97432,97433,97434,97435,97436,97437,97442,97443,97444,97445,97446,97447,97454,97455,97456,97457,97479,97480,97481,97482,97483,97484,97529,97530,97531,97532,97546,97547,97548,97549,97550,97551,97567,97568,97569,97570,97571,97572,97573,97574,97587,97588,97589,97590,97592,97593,97594,97595,97597,97598,97599,97600,97602,97603,97604,97605,97607,97608,97609,97610,97612,97613,97614,97615,97617,97618,97619,97620,97622,97623,97624,97625,97627,97628,97629,97630,97632,97633,97634,97635,97642,97643,97644,97645,97647,97648,97649,97650,97651,97652,97653,97654,97655,97656,97657,97658,97659,97660,97665,97666,97667,97668,97669,97670,97677,97678,97679,97680,97684,97685,97686,97687,97688,97689,97696,97697,97698,97699,97700,97701,97702,97703,97705,97706,97707,97708,97710,97711,97712,97713,97715,97716,97717,97718,97720,97721,97722,97723,97725,97726,97727,97728,97730,97731,97732,97733,97841,97842,97843,97844,97845,97846,97847,97848,97849,97850,97851,97852,97853,97854,97855,97856,97857,97858,97859,97860,97861,97862,97863,97864,97872,97873,97874,97875,97883,97884,97885,97886,97887,97888,97895,97896,97897,97898,97905,97906,97907,97908,97909,97910,97911,97912,97913,97914,97915,97916,97925,97926,97927,97928,97929,97930,97946,97947,97948,97949,97951,97952,97953,97954,97956,97957,97958,97959,97961,97962,97963,97964,97969,97970,97971,97972,97974,97975,97976,97977,97978,97979,97980,97981,97986,97987,97988,97989,97990,97991,98001,98002,98003,98004,98029,98030,98031,98032,98033,98034,98120,98121,98122,98123,98186,98187,98188,98189,98190,98191,98192,98193,98208,98209,98210,98211,98212,98213,98232,98233,98234,98235,98236,98237,98238,98239,98240,98241,98246,98247,98252,98253,98263,98264,98277,98278,98293,98294,98295,98296,98297,98298,98299,98300,98301,98304,98306,98385,98386,104971,104975,104976,104980,104981,104986,104987,104993,104994,104999,105000,105006,105007,105099,105100,105199,105200,105204,105205,105221,105222,105253,105254,105315,105316,105381,105382,105443,105444,105505,105506,105581,105582,105663,105664,105739,105740,105821,105822,105903,105904,105980,105981,106063,106064,106139,106140,106221,106222,106297,106298,106373,106374,106454,106455,106529,106530,106611,106612,106693,106694,106769,106770,106852,106853,106928,106929,106931,106932,106940,106941,106942,106943,106949,106950,106957,106958,106966,106967,106987,106988,107124,107125,107126,107127,107128,107129,107154,107155,107522,107523,107559,107560,107979,107980,108002,108003,108180,108181,108184,108185,108200,108201,108346,108347,110120,110121,110168,110169,110505,110506,111148,111149,120054,120055,120067,120068,120139,120140,120142,120143,120150,120151,120167,120168,120385,120386,120412,120413,120675,120676,120680,120681,120712,120713,120715,120716,120723,120724,120860,120861,122060,122061,122063,122064,122074,122075,122082,122083,122148,122149,122444,122445,124552,124553,124556,124557,124687,124688,124689,124690,124691,124692,124694,124695,124696,124697,124701,124702,124704,124705,124706,124707,124709,124710,124722,124723,124729,124730,124736,124737,124742,124743,124775,124776,124811,124812,124815,124816,124819,124820,125216,125217,125664,125665,125666,125667,125670,125671,125673,125674,125677,125678,126182,126183,127789,127790,127791,127792,127805,127806,127808,127809,127811,127812,127814,127815,127823,127824,127826,127827,127840,127841,127842,127843,127844,127845,127904,127905,127913,127914,127955,127956,127998,127999,128049,128050,128156,128157,128165,128166,128183,128184,128194,128195,128203,128204,128212,128213,128232,128233,128243,128244,128251,128252,128263,128264,128301,128302,128332,128333,128348,128349,128358,128359,128379,128380,128389,128390,128400,128401,128449,128450,128462,128463,128546,128547,128553,128554,128586,128587,128603,128604,128680,128681,128788,128789,129003,129004,129024,129025,129041,129042,129198,129199,129548,129549,129574,129575,129585,129586,129598,129599,129609,129610,129666,129667,129679,129680,129690,129691,129778,129779,129795,129796,129807,129808,129820,129821,129919,129920,130709,130710,130720,130721,130722,130723,130768,130769,130823,130824,130825,130826,130831,130832,130835,130836,130846,130847,130856,130857,130871,130872,130875,130876,130906,130907,130910,130911,130914,130915,130938,130939,130993,130994,130998,130999,131004,131005,131008,131009,131011,131012,131014,131015,131016,131017,131044,131045,131047,131048,131050,131051,131052,131053,131054,131055,131057,131058,131070,131072,131073,131566,131717,131718,132023,132024,132088,132089,132176,132177,132840,132841,132869,132870,132880,132881,132918,132919,133191,133192,133265,133266,133339,133340,133383,133384,133387,133388,133389,133390,133391,133392,133393,133394,133395,133396,133398,133399,133405,133406,133411,133412,133487,133488,133491,133492,133497,133498,133499,133500,133501,133502,133503,133504,133505,133506,133507,133508,133514,133515,133516,133517,133538,133539,133562,133563,133564,133565,133576,133577,133620,133621,133672,133673,133992,133993,134100,134101,134102,134103,134111,134112,134117,134118,134130,134131,134145,134146,134189,134190,134203,134204,134249,134250,134261,134262,134369,134370,134686,134687,134785,134786,134823,134824,134853,134854,134873,134874,134882,134883,135067,135068,135210,135211,135221,135222,135239,135240,135249,135250,135384,135385,135391,135392,135421,135422,135452,135453,135642,135643,135649,135650,135656,135657,135662,135663,135667,135668,135681,135682,135690,135691,135695,135696,135726,135727,135744,135745,135775,135776,135830,135831,135848,135849,135879,135880,135899,135900,135908,135909,135916,135917,135940,135941,135990,135991,136002,136003,136007,136008,136012,136013,136818,136819,136823,136824,136828,136829,136845,136846,136850,136851,136857,136858,136862,136863,136868,136869,136874,136875,136879,136880,136885,136886,136891,136892,136896,136897,136901,136902,136907,136908,136913,136914,136919,136920,136925,136926,136930,136931,136936,136937,136942,136943,136947,136948,136953,136954,136959,136960,136964,136965,136970,136971,136976,136977,136981,136982,136987,136988,136993,136994,136998,136999,137004,137005,137010,137011,137015,137016,137021,137022,137027,137028,137032,137033,137038,137039,137044,137045,137049,137050,137055,137056,137061,137062,137066,137067,137072,137073,137078,137079,137083,137084,137089,137090,137095,137096,137100,137101,137106,137107,137112,137113,137120,137121,137128,137129,137142,137143,137148,137149,137171,137172,137201,137202,137244,137245,137281,137282,137288,137289,137347,137348,137352,137353,137371,137372,137376,137377,137550,137551,137720,137721,137727,137728,137742,137743,137752,137753,137762,137763,137772,137773,137782,137783,137792,137793,137802,137803,137812,137813,137822,137823,137832,137833,137847,137848,137857,137858,137867,137868,137882,137883,137892,137893,137902,137903,137912,137913,137922,137923,137932,137933,137942,137943,137952,137953,137962,137963,137972,137973,137987,137988,137997,137998,138007,138008,138017,138018,138027,138028,138042,138043,138052,138053,138062,138063,138072,138073,138087,138088,138097,138098,138107,138108,138117,138118,138132,138133,138142,138143,138152,138153,138162,138163,138172,138173,138187,138188,138197,138198,138207,138208,138217,138218,138227,138228,138237,138238,138246,138247,138261,138262,138271,138272,138281,138282,138291,138292,138301,138302,138311,138312,138321,138322,138331,138332,138341,138342,138356,138357,138366,138367,138376,138377,138386,138387,138396,138397,138406,138407,138416,138417,138426,138427,138436,138437,138446,138447,138456,138457,138471,138472,138481,138482,138491,138492,138501,138502,138511,138512,138521,138522,138536,138537,138546,138547,138556,138557,138566,138567,138576,138577,138586,138587,138596,138597,138606,138607,138621,138622,138631,138632,138641,138642,138651,138652,138666,138667,138681,138682,138691,138692,138701,138702,138711,138712,138721,138722,138731,138732,138741,138742,138756,138757,138766,138767,138776,138777,138786,138787,138801,138802,138811,138812,138821,138822,138831,138832,138846,138847,138856,138857,138866,138867,138876,138877,138891,138892,138901,138902,138911,138912,138921,138922,138931,138932,138941,138942,138956,138957,138966,138967,138976,138977,138986,138987,138996,138997,139011,139012,139021,139022,139031,139032,139041,139042,139051,139052,139061,139062,139076,139077,139086,139087,139096,139097,139106,139107,139116,139117,139126,139127,139141,139142,139151,139152,139161,139162,139171,139172,139181,139182,139191,139192,139201,139202,139211,139212,139221,139222,139231,139232,139246,139247,139256,139257,139266,139267,139276,139277,139286,139287,139296,139297,139306,139307,139316,139317,139326,139327,139336,139337,139351,139352,139361,139362,139371,139372,139381,139382,139391,139392,139401,139402,139411,139412,139421,139422,139431,139432,139441,139442,139456,139457,139466,139467,139476,139477,139486,139487,139496,139497,139506,139507,139516,139517,139526,139527,139536,139537,139551,139552,139561,139562,139571,139572,139581,139582,139591,139592,139601,139602,139611,139612,139621,139622,139631,139632,139641,139642,139651,139652,139661,139662,139671,139672,139686,139687,139696,139697,139706,139707,139716,139717,139726,139727,139736,139737,139746,139747,139756,139757,139766,139767,139781,139782,139791,139792,139801,139802,139811,139812,139821,139822,139831,139832,139841,139842,139856,139857,139866,139867,139876,139877,139886,139887,139896,139897,139906,139907,139916,139917,139926,139927,139936,139937,139946,139947,139956,139957,139966,139967,139981,139982,139991,139992,140001,140002,140011,140012,140021,140022,140031,140032,140041,140042,140051,140052,140061,140062,140071,140072,140086,140087,140096,140097,140106,140107,140116,140117,140131,140132,140141,140142,140151,140152,140161,140162,140171,140172,140181,140182,140191,140192,140201,140202,140211,140212,140221,140222,140236,140237,140246,140247,140256,140257,140266,140267,140276,140277,140286,140287,140296,140297,140306,140307,140321,140322,140331,140332,140341,140342,140351,140352,140361,140362,140371,140372,140386,140387,140396,140397,140406,140407,140416,140417,140426,140427,140436,140437,140446,140447,140456,140457,140466,140467,140481,140482,140491,140492,140501,140502,140511,140512,140622,140623,140686,140687,140691,140692,140698,140699,140712,140713,140719,140720,140778,140779,140800,140801,140814,140815,140847,140848,140941,140942,140956,140957,140966,140967,141011,141012,141044,141045,141055,141056,141062,141063,141068,141069,141182,141183,141202,141203,141208,141209,141885,141886,141905,141906,141918,141919,141932,141933,141996,141997,142002,142003,142009,142010,142016,142017,142024,142025,142094,142095,142103,142104,142111,142112,142131,142132,142153,142154,142423,142424,147246,147247,147276,147277,147284,147285,147399,147400,147422,147423,147473,147474,147503,147504,147528,147529,147542,147543,147548,147549,147562,147563,147567,147568,147603,147604,147610,147611,147617,147618,147626,147627,147636,147637,147645,147646,147702,147703,147721,147722,147753,147754,147759,147760,147771,147772,147827,147828,147840,147841,148009,148010,148024,148025,148100,148101,148159,148160,148181,148182,148226,148227,148241,148242,148246,148247,148252,148253,148258,148259,148264,148265,148270,148271,148276,148277,148284,148285,148587,148588,148592,148593,148620,148621,148634,148635,148639,148640,148646,148647,148656,148657,148688,148689,148694,148695,148701,148702,148709,148710,148717,148718,148722,148723,148727,148728,148734,148735,148741,148742,148748,148749,148754,148755,148760,148761,148766,148767,148772,148773,148778,148779,148783,148784,148789,148790,148795,148796,148801,148802,148807,148808,148814,148815,148820,148821,148826,148827,148831,148832,148838,148839,148845,148846,148852,148853,148862,148863,148872,148873,148880,148881,148886,148887,148900,148901,148910,148911,148916,148917,148924,148925,148930,148931,148936,148937,148942,148943,148949,148950,148954,148955,148960,148961,148966,148967,148971,148972,148977,148978,148983,148984,148988,148989,148993,148994,148999,149000,149004,149005,149012,149013,149019,149020,149024,149025,149030,149031,149173,149174,149186,149187,149215,149216,149237,149238,149276,149277,149418,149419,149452,149453,149459,149460,149595,149596,149614,149615,149651,149652,149661,149662,149683,149684,149933,149934,149975,149976,149988,149989,149996,149997,150003,150004,150009,150010,150018,150019,150025,150026,150057,150058,150075,150076,150090,150091,150099,150100,150106,150107,150113,150114,150132,150133,150164,150165,150189,150190,150238,150239,150250,150251,150257,150258,150272,150273,150275,150276,150283,150284,150293,150294,150300,150301,150326,150327,150346,150347,150364,150365,150394,150395,150399,150400,150404,150405,150409,150410,150423,150424,150426,150427,152892,152893,152895,152896,152900,152901,152906,152907,152913,152914,152969,152970,152972,152973,153384,153385,154604,154605,154612,154613,154791,154792,154796,154797,154804,154805,154848,154849,154870,154871,154875,154876,154880,154881,154890,154891,154896,154897,154902,154903,154911,154912,154946,154947,154951,154952,154962,154963,154970,154971,154975,154976,154981,154982,155162,155163,155199,155200,155207,155208,155226,155227,155253,155254,155282,155283,155290,155291,155296,155297,155308,155309,155329,155330,155336,155337,155365,155366,155405,155406,155413,155414,155425,155426,155491,155492,155510,155511,155544,155545,155549,155550,155558,155559,155564,155565,155574,155575,155580,155581,155610,155611,155750,155751,155761,155762,155766,155767,155772,155773,155792,155793,155794,155795,155806,155807,155815,155816,155827,155828,155835,155836,155842,155843,155849,155850,155861,155862,155868,155869,155876,155877,155884,155885,155891,155892,155896,155897,155903,155904,155908,155909,155916,155917,155923,155924,155935,155936,155940,155941,155949,155950,155957,155958,155964,155965,155971,155972,155979,155980,155987,155988,155993,155994,156000,156001,156007,156008,156009,156010,156047,156048,156085,156086,156125,156126,156128,156129,156130,156131,156132,156133,156145,156146,156147,156148,156149,156150,156171,156172,156183,156184,156185,156186,156187,156188,156312,156313,156314,156315,156321,156322,156323,156324,156325,156326,156327,156328,156329,156330,156331,156332,156340,156341,156346,156347,156353,156354,156360,156361,156373,156374,156380,156381,156401,156402,156413,156414,156415,156416,156466,156467,156473,156474,156479,156480,156534,156535,156540,156541,156546,156547,156553,156554,156559,156560,156734,156735,156742,156743,156748,156749,156754,156755,156761,156762,156771,156772,156826,156827,156839,156840,156869,156870,156875,156876,156882,156883,156888,156889,156896,156897,156902,156903,156908,156909,156914,156915,156991,156992,157010,157011,157086,157087,157092,157093,157099,157100,157305,163840,163842,163921,163922,164415,172778,172779,178339,178340,179118,179119,179333,179334,179336,179337,179338,179339,179340,179341,179357,179358,179375,179376,179489,179490,179492,179493,179496,179497,179498,179499,179500,179501,179502,179503,179518,179519,179520,179521,179522,179523,179548,179549,179550,179551,179559,179560,179565,179566,179614,179615,179624,179625,179631,179632,179656,179657,180064,180065,180161,180162,180168,180169,180178,180179,180185,180186,180194,180195,180235,180236,180240,180241,180247,180248,180253,180254,180258,180259,180263,180264,180268,180269,180275,180276,180296,180297,180301,180302,180328,180329,180334,180335,180390,180391,180400,180401,180418,180419,180436,180437,183346,183347,183373,183374,183380,183381,183394,183395,183410,183411,183418,183419,183434,183435,183450,183451,183472,183473,183507,183508,183562,183563,183612,183613,183618,183619,183624,183625,183630,183631,183642,183643,183759,183760,183799,183800,183858,183859,183920,183921,184213,184214,184542,184543,184549,184550,184571,184572,184818,184819,184860,184861,184912,184913,184919,184920,184926,184927,185614,185615,185642,185643,187081,187082,187090,187091,187099,187100,187181,187182,187205,187206,187223,187224,187364,187365,187382,187383,187417,187418,187424,187425,187431,187432,187440,187441,187456,187457,187482,187483,187494,187495,187607,187608,187663,187664,187670,187671,187761,187762,187957,187958,187993,187994,188003,188004,188145,188146,188333,188334,188340,188341,188379,188380,188403,188404,188464,188465,188475,188476,188650,188651,188657,188658,188863,188864,188951,188952,189044,189045,189345,189346,189433,189434,189549,189550,189560,189561,189566,189567,189739,189740,189810,189811,189836,189837,189872,189873,189877,189878,189885,189886,189890,189891,190029,190030,190057,190058,190067,190068,190072,190073,190078,190079,190084,190085,190089,190090,190095,190096,190102,190103,190108,190109,190114,190115,190120,190121,190125,190126,190131,190132,190137,190138,190142,190143,190147,190148,190152,190153,190158,190159,190164,190165,190170,190171,190175,190176,190180,190181,190185,190186,190200,190201,190207,190208,190267,190268,190310,190311,190334,190335,190346,190347,190352,190353,190361,190362,190368,190369,190378,190379,190385,190386,190432,190433,190451,190452,190457,190458,190465,190466,190501,190502,190507,190508,190518,190519,190630,190631,190638,190639,190646,190647,190658,190659,190758,190759,190763,190764,190772,190773,190860,190861,190868,190869,190994,190995,191386,191387,191663,191664,191672,191673,191690,191691,191725,191726,191792,191793,191807,191808,191822,191823,191865,191866,191894,191895,192127,192128,192133,192134,192138,192139,192199,192200,192234,192235,192248,192249,192254,192255,192278,192279,192308,192309,192321,192322,192329,192330,192365,192366,192382,192383,192388,192389,192401,192402,192426,192427,192460,192461,192470,192471,192671,192672,192756,192757,192764,192765,192781,192782,192789,192790,192798,192799,192818,192819,192966,192967,192978,192979,192986,192987,192991,192992,193017,193018,193033,193034,193060,193061,193080,193081,193088,193089,193113,193114,193133,193134,193149,193150,193174,193175,193180,193181,193189,193190,193199,193200,193210,193211,193216,193217,193228,193229,193236,193237,193245,193246,193250,193251,193271,193272,193278,193279,193324,193325,193338,193339,193395,193396,193413,193414,194623,194624,194628,194629,194635,194636,194693,194694,194715,194716,194725,194726,195893,195894,195904,195905,195941,195942,195979,195980,195984,195985,195992,195993,195998,195999,196170,196171,196199,196200,196208,196209,196220,196221,196225,196226,196237,196238,196243,196244,196257,196258,196270,196271,196286,196287,196291,196292,196308,196309,196320,196321,196326,196327,196339,196340,196361,196362,196367,196368,196374,196375,196389,196390,196422,196423,196441,196442,196468,196469,196474,196475,196479,196480,196486,196487,196514,196515,196520,196521,196532,196533,196549,196550,196567,196568,196576,196577,196584,196585,196601,196602,196606,196608,196609,229376,229378,229457,229458,229951,230895,230896,230982,230983,231107,231108,231147,231148,231515,231516,231525,231526,231561,231562,231566,231567,231607,231608,231659,231660,231736,231737,231820,231821,231852,231853,231873,231874,231909,231910,231996,231997,232104,232105,232113,232114,232149,232150,232157,232158,232167,232168,232289,232290,232311,232312,232344,232345,232375,232376,232417,232418,232427,232428,232435,232436,232444,232445,232545,232546,232669,232670,232719,232720,232726,232727,232732,232733,232739,232740,232818,232819,232823,232824,232829,232830,232834,232835,232844,232845,232853,232854,232861,232862,232868,232869,232881,232882,232894,232895,232901,232902,232961,232962,232985,232986,233008,233009,233015,233016,233041,233042,233221,233222,233253,233254,233277,233278,233479,233480,233485,233486,233491,233492,233541,233542,233606,233607,233655,233656,233670,233671,233677,233678,233869,233870,233894,233895,233896,233897,233900,233901,233909,233910,233914,233915,233921,233922,233924,233925,233928,233929,233931,233932,233934,233935,233937,233938,233941,233942,233945,233946,233948,233949,233954,233955,233973,233974,233993,233994,233999,234000,234004,234005,234009,234010,234021,234022,234028,234029,234042,234043,234053,234054,234056,234057,234064,234065,234069,234070,234074,234075,234079,234080,234083,234084,234087,234088,234092,234093,234097,234098,234101,234102,234106,234107,234110,234111,234115,234116,234120,234121,234133,234134,234139,234140,234141,234142,235172,235173,235178,235179,235187,235188,235194,235195,235197,235198,235199,235200,235207,235208,235226,235227,235232,235233,235237,235238,235243,235244,235255,235256,235262,235263,235268,235269,235279,235280,235285,235286,235287,235288,235289,235290,235291,235292,235296,235297,235299,235300,235306,235307,235310,235311,235318,235319,235322,235323,235352,235353,235366,235367,235391,235392,235428,235429,235455,235456,235500,235501,235525,235526,235537,235538,235566,235567,235593,235594,235606,235607,235608,235609,235612,235613,235615,235616,235618,235619,235622,235623,235626,235627,235634,235635,235637,235638,235642,235643,235652,235653,235657,235658,235663,235664,235668,235669,235674,235675,235678,235679,235683,235684,235688,235689,235696,235697,235702,235703,235706,235707,235712,235713,235717,235718,235721,235722,235727,235728,235732,235733,235737,235738,235741,235742,235748,235749,235752,235753,235758,235759,235765,235766,235769,235770,235780,235781,235783,235784,235789,235790,235794,235795,235810,235811,235814,235815,235819,235820,235825,235826,235831,235832,235837,235838,235843,235844,235848,235849,235851,235852,235858,235859,235865,235866,235872,235873,235877,235878,235885,235886,235892,235893,235896,235897,235903,235904,235910,235911,235918,235919,235922,235923,235933,235934,235937,235938,235949,235950,235953,235954,235958,235959,235964,235965,235970,235971,235977,235978,235986,235987,235992,235993,236000,236001,236005,236006,236008,236009,236013,236014,236019,236020,236025,236026,236033,236034,236041,236042,236045,236046,236054,236055,236056,236057,236064,236065,236072,236073,236079,236080,236136,236137,236159,236160,236167,236168,236177,236178,236185,236186,236194,236195,236207,236208,236219,236220,236230,236231,236243,236244,236252,236253,236261,236262,236272,236273,236283,236284,236292,236293,236301,236302,236306,236307,236314,236315,236325,236326,236336,236337,236347,236348,236399,236400,236408,236409,236417,236418,236433,236434,236438,236439,236452,236453,236461,236462,236505,236506,236519,236520,236536,236537,236546,236547,236555,236556,236584,236585,236597,236598,236608,236609,236622,236623,236633,236634,236645,236646,236660,236661,236672,236673,236690,236691,236697,236698,236702,236703,236744,236745,236755,236756,236765,236766,236777,236778,236788,236789,236796,236797,236806,236807,236818,236819,236830,236831,236835,236836,236845,236846,236855,236856,236866,236867,236874,236875,236883,236884,236898,236899,236927,236928,236938,236939,236961,236962,237020,237021,237035,237036,237041,237042,237086,237087,237100,237101,237116,237117,237132,237133,237139,237140,237153,237154,237165,237166,237178,237179,237187,237188,237199,237200,237210,237211,237238,237239,237317,237318,237329,237330,237340,237341,237352,237353,237361,237362,237384,237385,237392,237393,237403,237404,237413,237414,237432,237433,237476,237477,237486,237487,237499,237500,237507,237508,237544,237545,237591,237592,237600,237601,237606,237607,237615,237616,237636,237637,237643,237644,237645,237646,237648,237649,237651,237652,237654,237655,237658,237659,237661,237662,237664,237665,237667,237668,237671,237672,237676,237677,237679,237680,237683,237684,237686,237687,237689,237690,237692,237693,237696,237697,237699,237700,237703,237704,237705,237706,237707,237708,237770,237771,237772,237773,237774,237775,237785,237786,237787,237788,237829,237830,237831,237832,237833,237834,238053,238054,238055,238056,238089,238090,238091,238092,238093,238094,238329,238330,238331,238332,238340,238341,238342,238343,238344,238345,238358,238359,238360,238361,238393,238394,238395,238396,238397,238398,238405,238406,238407,238408,239016,239017,239018,239019,239020,239021,239105,239106,239107,239108,239174,239175,239176,239177,239178,239179,239273,239274,239275,239276,241231,241232,241233,241234,241235,241236,242761,242762,242763,242764,242911,242912,242913,242914,242915,242916,243606,243607,243608,243609,243616,243617,243618,243619,243620,243621,243622,243623,243624,243625,243637,243638,243639,243640,246228,246229,246230,246231,246232,246233,248597,248598,248599,248600,249083,249084,249085,249086,249087,249088,249983,249984,249985,249986,250143,250144,250145,250146,250147,250148,250424,250425,250426,250427,251410,251411,251412,251413,251414,251415,252001,252002,252003,252004,252010,252011,252012,252013,252014,252015,252025,252026,252027,252028,252041,252042,252043,252044,252045,252046,252080,252081,252082,252083,252089,252090,252091,252092,252093,252094,252105,252106,252107,252108,252168,252169,252170,252171,252172,252173,252179,252180,252181,252182,252416,252417,252418,252419,252420,252421,252578,252579,252580,252581,252628,252629,252630,252631,252632,252633,252766,252767,252768,252769,254448,254449,254450,254451,254452,254453,255760,255761,255762,255763,255773,255774,255775,255776,255777,255778,255829,255830,255831,255832,255868,255869,255870,255871,255872,255873,255874,255875,255876,255877,255933,255934,255935,255936,255941,255942,255943,255944,255945,255946,255969,255970,255971,255972,257386,257387,257388,257389,257390,257391,258440,258441,258442,258443,258446,258447,258448,258449,258450,258451,258464,258465,258466,258467,258473,258474,258475,258476,258477,258478,258494,258495,258496,258497,258509,258510,258511,258512,258513,258514,258594,258595,258596,258597,258598,258599,258600,258601,260999,261000,261001,261002,261045,261046,261047,261048,261049,261050,261167,261168,261169,261170,261173,261174,261175,261176,261177,261178,261189,261190,261191,261192,261253,261254,261255,261256,261257,261258,261347,261348,261349,261350,261483,261484,261485,261486,261487,261488,261734,261735,261736,261737,261748,261749,261750,261751,261752,261753,261796,261797,261798,261799,261800,261801,261802,261803,261804,261805,261806,261807,261808,261809,261810,261811,261812,261813,261814,261815,261816,261817,261818,261819,261820,261821,261822,261823,261832,261833,261834,261835,261836,261837,261846,261847,261848,261849,261906,261907,261908,261909,261910,261911,262086,262087,262088,262089,262090,262091,262092,262093,262094,262095,262119,262120,262121,262122,262123,262124,262134,262135,262136,262137,262138,262139,262140,262141,262142,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") == "4d9e6c6d5eb7b708f698da98f2127b91e594aea1" || 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", "6540,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,3768,6947,6948,6949,6950,8090,8091,8092,8093,8315,8316,8317,8318,9155,9156,9157,9158,9160,9161,9162,9163,9164,9165,9172,9173,9174,9175,9181,9182,9183,9184,9185,9186,9212,9213,9214,9215,9278,9279,9280,9281,9282,9283,9349,9350,9351,9352,9358,9359,9360,9361,9362,9363,9390,9391,9392,9393,9397,9398,9399,9400,9401,9402,9421,9422,9423,9424,9426,9427,9428,9429,9430,9431,9437,9438,9439,9440,9444,9445,9446,9447,9448,9449,9465,9466,9467,9468,9471,9472,9473,9474,9475,9476,9486,9487,9488,9489,9492,9493,9494,9495,9496,9497,9510,9511,9512,9513,9517,9518,9519,9520,9521,9522,9533,9534,9535,9536,9537,9538,9539,9540,9604,9605,9616,9617,9618,9619,9620,9621,9622,9623,9630,9631,9633,9634,9635,9636,9638,9639,9640,9641,9642,9643,9644,9645,9692,9693,9702,9703,9704,9705,9706,9707,9708,9709,9761,9762,9772,9773,9774,9775,9776,9777,9778,9779,10524,10525,21727,21728,21730,21731,21742,21743,21754,21755,21759,21760,21764,21765,21772,21773,21778,21779,21783,21784,21785,21786,21792,21793,21830,21831,21832,21833,21834,21835,21841,21842,21851,21852,21861,21862,21869,21870,21876,21877,21888,21889,21895,21896,21901,21902,21903,21904,21913,21914,21923,21924,21930,21931,21936,21937,21938,21939,21943,21944,21949,21950,21954,21955,21967,21968,21975,21976,21982,21983,21991,21992,22040,22041,22046,22047,22048,22049,22054,22055,22136,22137,22142,22143,22155,22156,22162,22163,22168,22169,22202,22203,22222,22223,22227,22228,22233,22234,22241,22242,22246,22247,22254,22255,22261,22262,22269,22270,22275,22276,22286,22287,22310,22311,22345,22346,22347,22348,22356,22357,22399,22400,22407,22408,22417,22418,22458,22459,22463,22464,22473,22474,22480,22481,22486,22487,22494,22495,22510,22511,22520,22521,22542,22543,22553,22554,22566,22567,22577,22578,22724,22725,22738,22739,22747,22748,22753,22754,22789,22790,22801,22802,22836,22837,22949,22950,22961,22962,22971,22972,22973,22974,23003,23004,23009,23010,23047,23048,23076,23077,23078,23079,23080,23081,23108,23109,23121,23122,23177,23178,23241,23242,23303,23304,23309,23310,23351,23352,23407,23408,23409,23410,23415,23416,23421,23422,23427,23428,23450,23451,23456,23457,23465,23466,23473,23474,23603,23604,23759,23760,23766,23767,23784,23785,23794,23795,23813,23814,23816,23817,23825,23826,23923,23924,23950,23951,23956,23957,23965,23966,24006,24007,24013,24014,24149,24150,24151,24152,24157,24158,24165,24166,24171,24172,24177,24178,24185,24186,24195,24196,24205,24206,24210,24211,24238,24239,24265,24266,24284,24285,24291,24292,24298,24299,24306,24307,24316,24317,24376,24377,24411,24412,24420,24421,24426,24427,24435,24436,24437,24438,24457,24458,24465,24466,24470,24471,24476,24477,24525,24526,24833,24834,24838,24839,24877,24878,24886,24887,24895,24896,24901,24902,24906,24907,24911,24912,24916,24917,24922,24923,24941,24942,24953,24954,24965,24966,24971,24972,24973,24974,24984,24985,24993,24994,25003,25004,25014,25015,25060,25061,25070,25071,25080,25081,25090,25091,25092,25093,25097,25098,25103,25104,25109,25110,25115,25116,25121,25122,25127,25128,25133,25134,25139,25140,25145,25146,25152,25153,25159,25160,25166,25167,25173,25174,25179,25180,25185,25186,25213,25214,25243,25244,25252,25253,25258,25259,25263,25264,25309,25310,25314,25315,25327,25328,25332,25333,25334,25335,25348,25349,25355,25356,25361,25362,25369,25370,25377,25378,25383,25384,25389,25390,25395,25396,25422,25423,25431,25432,25438,25439,25443,25444,25450,25451,25457,25458,25459,25460,25464,25465,25496,25497,25543,25544,25545,25546,25554,25555,25570,25571,25576,25577,25582,25583,25590,25591,25596,25597,25599,25600,25604,25605,25628,25629,25630,25631,25636,25637,25655,25656,25664,25665,25670,25671,25676,25677,25682,25683,25688,25689,25711,25712,25782,25783,25788,25789,25794,25795,25801,25802,25808,25809,25811,25812,25828,25829,25834,25835,25841,25842,25947,25948,25972,25973,25979,25980,25986,25987,25991,25992,25993,25994,26016,26017,26330,26331,26499,26500,26517,26518,26521,26522,26523,26524,26586,26587,26588,26589,26590,26591,26592,26593,26609,26610,26614,26615,26616,26617,26671,26672,26673,26674,26695,26696,26757,26758,26759,26760,26770,26771,26775,26776,26778,26779,26828,26829,26830,26831,26850,26851,26899,26900,26902,26903,26904,26905,26921,26922,26926,26927,26928,26929,26986,26987,26988,26989,27013,27014,27076,27077,27078,27079,27095,27096,27100,27101,27102,27103,27158,27159,27160,27161,27185,27186,27248,27249,27250,27251,27267,27268,27272,27273,27274,27275,27337,27338,27339,27340,27364,27365,27428,27429,27589,27590,27591,27592,27594,27595,27596,27597,27599,27600,27605,27606,27609,27610,27611,27612,27613,27614,27615,27616,27624,27625,27627,27628,27870,27871,27872,27873,27874,27875,27876,27877,27882,27883,27884,27885,27886,27887,27890,27891,27894,27895,27898,27899,27902,27903,27904,27905,27908,27909,27912,27913,27916,27917,27920,27921,27924,27925,27926,27927,27930,27931,27934,27935,27938,27939,27942,27943,27946,27947,27950,27951,28034,28035,28036,28037,28044,28045,28064,28065,28071,28072,28073,28074,28075,28076,28077,28078,28079,28080,28081,28082,28083,28084,28089,28090,28091,28092,28093,28094,28097,28098,28101,28102,28103,28104,28107,28108,28109,28110,28113,28114,28116,28117,28120,28121,28125,28126,28130,28131,28135,28136,28140,28141,28142,28143,28146,28147,28148,28149,28150,28151,28152,28153,28154,28155,28156,28157,28178,28179,28184,28185,28199,28200,28217,28218,28222,28223,28224,28225,28227,28228,28385,28386,28388,28389,28390,28391,28553,28554,28556,28557,28558,28559,28560,28561,28564,28565,28566,28567,28571,28572,28573,28574,28577,28578,28579,28580,28581,28582,28583,28584,28585,28586,28587,28588,28599,28600,28601,28602,28603,28604,28605,28606,28608,28609,28610,28611,28612,28613,28614,28615,28616,28617,28618,28619,28620,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28638,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28654,28655,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28667,28668,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28703,28704,28705,28706,28707,28708,28710,28711,28716,28717,28718,28719,28720,28721,28723,28724,28725,28726,28727,28728,28731,28732,28734,28735,28736,28737,28739,28740,28742,28743,28745,28746,28752,28753,28761,28762,28770,28771,28778,28779,28786,28787,28795,28796,28804,28805,28813,28814,28822,28823,28841,28842,28843,28844,28845,28846,28847,28848,28849,28850,29956,29957,29958,29959,29960,29961,29962,29963,29964,29965,29966,29967,29968,29969,29970,29971,29972,29973,29974,29975,29976,29977,29978,29979,29980,29981,29982,29983,29984,29985,29986,29987,29988,29989,29990,29991,29992,29993,29994,29995,29996,29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30040,30041,30042,30043,30044,30045,30046,30047,30048,30049,30050,30051,30052,30053,30054,30055,30067,30068,30069,30070,30071,30072,30073,30074,30075,30076,30077,30078,30235,30236,30237,30238,30239,30240,30241,30242,30243,30244,30247,30248,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297,30298,30299,30300,30301,30302,30303,30304,30305,30306,30307,30308,30309,30310,30311,30312,30313,30314,30315,30316,30317,30318,30319,30320,30321,30322,30323,30324,30325,30326,30327,30328,30329,30330,30331,30332,30333,30334,30336,30337,30338,30339,30340,30341,30342,30343,30346,30347,30348,30349,30350,30351,30352,30353,30354,30355,30356,30357,30358,30359,30360,30361,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30372,30373,30374,30375,30379,30380,30381,30382,30383,30384,30385,30386,30387,30388,30845,30846,30847,30848,30850,30851,30852,30853,30854,30855,30857,30858,30860,30861,30863,30864,30866,30867,30868,30869,30871,30872,30874,30875,30877,30878,30879,30880,30882,30883,30885,30886,30888,30889,30891,30892,30894,30895,30897,30898,30900,30901,30903,30904,30906,30907,30909,30910,30912,30913,30915,30916,30919,30920,30922,30923,30925,30926,30928,30929,30931,30932,30934,30935,30936,30937,30938,30939,30941,30942,30944,30945,30948,30949,30952,30953,30955,30956,30958,30959,30961,30962,30964,30965,30967,30968,30970,30971,30973,30974,30976,30977,30979,30980,30983,30984,30986,30987,30989,30990,30992,30993,30995,30996,30998,30999,31001,31002,31004,31005,31007,31008,31010,31011,31013,31014,31016,31017,31019,31020,31021,31022,31024,31025,31027,31028,31030,31031,31033,31034,31036,31037,31038,31039,31041,31042,31044,31045,31047,31048,31050,31051,31053,31054,31056,31057,31059,31060,31061,31062,31064,31065,31067,31068,31070,31071,31073,31074,31076,31077,31079,31080,31082,31083,31085,31086,31088,31089,31091,31092,31094,31095,31097,31098,31100,31101,31103,31104,31106,31107,31108,31109,31111,31112,31114,31115,31117,31118,31120,31121,31122,31123,31125,31126,31128,31129,31131,31132,31134,31135,31137,31138,31140,31141,31143,31144,31146,31147,31149,31150,31153,31154,31156,31157,31159,31160,31162,31163,31165,31166,31168,31169,31170,31171,31173,31174,31176,31177,31179,31180,31182,31183,31185,31186,31187,31188,31190,31191,31193,31194,31196,31197,31199,31200,31202,31203,31204,31205,31207,31208,31210,31211,31213,31214,31276,31277,31279,31280,31282,31283,31284,31285,31287,31288,31290,31291,31293,31294,31296,31297,31299,31300,31301,31302,31304,31305,31307,31308,31310,31311,31313,31314,31315,31316,31318,31319,31321,31322,31324,31325,31327,31328,31330,31331,31333,31334,31336,31337,31339,31340,31342,31343,31345,31346,31347,31348,31350,31351,31353,31354,31356,31357,31359,31360,31362,31363,31365,31366,31368,31369,31371,31372,31374,31375,31376,31377,31378,31379,31380,31381,31382,31383,31385,31386,31389,31390,31392,31393,31394,31395,31396,31397,31399,31400,31402,31403,31405,31406,31408,31409,31411,31412,31414,31415,31417,31418,31420,31421,31422,31423,31424,31425,31426,31427,31428,31429,31431,31432,31440,31441,31449,31450,31458,31459,31467,31468,31476,31477,31478,31479,31480,31481,31482,31483,31484,31485,31486,31487,31488,31489,31490,31491,31495,31496,31497,31498,31500,31501,31511,31512,31527,31528,31545,31546,31575,31576,31605,31606,31680,31681,31753,31754,31804,31805,31845,31846,31873,31874,31902,31903,31935,31936,31989,31990,32009,32010,32065,32066,32095,32096,32125,32126,32155,32156,32185,32186,32190,32191,32195,32196,32204,32205,32238,32239,32243,32244,32246,32247,32249,32250,32262,32263,32269,32270,32276,32277,32286,32287,32293,32294,32330,32331,32366,32367,32372,32373,32378,32379,32383,32384,32386,32387,32392,32393,32398,32399,32409,32410,32412,32413,32422,32423,32432,32433,32442,32443,32453,32454,32462,32463,32471,32472,32480,32481,32489,32490,32515,32516,32519,32520,32522,32523,32537,32538,32552,32553,32567,32568,32582,32583,32587,32588,32592,32593,32621,32622,32627,32628,32632,32633,32635,32636,32638,32639,32644,32645,32683,32684,32724,32725,32728,32729,32733,32734,32738,32739,32751,32752,32754,32755,32758,32759,32763,32764,32765,32768,32770,32849,32850,65536,65537,66030,74956,74957,76014,76015,76927,76928,80492,80493,83023,83024,85084,85085,86182,86183,87020,87021,87553,87554,87634,87635,87741,87742,87889,87890,88758,88759,88760,88761,88762,88763,88797,88798,88805,88806,88807,88808,88809,88810,88811,88812,88844,88845,88899,88900,88935,88936,88937,88938,88939,88940,88941,88942,88943,88944,88945,88946,88947,88948,88949,88950,88951,88952,88953,88954,88955,88956,88957,88958,88959,88960,88961,88962,88963,88964,88965,88966,88967,88968,88969,88970,88971,88972,89128,89129,89237,89238,89381,89382,89483,89484,89674,89675,89834,89835,89898,89899,90047,90048,90252,90253,90347,90348,90502,90503,90565,90566,90567,90568,90569,90570,90571,90572,90573,90574,90575,90576,90577,90578,90587,90588,90589,90590,90592,90593,90594,90595,90622,90623,90624,90625,90651,90652,90653,90654,90681,90682,90683,90684,90696,90697,90698,90699,90707,90708,90709,90710,90714,90715,90716,90717,90723,90724,90725,90726,90727,90728,90729,90730,90732,90733,90734,90735,90744,90745,90746,90747,90748,90749,90750,90751,90752,90753,90754,90755,90756,90757,90758,90759,90837,90838,90839,90840,90841,90842,90843,90844,90845,90846,90847,90848,90849,90850,90851,90852,90854,90855,90856,90857,90858,90859,90860,90861,90897,90898,90899,90900,90936,90937,90938,90939,90940,90941,90942,90943,90944,90945,90946,90947,90948,90949,90951,90952,90954,90955,90956,90957,90958,90959,90960,90961,90962,90963,90964,90965,90966,90967,90968,90969,90970,90971,90972,90973,90974,90975,96396,96397,96398,96399,96400,96401,96402,96403,96404,96405,96406,96407,96411,96412,96415,96416,96420,96421,96425,96426,96430,96431,96432,96433,96434,96435,96438,96439,96440,96441,96442,96443,96444,96445,96446,96447,96448,96449,96450,96451,96452,96453,96454,96455,96456,96457,96458,96459,96460,96461,96462,96463,96464,96465,96466,96467,96468,96469,96470,96471,96472,96473,96474,96475,96476,96477,96478,96479,96480,96481,96482,96483,96484,96485,96486,96487,96488,96489,96490,96491,96492,96493,96494,96495,96496,96497,96498,96499,96500,96501,96502,96503,96504,96505,96506,96507,96508,96509,96510,96511,96512,96513,96514,96515,96519,96520,96525,96526,96527,96528,96651,96652,96653,96654,96655,96656,96657,96658,96659,96660,96661,96662,96663,96664,96666,96667,96668,96669,96671,96672,96673,96674,96676,96677,96678,96679,96681,96682,96683,96684,96686,96687,96688,96689,96691,96692,96693,96694,96696,96697,96698,96699,96700,96701,96702,96703,96704,96705,96706,96707,96713,96714,96715,96716,96717,96718,96724,96725,96726,96727,96808,96809,96810,96811,96812,96813,97199,97200,97201,97202,97204,97205,97206,97207,97208,97209,97215,97216,97217,97218,97223,97224,97225,97226,97227,97228,97245,97246,97247,97248,97278,97279,97280,97281,97282,97283,97302,97303,97304,97305,97315,97316,97317,97318,97319,97320,97343,97344,97345,97346,97347,97348,97349,97350,97352,97353,97354,97355,97359,97360,97361,97362,97364,97365,97366,97367,97369,97370,97371,97372,97374,97375,97376,97377,97379,97380,97381,97382,97384,97385,97386,97387,97389,97390,97391,97392,97395,97396,97397,97398,97400,97401,97402,97403,97406,97407,97408,97409,97411,97412,97413,97414,97424,97425,97426,97427,97428,97429,97430,97431,97432,97433,97434,97435,97436,97437,97442,97443,97444,97445,97446,97447,97454,97455,97456,97457,97479,97480,97481,97482,97483,97484,97529,97530,97531,97532,97546,97547,97548,97549,97550,97551,97567,97568,97569,97570,97571,97572,97573,97574,97587,97588,97589,97590,97592,97593,97594,97595,97597,97598,97599,97600,97602,97603,97604,97605,97607,97608,97609,97610,97612,97613,97614,97615,97617,97618,97619,97620,97622,97623,97624,97625,97627,97628,97629,97630,97632,97633,97634,97635,97642,97643,97644,97645,97647,97648,97649,97650,97651,97652,97653,97654,97655,97656,97657,97658,97659,97660,97665,97666,97667,97668,97669,97670,97677,97678,97679,97680,97684,97685,97686,97687,97688,97689,97696,97697,97698,97699,97700,97701,97702,97703,97705,97706,97707,97708,97710,97711,97712,97713,97715,97716,97717,97718,97720,97721,97722,97723,97725,97726,97727,97728,97730,97731,97732,97733,97841,97842,97843,97844,97845,97846,97847,97848,97849,97850,97851,97852,97853,97854,97855,97856,97857,97858,97859,97860,97861,97862,97863,97864,97872,97873,97874,97875,97883,97884,97885,97886,97887,97888,97895,97896,97897,97898,97905,97906,97907,97908,97909,97910,97911,97912,97913,97914,97915,97916,97925,97926,97927,97928,97929,97930,97946,97947,97948,97949,97951,97952,97953,97954,97956,97957,97958,97959,97961,97962,97963,97964,97969,97970,97971,97972,97974,97975,97976,97977,97978,97979,97980,97981,97986,97987,97988,97989,97990,97991,98001,98002,98003,98004,98029,98030,98031,98032,98033,98034,98120,98121,98122,98123,98186,98187,98188,98189,98190,98191,98192,98193,98208,98209,98210,98211,98212,98213,98232,98233,98234,98235,98236,98237,98238,98239,98240,98241,98246,98247,98252,98253,98263,98264,98277,98278,98293,98294,98295,98296,98297,98298,98299,98300,98301,98304,98306,98385,98386,104971,104975,104976,104980,104981,104986,104987,104993,104994,104999,105000,105006,105007,105099,105100,105199,105200,105204,105205,105221,105222,105253,105254,105315,105316,105381,105382,105443,105444,105505,105506,105581,105582,105663,105664,105739,105740,105821,105822,105903,105904,105980,105981,106063,106064,106139,106140,106221,106222,106297,106298,106373,106374,106454,106455,106529,106530,106611,106612,106693,106694,106769,106770,106852,106853,106928,106929,106931,106932,106940,106941,106942,106943,106949,106950,106957,106958,106966,106967,106987,106988,107124,107125,107126,107127,107128,107129,107154,107155,107522,107523,107559,107560,107979,107980,108002,108003,108180,108181,108184,108185,108200,108201,108346,108347,110120,110121,110168,110169,110505,110506,111148,111149,120054,120055,120067,120068,120139,120140,120142,120143,120150,120151,120167,120168,120385,120386,120412,120413,120675,120676,120680,120681,120712,120713,120715,120716,120723,120724,120860,120861,122060,122061,122063,122064,122074,122075,122082,122083,122148,122149,122444,122445,124552,124553,124556,124557,124687,124688,124689,124690,124691,124692,124694,124695,124696,124697,124701,124702,124704,124705,124706,124707,124709,124710,124722,124723,124729,124730,124736,124737,124742,124743,124775,124776,124811,124812,124815,124816,124819,124820,125216,125217,125664,125665,125666,125667,125670,125671,125673,125674,125677,125678,126182,126183,127789,127790,127791,127792,127805,127806,127808,127809,127811,127812,127814,127815,127823,127824,127826,127827,127840,127841,127842,127843,127844,127845,127904,127905,127913,127914,127955,127956,127998,127999,128049,128050,128156,128157,128165,128166,128183,128184,128194,128195,128203,128204,128212,128213,128232,128233,128243,128244,128251,128252,128263,128264,128301,128302,128332,128333,128348,128349,128358,128359,128379,128380,128389,128390,128400,128401,128449,128450,128462,128463,128546,128547,128553,128554,128586,128587,128603,128604,128680,128681,128788,128789,129003,129004,129024,129025,129041,129042,129198,129199,129548,129549,129574,129575,129585,129586,129598,129599,129609,129610,129666,129667,129679,129680,129690,129691,129778,129779,129795,129796,129807,129808,129820,129821,129919,129920,130709,130710,130720,130721,130722,130723,130768,130769,130823,130824,130825,130826,130831,130832,130835,130836,130846,130847,130856,130857,130871,130872,130875,130876,130906,130907,130910,130911,130914,130915,130938,130939,130993,130994,130998,130999,131004,131005,131008,131009,131011,131012,131014,131015,131016,131017,131044,131045,131047,131048,131050,131051,131052,131053,131054,131055,131057,131058,131070,131072,131073,131566,131717,131718,132023,132024,132088,132089,132176,132177,132840,132841,132869,132870,132880,132881,132918,132919,133191,133192,133265,133266,133339,133340,133383,133384,133387,133388,133389,133390,133391,133392,133393,133394,133395,133396,133398,133399,133405,133406,133411,133412,133487,133488,133491,133492,133497,133498,133499,133500,133501,133502,133503,133504,133505,133506,133507,133508,133514,133515,133516,133517,133538,133539,133562,133563,133564,133565,133576,133577,133620,133621,133672,133673,133992,133993,134100,134101,134102,134103,134111,134112,134117,134118,134130,134131,134145,134146,134189,134190,134203,134204,134249,134250,134261,134262,134369,134370,134686,134687,134785,134786,134823,134824,134853,134854,134873,134874,134882,134883,135067,135068,135210,135211,135221,135222,135239,135240,135249,135250,135384,135385,135391,135392,135421,135422,135452,135453,135642,135643,135649,135650,135656,135657,135662,135663,135667,135668,135681,135682,135690,135691,135695,135696,135726,135727,135744,135745,135775,135776,135830,135831,135848,135849,135879,135880,135899,135900,135908,135909,135916,135917,135940,135941,135990,135991,136002,136003,136007,136008,136012,136013,136818,136819,136823,136824,136828,136829,136845,136846,136850,136851,136857,136858,136862,136863,136868,136869,136874,136875,136879,136880,136885,136886,136891,136892,136896,136897,136901,136902,136907,136908,136913,136914,136919,136920,136925,136926,136930,136931,136936,136937,136942,136943,136947,136948,136953,136954,136959,136960,136964,136965,136970,136971,136976,136977,136981,136982,136987,136988,136993,136994,136998,136999,137004,137005,137010,137011,137015,137016,137021,137022,137027,137028,137032,137033,137038,137039,137044,137045,137049,137050,137055,137056,137061,137062,137066,137067,137072,137073,137078,137079,137083,137084,137089,137090,137095,137096,137100,137101,137106,137107,137112,137113,137120,137121,137128,137129,137142,137143,137148,137149,137171,137172,137201,137202,137244,137245,137281,137282,137288,137289,137347,137348,137352,137353,137371,137372,137376,137377,137550,137551,137720,137721,137727,137728,137742,137743,137752,137753,137762,137763,137772,137773,137782,137783,137792,137793,137802,137803,137812,137813,137822,137823,137832,137833,137847,137848,137857,137858,137867,137868,137882,137883,137892,137893,137902,137903,137912,137913,137922,137923,137932,137933,137942,137943,137952,137953,137962,137963,137972,137973,137987,137988,137997,137998,138007,138008,138017,138018,138027,138028,138042,138043,138052,138053,138062,138063,138072,138073,138087,138088,138097,138098,138107,138108,138117,138118,138132,138133,138142,138143,138152,138153,138162,138163,138172,138173,138187,138188,138197,138198,138207,138208,138217,138218,138227,138228,138237,138238,138246,138247,138261,138262,138271,138272,138281,138282,138291,138292,138301,138302,138311,138312,138321,138322,138331,138332,138341,138342,138356,138357,138366,138367,138376,138377,138386,138387,138396,138397,138406,138407,138416,138417,138426,138427,138436,138437,138446,138447,138456,138457,138471,138472,138481,138482,138491,138492,138501,138502,138511,138512,138521,138522,138536,138537,138546,138547,138556,138557,138566,138567,138576,138577,138586,138587,138596,138597,138606,138607,138621,138622,138631,138632,138641,138642,138651,138652,138666,138667,138681,138682,138691,138692,138701,138702,138711,138712,138721,138722,138731,138732,138741,138742,138756,138757,138766,138767,138776,138777,138786,138787,138801,138802,138811,138812,138821,138822,138831,138832,138846,138847,138856,138857,138866,138867,138876,138877,138891,138892,138901,138902,138911,138912,138921,138922,138931,138932,138941,138942,138956,138957,138966,138967,138976,138977,138986,138987,138996,138997,139011,139012,139021,139022,139031,139032,139041,139042,139051,139052,139061,139062,139076,139077,139086,139087,139096,139097,139106,139107,139116,139117,139126,139127,139141,139142,139151,139152,139161,139162,139171,139172,139181,139182,139191,139192,139201,139202,139211,139212,139221,139222,139231,139232,139246,139247,139256,139257,139266,139267,139276,139277,139286,139287,139296,139297,139306,139307,139316,139317,139326,139327,139336,139337,139351,139352,139361,139362,139371,139372,139381,139382,139391,139392,139401,139402,139411,139412,139421,139422,139431,139432,139441,139442,139456,139457,139466,139467,139476,139477,139486,139487,139496,139497,139506,139507,139516,139517,139526,139527,139536,139537,139551,139552,139561,139562,139571,139572,139581,139582,139591,139592,139601,139602,139611,139612,139621,139622,139631,139632,139641,139642,139651,139652,139661,139662,139671,139672,139686,139687,139696,139697,139706,139707,139716,139717,139726,139727,139736,139737,139746,139747,139756,139757,139766,139767,139781,139782,139791,139792,139801,139802,139811,139812,139821,139822,139831,139832,139841,139842,139856,139857,139866,139867,139876,139877,139886,139887,139896,139897,139906,139907,139916,139917,139926,139927,139936,139937,139946,139947,139956,139957,139966,139967,139981,139982,139991,139992,140001,140002,140011,140012,140021,140022,140031,140032,140041,140042,140051,140052,140061,140062,140071,140072,140086,140087,140096,140097,140106,140107,140116,140117,140131,140132,140141,140142,140151,140152,140161,140162,140171,140172,140181,140182,140191,140192,140201,140202,140211,140212,140221,140222,140236,140237,140246,140247,140256,140257,140266,140267,140276,140277,140286,140287,140296,140297,140306,140307,140321,140322,140331,140332,140341,140342,140351,140352,140361,140362,140371,140372,140386,140387,140396,140397,140406,140407,140416,140417,140426,140427,140436,140437,140446,140447,140456,140457,140466,140467,140481,140482,140491,140492,140501,140502,140511,140512,140622,140623,140686,140687,140691,140692,140698,140699,140712,140713,140719,140720,140778,140779,140800,140801,140814,140815,140847,140848,140941,140942,140956,140957,140966,140967,141011,141012,141044,141045,141055,141056,141062,141063,141068,141069,141182,141183,141202,141203,141208,141209,141885,141886,141905,141906,141918,141919,141932,141933,141996,141997,142002,142003,142009,142010,142016,142017,142024,142025,142094,142095,142103,142104,142111,142112,142131,142132,142153,142154,142423,142424,147246,147247,147276,147277,147284,147285,147399,147400,147422,147423,147473,147474,147503,147504,147528,147529,147542,147543,147548,147549,147562,147563,147567,147568,147603,147604,147610,147611,147617,147618,147626,147627,147636,147637,147645,147646,147702,147703,147721,147722,147753,147754,147759,147760,147771,147772,147827,147828,147840,147841,148009,148010,148024,148025,148100,148101,148159,148160,148181,148182,148226,148227,148241,148242,148246,148247,148252,148253,148258,148259,148264,148265,148270,148271,148276,148277,148284,148285,148587,148588,148592,148593,148620,148621,148634,148635,148639,148640,148646,148647,148656,148657,148688,148689,148694,148695,148701,148702,148709,148710,148717,148718,148722,148723,148727,148728,148734,148735,148741,148742,148748,148749,148754,148755,148760,148761,148766,148767,148772,148773,148778,148779,148783,148784,148789,148790,148795,148796,148801,148802,148807,148808,148814,148815,148820,148821,148826,148827,148831,148832,148838,148839,148845,148846,148852,148853,148862,148863,148872,148873,148880,148881,148886,148887,148900,148901,148910,148911,148916,148917,148924,148925,148930,148931,148936,148937,148942,148943,148949,148950,148954,148955,148960,148961,148966,148967,148971,148972,148977,148978,148983,148984,148988,148989,148993,148994,148999,149000,149004,149005,149012,149013,149019,149020,149024,149025,149030,149031,149173,149174,149186,149187,149215,149216,149237,149238,149276,149277,149418,149419,149452,149453,149459,149460,149595,149596,149614,149615,149651,149652,149661,149662,149683,149684,149933,149934,149975,149976,149988,149989,149996,149997,150003,150004,150009,150010,150018,150019,150025,150026,150057,150058,150075,150076,150090,150091,150099,150100,150106,150107,150113,150114,150132,150133,150164,150165,150189,150190,150238,150239,150250,150251,150257,150258,150272,150273,150275,150276,150283,150284,150293,150294,150300,150301,150326,150327,150346,150347,150364,150365,150394,150395,150399,150400,150404,150405,150409,150410,150423,150424,150426,150427,152892,152893,152895,152896,152900,152901,152906,152907,152913,152914,152969,152970,152972,152973,153384,153385,154604,154605,154612,154613,154791,154792,154796,154797,154804,154805,154848,154849,154870,154871,154875,154876,154880,154881,154890,154891,154896,154897,154902,154903,154911,154912,154946,154947,154951,154952,154962,154963,154970,154971,154975,154976,154981,154982,155162,155163,155199,155200,155207,155208,155226,155227,155253,155254,155282,155283,155290,155291,155296,155297,155308,155309,155329,155330,155336,155337,155365,155366,155405,155406,155413,155414,155425,155426,155491,155492,155510,155511,155544,155545,155549,155550,155558,155559,155564,155565,155574,155575,155580,155581,155610,155611,155750,155751,155761,155762,155766,155767,155772,155773,155792,155793,155794,155795,155806,155807,155815,155816,155827,155828,155835,155836,155842,155843,155849,155850,155861,155862,155868,155869,155876,155877,155884,155885,155891,155892,155896,155897,155903,155904,155908,155909,155916,155917,155923,155924,155935,155936,155940,155941,155949,155950,155957,155958,155964,155965,155971,155972,155979,155980,155987,155988,155993,155994,156000,156001,156007,156008,156009,156010,156047,156048,156085,156086,156125,156126,156128,156129,156130,156131,156132,156133,156145,156146,156147,156148,156149,156150,156171,156172,156183,156184,156185,156186,156187,156188,156312,156313,156314,156315,156321,156322,156323,156324,156325,156326,156327,156328,156329,156330,156331,156332,156340,156341,156346,156347,156353,156354,156360,156361,156373,156374,156380,156381,156401,156402,156413,156414,156415,156416,156466,156467,156473,156474,156479,156480,156534,156535,156540,156541,156546,156547,156553,156554,156559,156560,156734,156735,156742,156743,156748,156749,156754,156755,156761,156762,156771,156772,156826,156827,156839,156840,156869,156870,156875,156876,156882,156883,156888,156889,156896,156897,156902,156903,156908,156909,156914,156915,156991,156992,157010,157011,157086,157087,157092,157093,157099,157100,157305,163840,163842,163921,163922,164415,172778,172779,178339,178340,179118,179119,179333,179334,179336,179337,179338,179339,179340,179341,179357,179358,179375,179376,179489,179490,179492,179493,179496,179497,179498,179499,179500,179501,179502,179503,179518,179519,179520,179521,179522,179523,179548,179549,179550,179551,179559,179560,179565,179566,179614,179615,179624,179625,179631,179632,179656,179657,180064,180065,180161,180162,180168,180169,180178,180179,180185,180186,180194,180195,180235,180236,180240,180241,180247,180248,180253,180254,180258,180259,180263,180264,180268,180269,180275,180276,180296,180297,180301,180302,180328,180329,180334,180335,180390,180391,180400,180401,180418,180419,180436,180437,183346,183347,183373,183374,183380,183381,183394,183395,183410,183411,183418,183419,183434,183435,183450,183451,183472,183473,183507,183508,183562,183563,183612,183613,183618,183619,183624,183625,183630,183631,183642,183643,183759,183760,183799,183800,183858,183859,183920,183921,184213,184214,184542,184543,184549,184550,184571,184572,184818,184819,184860,184861,184912,184913,184919,184920,184926,184927,185614,185615,185642,185643,187081,187082,187090,187091,187099,187100,187181,187182,187205,187206,187223,187224,187364,187365,187382,187383,187417,187418,187424,187425,187431,187432,187440,187441,187456,187457,187482,187483,187494,187495,187607,187608,187663,187664,187670,187671,187761,187762,187957,187958,187993,187994,188003,188004,188145,188146,188333,188334,188340,188341,188379,188380,188403,188404,188464,188465,188475,188476,188650,188651,188657,188658,188863,188864,188951,188952,189044,189045,189345,189346,189433,189434,189549,189550,189560,189561,189566,189567,189739,189740,189810,189811,189836,189837,189872,189873,189877,189878,189885,189886,189890,189891,190029,190030,190057,190058,190067,190068,190072,190073,190078,190079,190084,190085,190089,190090,190095,190096,190102,190103,190108,190109,190114,190115,190120,190121,190125,190126,190131,190132,190137,190138,190142,190143,190147,190148,190152,190153,190158,190159,190164,190165,190170,190171,190175,190176,190180,190181,190185,190186,190200,190201,190207,190208,190267,190268,190310,190311,190334,190335,190346,190347,190352,190353,190361,190362,190368,190369,190378,190379,190385,190386,190432,190433,190451,190452,190457,190458,190465,190466,190501,190502,190507,190508,190518,190519,190630,190631,190638,190639,190646,190647,190658,190659,190758,190759,190763,190764,190772,190773,190860,190861,190868,190869,190994,190995,191386,191387,191663,191664,191672,191673,191690,191691,191725,191726,191792,191793,191807,191808,191822,191823,191865,191866,191894,191895,192127,192128,192133,192134,192138,192139,192199,192200,192234,192235,192248,192249,192254,192255,192278,192279,192308,192309,192321,192322,192329,192330,192365,192366,192382,192383,192388,192389,192401,192402,192426,192427,192460,192461,192470,192471,192671,192672,192756,192757,192764,192765,192781,192782,192789,192790,192798,192799,192818,192819,192966,192967,192978,192979,192986,192987,192991,192992,193017,193018,193033,193034,193060,193061,193080,193081,193088,193089,193113,193114,193133,193134,193149,193150,193174,193175,193180,193181,193189,193190,193199,193200,193210,193211,193216,193217,193228,193229,193236,193237,193245,193246,193250,193251,193271,193272,193278,193279,193324,193325,193338,193339,193395,193396,193413,193414,194623,194624,194628,194629,194635,194636,194693,194694,194715,194716,194725,194726,195893,195894,195904,195905,195941,195942,195979,195980,195984,195985,195992,195993,195998,195999,196170,196171,196199,196200,196208,196209,196220,196221,196225,196226,196237,196238,196243,196244,196257,196258,196270,196271,196286,196287,196291,196292,196308,196309,196320,196321,196326,196327,196339,196340,196361,196362,196367,196368,196374,196375,196389,196390,196422,196423,196441,196442,196468,196469,196474,196475,196479,196480,196486,196487,196514,196515,196520,196521,196532,196533,196549,196550,196567,196568,196576,196577,196584,196585,196601,196602,196606,196608,196609,229376,229378,229457,229458,229951,230895,230896,230982,230983,231107,231108,231147,231148,231515,231516,231525,231526,231561,231562,231566,231567,231607,231608,231659,231660,231736,231737,231820,231821,231852,231853,231873,231874,231909,231910,231996,231997,232104,232105,232113,232114,232149,232150,232157,232158,232167,232168,232289,232290,232311,232312,232344,232345,232375,232376,232417,232418,232427,232428,232435,232436,232444,232445,232545,232546,232669,232670,232719,232720,232726,232727,232732,232733,232739,232740,232818,232819,232823,232824,232829,232830,232834,232835,232844,232845,232853,232854,232861,232862,232868,232869,232881,232882,232894,232895,232901,232902,232961,232962,232985,232986,233008,233009,233015,233016,233041,233042,233221,233222,233253,233254,233277,233278,233479,233480,233485,233486,233491,233492,233541,233542,233606,233607,233655,233656,233670,233671,233677,233678,233869,233870,233894,233895,233896,233897,233900,233901,233909,233910,233914,233915,233921,233922,233924,233925,233928,233929,233931,233932,233934,233935,233937,233938,233941,233942,233945,233946,233948,233949,233954,233955,233973,233974,233993,233994,233999,234000,234004,234005,234009,234010,234021,234022,234028,234029,234042,234043,234053,234054,234056,234057,234064,234065,234069,234070,234074,234075,234079,234080,234083,234084,234087,234088,234092,234093,234097,234098,234101,234102,234106,234107,234110,234111,234115,234116,234120,234121,234133,234134,234139,234140,234141,234142,235172,235173,235178,235179,235187,235188,235194,235195,235197,235198,235199,235200,235207,235208,235226,235227,235232,235233,235237,235238,235243,235244,235255,235256,235262,235263,235268,235269,235279,235280,235285,235286,235287,235288,235289,235290,235291,235292,235296,235297,235299,235300,235306,235307,235310,235311,235318,235319,235322,235323,235352,235353,235366,235367,235391,235392,235428,235429,235455,235456,235500,235501,235525,235526,235537,235538,235566,235567,235593,235594,235606,235607,235608,235609,235612,235613,235615,235616,235618,235619,235622,235623,235626,235627,235634,235635,235637,235638,235642,235643,235652,235653,235657,235658,235663,235664,235668,235669,235674,235675,235678,235679,235683,235684,235688,235689,235696,235697,235702,235703,235706,235707,235712,235713,235717,235718,235721,235722,235727,235728,235732,235733,235737,235738,235741,235742,235748,235749,235752,235753,235758,235759,235765,235766,235769,235770,235780,235781,235783,235784,235789,235790,235794,235795,235810,235811,235814,235815,235819,235820,235825,235826,235831,235832,235837,235838,235843,235844,235848,235849,235851,235852,235858,235859,235865,235866,235872,235873,235877,235878,235885,235886,235892,235893,235896,235897,235903,235904,235910,235911,235918,235919,235922,235923,235933,235934,235937,235938,235949,235950,235953,235954,235958,235959,235964,235965,235970,235971,235977,235978,235986,235987,235992,235993,236000,236001,236005,236006,236008,236009,236013,236014,236019,236020,236025,236026,236033,236034,236041,236042,236045,236046,236054,236055,236056,236057,236064,236065,236072,236073,236079,236080,236136,236137,236159,236160,236167,236168,236177,236178,236185,236186,236194,236195,236207,236208,236219,236220,236230,236231,236243,236244,236252,236253,236261,236262,236272,236273,236283,236284,236292,236293,236301,236302,236306,236307,236314,236315,236325,236326,236336,236337,236347,236348,236399,236400,236408,236409,236417,236418,236433,236434,236438,236439,236452,236453,236461,236462,236505,236506,236519,236520,236536,236537,236546,236547,236555,236556,236584,236585,236597,236598,236608,236609,236622,236623,236633,236634,236645,236646,236660,236661,236672,236673,236690,236691,236697,236698,236702,236703,236744,236745,236755,236756,236765,236766,236777,236778,236788,236789,236796,236797,236806,236807,236818,236819,236830,236831,236835,236836,236845,236846,236855,236856,236866,236867,236874,236875,236883,236884,236898,236899,236927,236928,236938,236939,236961,236962,237020,237021,237035,237036,237041,237042,237086,237087,237100,237101,237116,237117,237132,237133,237139,237140,237153,237154,237165,237166,237178,237179,237187,237188,237199,237200,237210,237211,237238,237239,237317,237318,237329,237330,237340,237341,237352,237353,237361,237362,237384,237385,237392,237393,237403,237404,237413,237414,237432,237433,237476,237477,237486,237487,237499,237500,237507,237508,237544,237545,237591,237592,237600,237601,237606,237607,237615,237616,237636,237637,237643,237644,237645,237646,237648,237649,237651,237652,237654,237655,237658,237659,237661,237662,237664,237665,237667,237668,237671,237672,237676,237677,237679,237680,237683,237684,237686,237687,237689,237690,237692,237693,237696,237697,237699,237700,237703,237704,237705,237706,237707,237708,237770,237771,237772,237773,237774,237775,237785,237786,237787,237788,237829,237830,237831,237832,237833,237834,238053,238054,238055,238056,238089,238090,238091,238092,238093,238094,238329,238330,238331,238332,238340,238341,238342,238343,238344,238345,238358,238359,238360,238361,238393,238394,238395,238396,238397,238398,238405,238406,238407,238408,239016,239017,239018,239019,239020,239021,239105,239106,239107,239108,239174,239175,239176,239177,239178,239179,239273,239274,239275,239276,241231,241232,241233,241234,241235,241236,242761,242762,242763,242764,242911,242912,242913,242914,242915,242916,243606,243607,243608,243609,243616,243617,243618,243619,243620,243621,243622,243623,243624,243625,243637,243638,243639,243640,246228,246229,246230,246231,246232,246233,248597,248598,248599,248600,249083,249084,249085,249086,249087,249088,249983,249984,249985,249986,250143,250144,250145,250146,250147,250148,250424,250425,250426,250427,251410,251411,251412,251413,251414,251415,252001,252002,252003,252004,252010,252011,252012,252013,252014,252015,252025,252026,252027,252028,252041,252042,252043,252044,252045,252046,252080,252081,252082,252083,252089,252090,252091,252092,252093,252094,252105,252106,252107,252108,252168,252169,252170,252171,252172,252173,252179,252180,252181,252182,252416,252417,252418,252419,252420,252421,252578,252579,252580,252581,252628,252629,252630,252631,252632,252633,252766,252767,252768,252769,254448,254449,254450,254451,254452,254453,255760,255761,255762,255763,255773,255774,255775,255776,255777,255778,255829,255830,255831,255832,255868,255869,255870,255871,255872,255873,255874,255875,255876,255877,255933,255934,255935,255936,255941,255942,255943,255944,255945,255946,255969,255970,255971,255972,257386,257387,257388,257389,257390,257391,258440,258441,258442,258443,258446,258447,258448,258449,258450,258451,258464,258465,258466,258467,258473,258474,258475,258476,258477,258478,258494,258495,258496,258497,258509,258510,258511,258512,258513,258514,258594,258595,258596,258597,258598,258599,258600,258601,260999,261000,261001,261002,261045,261046,261047,261048,261049,261050,261167,261168,261169,261170,261173,261174,261175,261176,261177,261178,261189,261190,261191,261192,261253,261254,261255,261256,261257,261258,261347,261348,261349,261350,261483,261484,261485,261486,261487,261488,261734,261735,261736,261737,261748,261749,261750,261751,261752,261753,261796,261797,261798,261799,261800,261801,261802,261803,261804,261805,261806,261807,261808,261809,261810,261811,261812,261813,261814,261815,261816,261817,261818,261819,261820,261821,261822,261823,261832,261833,261834,261835,261836,261837,261846,261847,261848,261849,261906,261907,261908,261909,261910,261911,262086,262087,262088,262089,262090,262091,262092,262093,262094,262095,262119,262120,262121,262122,262123,262124,262134,262135,262136,262137,262138,262139,262140,262141,262142,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") && block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat"), ui_print("system recovered successfully."), abort("E1004: system partition fails to recover"));
endif;

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

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

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

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