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/060/brian09300616:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/055/brian01250504:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/060/brian09300616:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/055/brian01250504:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/060/brian09300616:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/055/brian01250504:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16209192:8cbef03d9dee7965122d722d3f70424c556795c7:16209192:554a01fffb56bcd384f5ac9bd575d70052ee2727") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16209192:8cbef03d9dee7965122d722d3f70424c556795c7:16209192:554a01fffb56bcd384f5ac9bd575d70052ee2727\" has unexpected contents.");
apply_patch_space(45273088) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "6594,1,80,81,307,5536,6567,6568,6569,6570,6576,6577,6578,6579,6580,6581,6608,6609,6610,6611,6615,6616,6617,6618,6619,6620,6639,6640,6641,6642,6644,6645,6646,6647,6648,6649,6655,6656,6657,6658,6662,6663,6664,6665,6666,6667,6683,6684,6685,6686,6689,6690,6691,6692,6693,6694,6704,6705,6706,6707,6710,6711,6712,6713,6714,6715,6728,6729,6730,6731,6735,6736,6737,6738,6739,6740,6751,6752,6753,6754,6755,6756,6757,6758,6822,6823,6834,6835,6836,6837,6838,6839,6840,6841,6848,6849,6851,6852,6853,6854,6856,6857,6858,6859,6860,6861,6862,6863,6910,6911,6920,6921,6922,6923,6924,6925,6926,6927,6979,6980,6990,6991,6992,6993,6994,6995,6996,6997,7742,7743,18945,18946,18948,18949,18960,18961,18972,18973,18977,18978,18982,18983,18984,18985,18992,18993,18998,18999,19003,19004,19005,19006,19012,19013,19050,19051,19052,19053,19054,19055,19061,19062,19071,19072,19081,19082,19089,19090,19096,19097,19108,19109,19115,19116,19121,19122,19123,19124,19133,19134,19143,19144,19150,19151,19156,19157,19158,19159,19163,19164,19169,19170,19174,19175,19187,19188,19195,19196,19202,19203,19211,19212,19259,19260,19265,19266,19267,19268,19273,19274,19355,19356,19361,19362,19374,19375,19381,19382,19387,19388,19421,19422,19441,19442,19446,19447,19452,19453,19460,19461,19465,19466,19473,19474,19480,19481,19488,19489,19494,19495,19505,19506,19529,19530,19564,19565,19566,19567,19575,19576,19618,19619,19626,19627,19636,19637,19677,19678,19682,19683,19692,19693,19699,19700,19705,19706,19713,19714,19729,19730,19739,19740,19761,19762,19772,19773,19785,19786,19796,19797,19943,19944,19957,19958,19966,19967,19972,19973,20008,20009,20020,20021,20055,20056,20168,20169,20180,20181,20190,20191,20192,20193,20222,20223,20228,20229,20266,20267,20295,20296,20297,20298,20299,20300,20327,20328,20340,20341,20396,20397,20460,20461,20522,20523,20528,20529,20570,20571,20626,20627,20628,20629,20634,20635,20640,20641,20646,20647,20669,20670,20675,20676,20684,20685,20692,20693,20822,20823,20978,20979,20985,20986,21003,21004,21013,21014,21032,21033,21035,21036,21044,21045,21142,21143,21169,21170,21175,21176,21184,21185,21225,21226,21232,21233,21368,21369,21370,21371,21376,21377,21384,21385,21390,21391,21396,21397,21404,21405,21414,21415,21424,21425,21429,21430,21457,21458,21484,21485,21503,21504,21510,21511,21517,21518,21525,21526,21535,21536,21595,21596,21630,21631,21639,21640,21645,21646,21654,21655,21656,21657,21676,21677,21684,21685,21689,21690,21695,21696,21744,21745,22052,22053,22057,22058,22096,22097,22105,22106,22114,22115,22120,22121,22125,22126,22130,22131,22135,22136,22141,22142,22160,22161,22172,22173,22184,22185,22190,22191,22192,22193,22203,22204,22212,22213,22222,22223,22233,22234,22279,22280,22289,22290,22299,22300,22309,22310,22311,22312,22316,22317,22322,22323,22328,22329,22334,22335,22340,22341,22346,22347,22352,22353,22358,22359,22364,22365,22371,22372,22378,22379,22385,22386,22392,22393,22398,22399,22404,22405,22432,22433,22462,22463,22471,22472,22477,22478,22482,22483,22528,22529,22533,22534,22546,22547,22551,22552,22553,22554,22567,22568,22574,22575,22580,22581,22588,22589,22596,22597,22602,22603,22608,22609,22614,22615,22641,22642,22650,22651,22657,22658,22662,22663,22669,22670,22676,22677,22678,22679,22683,22684,22715,22716,22762,22763,22764,22765,22773,22774,22789,22790,22795,22796,22801,22802,22809,22810,22815,22816,22818,22819,22823,22824,22847,22848,22849,22850,22855,22856,22874,22875,22883,22884,22889,22890,22895,22896,22901,22902,22907,22908,22930,22931,23001,23002,23007,23008,23013,23014,23020,23021,23027,23028,23030,23031,23047,23048,23053,23054,23060,23061,23166,23167,23191,23192,23198,23199,23205,23206,23210,23211,23212,23213,23235,23236,23549,23550,23718,23719,23736,23737,23740,23741,23742,23743,23805,23806,23807,23808,23809,23810,23811,23812,23828,23829,23833,23834,23835,23836,23890,23891,23892,23893,23914,23915,23976,23977,23978,23979,23989,23990,23994,23995,23997,23998,24047,24048,24049,24050,24069,24070,24118,24119,24121,24122,24123,24124,24140,24141,24145,24146,24147,24148,24205,24206,24207,24208,24232,24233,24295,24296,24297,24298,24314,24315,24319,24320,24321,24322,24377,24378,24379,24380,24404,24405,24467,24468,24469,24470,24486,24487,24491,24492,24493,24494,24556,24557,24558,24559,24583,24584,24647,24648,24808,24809,24810,24811,24813,24814,24815,24816,24818,24819,24824,24825,24828,24829,24830,24831,24832,24833,24834,24835,24843,24844,24846,24847,25089,25090,25091,25092,25093,25094,25095,25096,25101,25102,25103,25104,25105,25106,25109,25110,25113,25114,25117,25118,25121,25122,25123,25124,25127,25128,25131,25132,25135,25136,25139,25140,25143,25144,25145,25146,25149,25150,25153,25154,25157,25158,25161,25162,25165,25166,25169,25170,25253,25254,25255,25256,25263,25264,25283,25284,25290,25291,25292,25293,25294,25295,25296,25297,25298,25299,25300,25301,25302,25303,25308,25309,25310,25311,25312,25313,25316,25317,25320,25321,25322,25323,25326,25327,25328,25329,25332,25333,25335,25336,25339,25340,25344,25345,25349,25350,25354,25355,25359,25360,25361,25362,25365,25366,25367,25368,25369,25370,25371,25372,25373,25374,25375,25376,25397,25398,25403,25404,25418,25419,25436,25437,25441,25442,25443,25444,25446,25447,25604,25605,25607,25608,25609,25610,25772,25773,25775,25776,25777,25778,25779,25780,25783,25784,25785,25786,25790,25791,25792,25793,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25818,25819,25820,25821,25822,25823,25824,25825,25827,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25863,25864,25865,25866,25867,25868,25869,25870,25871,25872,25873,25874,25875,25876,25877,25878,25879,25880,25881,25882,25883,25884,25886,25887,25890,25891,25892,25893,25894,25895,25896,25897,25898,25899,25900,25901,25922,25923,25924,25925,25926,25927,25929,25930,25935,25936,25937,25938,25939,25940,25942,25943,25944,25945,25946,25947,25950,25951,25953,25954,25955,25956,25958,25959,25961,25962,25964,25965,25971,25972,25980,25981,25989,25990,25997,25998,26005,26006,26014,26015,26023,26024,26032,26033,26041,26042,26060,26061,26062,26063,26064,26065,26066,26067,26068,26069,27175,27176,27177,27178,27179,27180,27181,27182,27183,27184,27185,27186,27187,27188,27189,27190,27191,27192,27193,27194,27195,27196,27197,27198,27199,27200,27201,27202,27203,27204,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27233,27234,27235,27236,27237,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27249,27250,27251,27252,27253,27254,27255,27256,27257,27258,27259,27260,27261,27262,27263,27264,27265,27266,27267,27268,27269,27270,27271,27272,27273,27274,27286,27287,27288,27289,27290,27291,27292,27293,27294,27295,27296,27297,27454,27455,27456,27457,27458,27459,27460,27461,27462,27463,27466,27467,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27481,27482,27483,27484,27485,27486,27487,27488,27489,27490,27491,27492,27493,27494,27495,27496,27497,27498,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27513,27514,27515,27516,27517,27518,27519,27520,27521,27522,27523,27524,27525,27526,27527,27528,27529,27530,27531,27532,27533,27534,27535,27536,27537,27538,27539,27540,27541,27542,27543,27544,27545,27546,27547,27548,27549,27550,27551,27552,27553,27555,27556,27557,27558,27559,27560,27561,27562,27565,27566,27567,27568,27569,27570,27571,27572,27573,27574,27575,27576,27577,27578,27579,27580,27581,27582,27583,27584,27585,27586,27587,27588,27589,27590,27591,27592,27593,27594,27598,27599,27600,27601,27602,27603,27604,27605,27606,27607,28064,28065,28066,28067,28069,28070,28071,28072,28073,28074,28076,28077,28079,28080,28082,28083,28085,28086,28087,28088,28090,28091,28093,28094,28096,28097,28098,28099,28101,28102,28104,28105,28107,28108,28110,28111,28113,28114,28116,28117,28119,28120,28122,28123,28125,28126,28128,28129,28131,28132,28134,28135,28138,28139,28141,28142,28144,28145,28147,28148,28150,28151,28153,28154,28155,28156,28157,28158,28160,28161,28163,28164,28167,28168,28171,28172,28174,28175,28177,28178,28180,28181,28183,28184,28186,28187,28189,28190,28192,28193,28195,28196,28198,28199,28202,28203,28205,28206,28208,28209,28211,28212,28214,28215,28217,28218,28220,28221,28223,28224,28226,28227,28229,28230,28232,28233,28235,28236,28238,28239,28240,28241,28243,28244,28246,28247,28249,28250,28252,28253,28255,28256,28257,28258,28260,28261,28263,28264,28266,28267,28269,28270,28272,28273,28275,28276,28278,28279,28280,28281,28283,28284,28286,28287,28289,28290,28292,28293,28295,28296,28298,28299,28301,28302,28304,28305,28307,28308,28310,28311,28313,28314,28316,28317,28319,28320,28322,28323,28325,28326,28327,28328,28330,28331,28333,28334,28336,28337,28339,28340,28341,28342,28344,28345,28347,28348,28350,28351,28353,28354,28356,28357,28359,28360,28362,28363,28365,28366,28368,28369,28372,28373,28375,28376,28378,28379,28381,28382,28384,28385,28387,28388,28389,28390,28392,28393,28395,28396,28398,28399,28401,28402,28404,28405,28406,28407,28409,28410,28412,28413,28415,28416,28418,28419,28421,28422,28423,28424,28426,28427,28429,28430,28432,28433,28495,28496,28498,28499,28501,28502,28503,28504,28506,28507,28509,28510,28512,28513,28515,28516,28518,28519,28520,28521,28523,28524,28526,28527,28529,28530,28532,28533,28534,28535,28537,28538,28540,28541,28543,28544,28546,28547,28549,28550,28552,28553,28555,28556,28558,28559,28561,28562,28564,28565,28566,28567,28569,28570,28572,28573,28575,28576,28578,28579,28581,28582,28584,28585,28587,28588,28590,28591,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28604,28605,28608,28609,28611,28612,28613,28614,28615,28616,28618,28619,28621,28622,28624,28625,28627,28628,28630,28631,28633,28634,28636,28637,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28650,28651,28659,28660,28668,28669,28677,28678,28686,28687,28695,28696,28697,28698,28699,28700,28701,28702,28703,28704,28705,28706,28707,28708,28709,28710,28714,28715,28716,28717,28719,28720,28730,28731,28746,28747,28764,28765,28794,28795,28824,28825,28899,28900,28972,28973,29023,29024,29064,29065,29092,29093,29121,29122,29154,29155,29208,29209,29228,29229,29284,29285,30730,30731,30760,30761,30790,30791,30820,30821,30850,30851,30855,30856,30860,30861,30869,30870,30903,30904,30908,30909,30911,30912,30914,30915,30927,30928,30934,30935,30941,30942,30951,30952,30958,30959,30995,30996,31031,31032,31037,31038,31043,31044,31048,31049,31051,31052,31057,31058,31063,31064,31074,31075,31077,31078,31087,31088,31097,31098,31107,31108,31118,31119,31127,31128,31136,31137,31145,31146,31154,31155,31180,31181,31184,31185,31187,31188,31202,31203,31217,31218,31232,31233,31247,31248,31252,31253,31257,31258,31286,31287,31292,31293,31297,31298,31300,31301,31303,31304,31309,31310,31348,31349,31389,31390,31393,31394,31398,31399,31470,31471,31475,31476,31488,31489,31491,31492,31495,31496,31508,31509,31513,31514,31518,31519,31523,31524,31529,31530,31536,31537,31542,31543,31549,31550,31642,31643,31742,31743,31747,31748,31764,31765,31796,31797,31858,31859,31924,31925,31986,31987,32048,32049,32124,32125,32206,32207,32282,32283,32364,32365,32446,32447,32523,32524,32606,32607,32682,32683,32764,32765,32766,32768,32770,32849,32850,33343,41705,41706,47260,47261,50170,50171,50463,50464,50792,50793,51039,51040,51091,51092,51779,51780,51807,51808,53246,53247,53328,53329,53352,53353,53370,53371,53511,53512,53529,53530,53564,53565,53571,53572,53580,53581,53596,53597,53622,53623,53634,53635,53747,53748,53803,53804,53810,53811,53901,53902,54097,54098,54133,54134,54143,54144,54285,54286,54473,54474,54480,54481,54519,54520,54543,54544,54604,54605,54615,54616,54790,54791,54797,54798,55003,55004,55091,55092,55184,55185,55485,55486,55573,55574,55689,55690,55700,55701,55706,55707,55879,55880,55950,55951,55976,55977,56012,56013,56017,56018,56025,56026,56030,56031,56169,56170,56197,56198,56207,56208,56212,56213,56218,56219,56224,56225,56229,56230,56235,56236,56242,56243,56248,56249,56254,56255,56260,56261,56265,56266,56271,56272,56277,56278,56282,56283,56287,56288,56292,56293,56298,56299,56304,56305,56310,56311,56315,56316,56320,56321,56325,56326,56340,56341,56347,56348,56407,56408,56450,56451,56474,56475,56486,56487,56492,56493,56501,56502,56508,56509,56518,56519,56525,56526,56572,56573,56591,56592,56597,56598,56605,56606,56641,56642,56647,56648,56658,56659,56770,56771,56778,56779,56786,56787,56798,56799,56898,56899,56903,56904,56912,56913,57000,57001,57008,57009,57134,57135,57526,57527,57803,57804,57812,57813,57830,57831,57865,57866,57932,57933,57947,57948,57962,57963,58005,58006,58034,58035,58267,58268,58273,58274,58278,58279,58339,58340,58374,58375,58388,58389,58394,58395,58418,58419,58448,58449,58461,58462,58469,58470,58505,58506,58522,58523,58528,58529,58541,58542,58566,58567,58600,58601,58610,58611,58811,58812,58896,58897,58904,58905,58921,58922,58929,58930,58938,58939,58958,58959,59106,59107,59118,59119,59126,59127,59131,59132,59157,59158,59173,59174,59200,59201,59220,59221,59228,59229,59253,59254,59273,59274,59289,59290,59314,59315,59320,59321,59329,59330,59339,59340,59350,59351,59356,59357,59368,59369,59376,59377,59385,59386,59390,59391,59411,59412,59418,59419,59464,59465,59478,59479,59535,59536,59553,59554,60763,60764,60768,60769,60775,60776,60833,60834,60855,60856,60865,60866,62033,62034,62044,62045,62081,62082,62119,62120,62124,62125,62132,62133,62138,62139,62310,62311,62339,62340,62348,62349,62360,62361,62365,62366,62377,62378,62383,62384,62397,62398,62410,62411,62426,62427,62431,62432,62448,62449,62460,62461,62466,62467,62479,62480,62501,62502,62507,62508,62514,62515,62529,62530,62562,62563,62581,62582,62608,62609,62614,62615,62619,62620,63564,63565,63571,63572,63599,63600,63605,63606,63692,63693,63704,63705,63721,63722,63739,63740,63748,63749,63756,63757,63881,63882,63921,63922,64289,64290,64306,64307,64316,64317,64321,64322,64357,64358,64362,64363,64403,64404,64455,64456,64532,64533,64616,64617,64648,64649,64669,64670,64705,64706,64792,64793,64900,64901,64909,64910,64945,64946,64953,64954,64963,64964,65085,65086,65107,65108,65140,65141,65171,65172,65213,65214,65223,65224,65231,65232,65240,65241,65341,65342,65465,65466,65515,65516,65522,65523,65528,65529,65533,65536,65537,66030,66137,98304,98306,98385,98386,98879,103439,103440,103515,103516,103591,103592,103672,103673,103747,103748,103829,103830,103911,103912,103987,103988,104070,104071,104146,104147,104149,104150,104158,104159,104160,104161,104167,104168,104175,104176,104184,104185,104205,104206,104342,104343,104344,104345,104346,104347,104372,104373,104740,104741,104777,104778,105197,105198,105220,105221,105398,105399,105402,105403,105418,105419,105564,105565,107338,107339,107386,107387,107723,107724,108366,108367,117272,117273,117285,117286,117357,117358,117360,117361,117368,117369,117385,117386,117603,117604,117630,117631,117893,117894,117898,117899,117930,117931,117933,117934,117941,117942,118078,118079,119278,119279,119281,119282,119292,119293,119300,119301,119366,119367,119662,119663,121770,121771,121774,121775,121905,121906,121907,121908,121909,121910,121912,121913,121914,121915,121919,121920,121922,121923,121924,121925,121927,121928,121940,121941,121947,121948,121954,121955,121960,121961,121993,121994,122029,122030,122033,122034,122037,122038,122434,122435,122882,122883,122884,122885,122888,122889,122891,122892,122895,122896,123400,123401,125007,125008,125009,125010,125023,125024,125026,125027,125029,125030,125032,125033,125041,125042,125044,125045,125058,125059,125060,125061,125062,125063,125122,125123,125131,125132,125173,125174,125216,125217,125267,125268,125374,125375,125383,125384,125401,125402,125412,125413,125421,125422,125430,125431,125450,125451,125461,125462,125469,125470,125481,125482,125519,125520,125550,125551,125566,125567,125576,125577,125597,125598,125607,125608,125618,125619,125667,125668,125680,125681,125764,125765,125771,125772,125804,125805,125821,125822,125898,125899,126006,126007,126221,126222,126242,126243,126259,126260,126416,126417,126766,126767,126792,126793,126803,126804,126816,126817,126827,126828,126884,126885,126897,126898,126908,126909,126996,126997,127013,127014,127025,127026,127038,127039,127137,127138,127927,127928,127938,127939,127940,127941,127986,127987,128041,128042,128043,128044,128049,128050,128053,128054,128064,128065,128074,128075,128089,128090,128093,128094,128124,128125,128128,128129,128132,128133,128156,128157,128211,128212,128216,128217,128222,128223,128226,128227,128229,128230,129007,129008,129010,129011,129012,129013,129040,129041,129043,129044,129046,129047,129048,129049,129050,129051,129265,129266,129268,129269,129281,129282,129284,129285,129286,129287,129288,129289,129305,129306,129323,129324,129437,129438,129440,129441,129444,129445,129446,129447,129448,129449,129450,129451,129466,129467,129468,129469,129470,129471,129496,129497,129498,129499,129507,129508,129513,129514,129562,129563,129572,129573,129579,129580,129604,129605,130012,130013,130109,130110,130116,130117,130126,130127,130133,130134,130142,130143,130183,130184,130188,130189,130195,130196,130201,130202,130206,130207,130211,130212,130216,130217,130223,130224,130244,130245,130249,130250,130276,130277,130282,130283,130338,130339,130348,130349,130366,130367,130384,130385,130411,130412,130418,130419,130432,130433,130448,130449,130456,130457,130472,130473,130488,130489,130510,130511,130545,130546,130600,130601,130650,130651,130656,130657,130662,130663,130668,130669,130680,130681,130797,130798,130837,130838,130896,130897,130958,130959,130965,130966,130987,130988,131029,131030,131036,131037,131043,131044,131052,131053,131061,131062,131068,131069,131070,131072,131073,131566,131609,163840,163842,163921,163922,164415,164421,164422,164500,164501,164506,164507,164511,164512,164521,164522,164530,164531,164538,164539,164545,164546,164558,164559,164571,164572,164578,164579,164638,164639,164662,164663,164685,164686,164692,164693,164718,164719,164898,164899,164930,164931,164954,164955,165156,165157,165162,165163,165168,165169,165218,165219,165283,165284,165332,165333,165347,165348,165354,165355,165546,165547,165571,165572,165575,165576,165585,165586,165592,165593,165601,165602,165606,165607,165610,165611,165614,165615,165617,165618,165621,165622,165625,165626,165629,165630,165633,165634,165636,165637,165639,165640,165643,165644,165647,165648,165650,165651,165658,165659,165677,165678,165699,165700,165706,165707,165712,165713,165719,165720,165723,165724,165726,165727,165738,165739,165745,165746,165759,165760,165770,165771,165775,165776,165785,165786,165791,165792,165798,165799,165805,165806,165809,165810,165816,165817,165822,165823,165826,165827,165830,165831,165834,165835,165838,165839,165843,165844,165848,165849,165852,165853,165857,165858,165861,165862,165866,165867,165871,165872,165884,165885,165889,165890,165902,165903,165910,165911,165912,165913,166943,166944,166947,166948,166954,166955,166962,166963,166966,166967,166970,166971,166983,166984,166988,166989,166994,166995,166999,167000,167003,167004,167007,167008,167016,167017,167024,167025,167029,167030,167033,167034,167039,167040,167045,167046,167053,167054,167057,167058,167065,167066,167072,167073,167074,167075,167082,167083,167101,167102,167107,167108,167112,167113,167118,167119,167130,167131,167137,167138,167143,167144,167154,167155,167160,167161,167162,167163,167164,167165,167166,167167,167171,167172,167174,167175,167181,167182,167185,167186,167193,167194,167197,167198,167227,167228,167241,167242,167266,167267,167303,167304,167330,167331,167375,167376,167400,167401,167412,167413,167441,167442,167468,167469,167481,167482,167483,167484,167487,167488,167490,167491,167493,167494,167497,167498,167501,167502,167509,167510,167512,167513,167517,167518,167527,167528,167532,167533,167538,167539,167543,167544,167549,167550,167553,167554,167558,167559,167563,167564,167571,167572,167577,167578,167581,167582,167587,167588,167592,167593,167596,167597,167602,167603,167607,167608,167612,167613,167616,167617,167623,167624,167627,167628,167633,167634,167640,167641,167644,167645,167655,167656,167658,167659,167664,167665,167669,167670,167685,167686,167689,167690,167694,167695,167700,167701,167706,167707,167712,167713,167718,167719,167723,167724,167726,167727,167733,167734,167740,167741,167747,167748,167752,167753,167760,167761,167767,167768,167771,167772,167778,167779,167785,167786,167793,167794,167797,167798,167808,167809,167812,167813,167824,167825,167828,167829,167833,167834,167839,167840,167845,167846,167852,167853,167861,167862,167867,167868,167875,167876,167880,167881,167883,167884,167888,167889,167894,167895,167900,167901,167908,167909,167916,167917,167920,167921,167929,167930,167931,167932,167939,167940,167947,167948,167954,167955,168011,168012,168034,168035,168042,168043,168052,168053,168060,168061,168069,168070,168082,168083,168094,168095,168105,168106,168118,168119,168127,168128,168136,168137,168147,168148,168158,168159,168167,168168,168176,168177,168181,168182,168189,168190,168200,168201,168211,168212,168222,168223,168274,168275,168283,168284,168292,168293,168308,168309,168313,168314,168327,168328,168336,168337,168380,168381,168394,168395,168411,168412,168421,168422,168430,168431,168459,168460,168472,168473,168483,168484,168497,168498,168508,168509,168520,168521,168535,168536,168547,168548,168565,168566,168572,168573,168577,168578,168619,168620,168630,168631,168640,168641,168652,168653,168663,168664,168671,168672,168681,168682,168693,168694,168705,168706,168710,168711,168720,168721,168730,168731,168741,168742,168749,168750,168758,168759,168773,168774,168802,168803,168813,168814,168836,168837,168895,168896,168910,168911,168916,168917,168961,168962,168975,168976,168991,168992,169007,169008,169014,169015,169028,169029,169040,169041,169053,169054,169062,169063,169074,169075,169085,169086,169113,169114,169192,169193,169204,169205,169215,169216,169227,169228,169236,169237,169259,169260,169267,169268,169278,169279,169288,169289,169307,169308,169351,169352,169361,169362,169374,169375,169382,169383,169419,169420,169466,169467,169475,169476,169481,169482,169490,169491,169511,169512,169518,169519,169520,169521,169523,169524,169526,169527,169529,169530,169533,169534,169536,169537,169539,169540,169542,169543,169546,169547,169551,169552,169554,169555,169558,169559,169561,169562,169564,169565,169567,169568,169571,169572,169574,169575,169578,169579,169580,169581,169582,169583,169645,169646,169647,169648,169649,169650,169660,169661,169662,169663,169704,169705,169706,169707,169708,169709,169928,169929,169930,169931,169964,169965,169966,169967,169968,169969,170204,170205,170206,170207,170215,170216,170217,170218,170219,170220,170233,170234,170235,170236,170268,170269,170270,170271,170272,170273,170280,170281,170282,170283,170891,170892,170893,170894,170895,170896,170980,170981,170982,170983,171049,171050,171051,171052,171053,171054,171148,171149,171150,171151,173106,173107,173108,173109,173110,173111,174636,174637,174638,174639,174786,174787,174788,174789,174790,174791,175481,175482,175483,175484,175491,175492,175493,175494,175495,175496,175497,175498,175499,175500,175512,175513,175514,175515,178103,178104,178105,178106,178107,178108,180472,180473,180474,180475,180958,180959,180960,180961,180962,180963,181858,181859,181860,181861,182018,182019,182020,182021,182022,182023,182299,182300,182301,182302,183285,183286,183287,183288,183289,183290,183876,183877,183878,183879,183885,183886,183887,183888,183889,183890,183900,183901,183902,183903,183916,183917,183918,183919,183920,183921,183955,183956,183957,183958,183964,183965,183966,183967,183968,183969,183980,183981,183982,183983,184043,184044,184045,184046,184047,184048,184054,184055,184056,184057,184291,184292,184293,184294,184295,184296,184453,184454,184455,184456,184503,184504,184505,184506,184507,184508,184641,184642,184643,184644,186323,186324,186325,186326,186327,186328,187635,187636,187637,187638,187648,187649,187650,187651,187652,187653,187704,187705,187706,187707,187743,187744,187745,187746,187747,187748,187749,187750,187751,187752,187808,187809,187810,187811,187816,187817,187818,187819,187820,187821,187844,187845,187846,187847,189261,189262,189263,189264,189265,189266,190315,190316,190317,190318,190321,190322,190323,190324,190325,190326,190339,190340,190341,190342,190348,190349,190350,190351,190352,190353,190369,190370,190371,190372,190384,190385,190386,190387,190388,190389,190469,190470,190471,190472,190473,190474,190475,190476,192874,192875,192876,192877,192920,192921,192922,192923,192924,192925,193042,193043,193044,193045,193048,193049,193050,193051,193052,193053,193064,193065,193066,193067,193128,193129,193130,193131,193132,193133,193222,193223,193224,193225,193358,193359,193360,193361,193362,193363,193609,193610,193611,193612,193623,193624,193625,193626,193627,193628,193671,193672,193673,193674,194731,194732,194733,194734,194735,194736,195648,195649,195650,195651,195652,195653,195654,195655,195656,195657,195658,195659,195660,195661,195662,195663,196500,196501,196502,196503,196504,196505,196506,196507,196516,196517,196518,196519,196520,196521,196530,196531,196532,196533,196590,196591,196592,196593,196594,196595,196596,196597,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,197102,197147,197148,197255,197256,197572,197573,197671,197672,197709,197710,197739,197740,197759,197760,197944,197945,198087,198088,198098,198099,198116,198117,198126,198127,198261,198262,198268,198269,198298,198299,198329,198330,198519,198520,198526,198527,198533,198534,198539,198540,198544,198545,198558,198559,198567,198568,198572,198573,198603,198604,198621,198622,198652,198653,198707,198708,198725,198726,198756,198757,198776,198777,198785,198786,198793,198794,198817,198818,198867,198868,198879,198880,198884,198885,198889,198890,199695,199696,199700,199701,199705,199706,199722,199723,199727,199728,199734,199735,199739,199740,199745,199746,199751,199752,199756,199757,199762,199763,199768,199769,199773,199774,199778,199779,199784,199785,199790,199791,199796,199797,199802,199803,199807,199808,199813,199814,199819,199820,199824,199825,199830,199831,199836,199837,199841,199842,199847,199848,199853,199854,199858,199859,199864,199865,199870,199871,199875,199876,199881,199882,199887,199888,199892,199893,199898,199899,199904,199905,199909,199910,199915,199916,199921,199922,199926,199927,199932,199933,199938,199939,199943,199944,199949,199950,199955,199956,199960,199961,199966,199967,199972,199973,199977,199978,199983,199984,199989,199990,199997,199998,200005,200006,200019,200020,200025,200026,200048,200049,200078,200079,200121,200122,200158,200159,200165,200166,200224,200225,200229,200230,200248,200249,200253,200254,200427,200428,200597,200598,200604,200605,200619,200620,200629,200630,200639,200640,200649,200650,200659,200660,200669,200670,200679,200680,200689,200690,200699,200700,200709,200710,200724,200725,200734,200735,200744,200745,200759,200760,200769,200770,200779,200780,200789,200790,200799,200800,200809,200810,200819,200820,200829,200830,200839,200840,200849,200850,200864,200865,200874,200875,200884,200885,200894,200895,200904,200905,200919,200920,200929,200930,200939,200940,200949,200950,200964,200965,200974,200975,200984,200985,200994,200995,201009,201010,201019,201020,201029,201030,201039,201040,201049,201050,201064,201065,201074,201075,201084,201085,201094,201095,201104,201105,201114,201115,201123,201124,201138,201139,201148,201149,201158,201159,201168,201169,201178,201179,201188,201189,201198,201199,201208,201209,201218,201219,201233,201234,201243,201244,201253,201254,201263,201264,201273,201274,201283,201284,201293,201294,201303,201304,201313,201314,201323,201324,201333,201334,201348,201349,201358,201359,201368,201369,201378,201379,201388,201389,201398,201399,201413,201414,201423,201424,201433,201434,201443,201444,201453,201454,201463,201464,201473,201474,201483,201484,201498,201499,201508,201509,201518,201519,201528,201529,201543,201544,201558,201559,201568,201569,201578,201579,201588,201589,201598,201599,201608,201609,201618,201619,201633,201634,201643,201644,201653,201654,201663,201664,201678,201679,201688,201689,201698,201699,201708,201709,201723,201724,201733,201734,201743,201744,201753,201754,201768,201769,201778,201779,201788,201789,201798,201799,201808,201809,201818,201819,201833,201834,201843,201844,201853,201854,201863,201864,201873,201874,201888,201889,201898,201899,201908,201909,201918,201919,201928,201929,201938,201939,201953,201954,201963,201964,201973,201974,201983,201984,201993,201994,202003,202004,202018,202019,202028,202029,202038,202039,202048,202049,202058,202059,202068,202069,202078,202079,202088,202089,202098,202099,202108,202109,202123,202124,202133,202134,202143,202144,202153,202154,202163,202164,202173,202174,202183,202184,202193,202194,202203,202204,202213,202214,202228,202229,202238,202239,202248,202249,202258,202259,202268,202269,202278,202279,202288,202289,202298,202299,202308,202309,202318,202319,202333,202334,202343,202344,202353,202354,202363,202364,202373,202374,202383,202384,202393,202394,202403,202404,202413,202414,202428,202429,202438,202439,202448,202449,202458,202459,202468,202469,202478,202479,202488,202489,202498,202499,202508,202509,202518,202519,202528,202529,202538,202539,202548,202549,202563,202564,202573,202574,202583,202584,202593,202594,202603,202604,202613,202614,202623,202624,202633,202634,202643,202644,202658,202659,202668,202669,202678,202679,202688,202689,202698,202699,202708,202709,202718,202719,202733,202734,202743,202744,202753,202754,202763,202764,202773,202774,202783,202784,202793,202794,202803,202804,202813,202814,202823,202824,202833,202834,202843,202844,202858,202859,202868,202869,202878,202879,202888,202889,202898,202899,202908,202909,202918,202919,202928,202929,202938,202939,202948,202949,202963,202964,202973,202974,202983,202984,202993,202994,203008,203009,203018,203019,203028,203029,203038,203039,203048,203049,203058,203059,203068,203069,203078,203079,203088,203089,203098,203099,203113,203114,203123,203124,203133,203134,203143,203144,203153,203154,203163,203164,203173,203174,203183,203184,203198,203199,203208,203209,203218,203219,203228,203229,203238,203239,203248,203249,203263,203264,203273,203274,203283,203284,203293,203294,203303,203304,203313,203314,203323,203324,203333,203334,203343,203344,203358,203359,203368,203369,203378,203379,203388,203389,203499,203500,203563,203564,203568,203569,203575,203576,203589,203590,203596,203597,203655,203656,203677,203678,203691,203692,203724,203725,203818,203819,203833,203834,203843,203844,203888,203889,203921,203922,203932,203933,203939,203940,203945,203946,204059,204060,204079,204080,204085,204086,204762,204763,204782,204783,204795,204796,204809,204810,204873,204874,204879,204880,204886,204887,204893,204894,204901,204902,204971,204972,204980,204981,204988,204989,205008,205009,205030,205031,205300,205301,210123,210124,210153,210154,210161,210162,210276,210277,210299,210300,210350,210351,210380,210381,210405,210406,210419,210420,210425,210426,210439,210440,210444,210445,210480,210481,210487,210488,210494,210495,210503,210504,210513,210514,210522,210523,210579,210580,210598,210599,210630,210631,210636,210637,210648,210649,210704,210705,210717,210718,210886,210887,210901,210902,210977,210978,211036,211037,211058,211059,211103,211104,211118,211119,211123,211124,211129,211130,211135,211136,211141,211142,211147,211148,211153,211154,211161,211162,211464,211465,211469,211470,211497,211498,211511,211512,211516,211517,211523,211524,211533,211534,211565,211566,211571,211572,211578,211579,211586,211587,211594,211595,211599,211600,211604,211605,211611,211612,211618,211619,211625,211626,211631,211632,211637,211638,211643,211644,211649,211650,211655,211656,211660,211661,211666,211667,211672,211673,211678,211679,211684,211685,211691,211692,211697,211698,211703,211704,211708,211709,211715,211716,211722,211723,211729,211730,211739,211740,211749,211750,211757,211758,211763,211764,211777,211778,211787,211788,211793,211794,211801,211802,211807,211808,211813,211814,211819,211820,211826,211827,211831,211832,211837,211838,211843,211844,211848,211849,211854,211855,211860,211861,211865,211866,211870,211871,211876,211877,211881,211882,211889,211890,211896,211897,211901,211902,211907,211908,212050,212051,212063,212064,212092,212093,212114,212115,212153,212154,212295,212296,212329,212330,212336,212337,212472,212473,212491,212492,212528,212529,212538,212539,212560,212561,212810,212811,212852,212853,212865,212866,212873,212874,212880,212881,212886,212887,212895,212896,212902,212903,212934,212935,212952,212953,212967,212968,212976,212977,212983,212984,212990,212991,213009,213010,213041,213042,213066,213067,213115,213116,213127,213128,213134,213135,213149,213150,213152,213153,213160,213161,213170,213171,213177,213178,213203,213204,213223,213224,213241,213242,213271,213272,213276,213277,213281,213282,213286,213287,213300,213301,213303,213304,215769,215770,215772,215773,215777,215778,215783,215784,215790,215791,215846,215847,215849,215850,216261,216262,217481,217482,217489,217490,217668,217669,217673,217674,217681,217682,217725,217726,217747,217748,217752,217753,217757,217758,217767,217768,217773,217774,217779,217780,217788,217789,217823,217824,217828,217829,217839,217840,217847,217848,217852,217853,217858,217859,218039,218040,218076,218077,218084,218085,218103,218104,218130,218131,218159,218160,218167,218168,218173,218174,218185,218186,218206,218207,218213,218214,218242,218243,218282,218283,218290,218291,218302,218303,218368,218369,218387,218388,218421,218422,218426,218427,218435,218436,218441,218442,218451,218452,218457,218458,218487,218488,218627,218628,218638,218639,218643,218644,218649,218650,218669,218670,218681,218682,218690,218691,218702,218703,218710,218711,218717,218718,218724,218725,218736,218737,218743,218744,218751,218752,218759,218760,218766,218767,218771,218772,218778,218779,218783,218784,218791,218792,218798,218799,218810,218811,218815,218816,218824,218825,218832,218833,218839,218840,218846,218847,218854,218855,218862,218863,218868,218869,218875,218876,218882,218883,218884,218885,218922,218923,218960,218961,219000,219001,219003,219004,219005,219006,219007,219008,219020,219021,219022,219023,219024,219025,219046,219047,219058,219059,219060,219061,219062,219063,219187,219188,219189,219190,219196,219197,219198,219199,219200,219201,219202,219203,219204,219205,219206,219207,219215,219216,219221,219222,219228,219229,219235,219236,219248,219249,219255,219256,219276,219277,219288,219289,219290,219291,219341,219342,219348,219349,219354,219355,219409,219410,219415,219416,219421,219422,219428,219429,219434,219435,219609,219610,219617,219618,219623,219624,219629,219630,219636,219637,219646,219647,219701,219702,219714,219715,219744,219745,219750,219751,219757,219758,219763,219764,219771,219772,219777,219778,219783,219784,219789,219790,219866,219867,219885,219886,219961,219962,219967,219968,219974,219975,220180,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,247034,247035,248132,248133,248665,248666,248841,248842,248922,248923,249029,249030,249054,249055,249065,249066,249067,249068,249215,249216,249217,249218,249219,249220,250088,250089,250090,250091,250092,250093,250094,250095,250129,250130,250137,250138,250139,250140,250141,250142,250143,250144,250176,250177,250231,250232,250267,250268,250269,250270,250271,250272,250273,250274,250275,250276,250277,250278,250279,250280,250281,250282,250283,250284,250285,250286,250287,250288,250289,250290,250291,250292,250293,250294,250295,250296,250297,250298,250299,250300,250301,250302,250303,250304,250460,250461,250569,250570,250713,250714,250815,250816,251006,251007,251166,251167,251230,251231,251379,251380,251584,251585,251679,251680,251834,251835,251897,251898,251899,251900,251901,251902,251903,251904,251905,251906,251907,251908,251909,251910,251919,251920,251921,251922,251924,251925,251926,251927,251954,251955,251956,251957,251983,251984,251985,251986,252013,252014,252015,252016,252028,252029,252030,252031,252039,252040,252041,252042,252046,252047,252048,252049,252055,252056,252057,252058,252059,252060,252061,252062,252064,252065,252066,252067,252076,252077,252078,252079,252080,252081,252082,252083,252084,252085,252086,252087,252088,252089,252090,252091,252169,252170,252171,252172,252173,252174,252175,252176,252177,252178,252179,252180,252181,252182,252183,252184,252186,252187,252188,252189,252190,252191,252192,252193,252229,252230,252231,252232,252268,252269,252270,252271,252272,252273,252274,252275,252276,252277,252278,252279,252280,252281,252283,252284,252286,252287,252288,252289,252290,252291,252292,252293,252294,252295,252296,252297,252298,252299,252300,252301,252302,252303,252304,252305,252306,252307,257728,257729,257730,257731,257732,257733,257734,257735,257736,257737,257738,257739,257743,257744,257747,257748,257752,257753,257757,257758,257762,257763,257764,257765,257766,257767,257770,257771,257772,257773,257774,257775,257776,257777,257778,257779,257780,257781,257782,257783,257784,257785,257786,257787,257788,257789,257790,257791,257792,257793,257794,257795,257796,257797,257798,257799,257800,257801,257802,257803,257804,257805,257806,257807,257808,257809,257810,257811,257812,257813,257814,257815,257816,257817,257818,257819,257820,257821,257822,257823,257824,257825,257826,257827,257828,257829,257830,257831,257832,257833,257834,257835,257836,257837,257838,257839,257840,257841,257842,257843,257844,257845,257846,257847,257851,257852,257857,257858,257859,257860,257983,257984,257985,257986,257987,257988,257989,257990,257991,257992,257993,257994,257995,257996,257998,257999,258000,258001,258003,258004,258005,258006,258008,258009,258010,258011,258013,258014,258015,258016,258018,258019,258020,258021,258023,258024,258025,258026,258028,258029,258030,258031,258032,258033,258034,258035,258036,258037,258038,258039,258045,258046,258047,258048,258049,258050,258056,258057,258058,258059,258140,258141,258142,258143,258144,258145,258531,258532,258533,258534,258536,258537,258538,258539,258540,258541,258547,258548,258549,258550,258555,258556,258557,258558,258559,258560,258577,258578,258579,258580,258610,258611,258612,258613,258614,258615,258634,258635,258636,258637,258647,258648,258649,258650,258651,258652,258675,258676,258677,258678,258679,258680,258681,258682,258684,258685,258686,258687,258691,258692,258693,258694,258696,258697,258698,258699,258701,258702,258703,258704,258706,258707,258708,258709,258711,258712,258713,258714,258716,258717,258718,258719,258721,258722,258723,258724,258727,258728,258729,258730,258732,258733,258734,258735,258738,258739,258740,258741,258743,258744,258745,258746,258756,258757,258758,258759,258760,258761,258762,258763,258764,258765,258766,258767,258768,258769,258774,258775,258776,258777,258778,258779,258786,258787,258788,258789,258811,258812,258813,258814,258815,258816,258861,258862,258863,258864,258878,258879,258880,258881,258882,258883,258899,258900,258901,258902,258903,258904,258905,258906,258919,258920,258921,258922,258924,258925,258926,258927,258929,258930,258931,258932,258934,258935,258936,258937,258939,258940,258941,258942,258944,258945,258946,258947,258949,258950,258951,258952,258954,258955,258956,258957,258959,258960,258961,258962,258964,258965,258966,258967,258974,258975,258976,258977,258979,258980,258981,258982,258983,258984,258985,258986,258987,258988,258989,258990,258991,258992,258997,258998,258999,259000,259001,259002,259009,259010,259011,259012,259016,259017,259018,259019,259020,259021,259028,259029,259030,259031,259032,259033,259034,259035,259037,259038,259039,259040,259042,259043,259044,259045,259047,259048,259049,259050,259052,259053,259054,259055,259057,259058,259059,259060,259062,259063,259064,259065,259173,259174,259175,259176,259177,259178,259179,259180,259181,259182,259183,259184,259185,259186,259187,259188,259189,259190,259191,259192,259193,259194,259195,259196,259204,259205,259206,259207,259215,259216,259217,259218,259219,259220,259227,259228,259229,259230,259237,259238,259239,259240,259241,259242,259243,259244,259245,259246,259247,259248,259257,259258,259259,259260,259261,259262,259278,259279,259280,259281,259283,259284,259285,259286,259288,259289,259290,259291,259293,259294,259295,259296,259301,259302,259303,259304,259306,259307,259308,259309,259310,259311,259312,259313,259318,259319,259320,259321,259322,259323,259333,259334,259335,259336,259361,259362,259363,259364,259365,259366,259452,259453,259454,259455,259518,259519,259520,259521,259522,259523,259674,259675,259676,259677,259692,259693,259694,259695,259696,259697,259716,259717,259718,259719,259720,259721,259722,259723,260028,260029,260093,260094,260095,260096,260183,260184,260847,260848,260853,260854,260859,260860,260870,260871,260884,260885,260900,260901,260929,260930,260940,260941,260978,260979,261251,261252,261253,261254,261255,261256,261257,261258,261331,261332,261405,261406,261449,261450,261451,261452,261455,261456,261457,261458,261459,261460,261461,261462,261463,261464,261466,261467,261473,261474,261479,261480,261555,261556,261559,261560,261565,261566,261567,261568,261569,261570,261571,261572,261573,261574,261575,261576,261582,261583,261584,261585,261606,261607,261630,261631,261632,261633,261644,261645,261688,261689,261740,261741,262060,262061,262062,262063,262071,262072,262077,262078,262090,262091,262105,262106,262119,262120,262131,262132,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,305947,305948,305960,305961,305962,305963,305983,305984,306005,306006,306007,306008,306025,306026,306033,306034,306035,306036,306063,306064,306092,306093,306094,306095,306146,306147,306180,306181,306182,306183,306199,306200,306209,306210,306211,306212,306222,306223,306326,306327,306328,306329,306360,306361,306906,306907,306908,306909,308634,308635,308650,308651,308652,308653,308668,308669,308735,308736,308737,308738,308751,308752,308762,308763,308764,308765,308787,308788,308891,308892,308893,308894,308941,308942,308948,308949,308950,308951,308959,308960,308969,308970,308971,308972,308994,308995,309005,309006,309007,309008,309018,309019,309051,309052,309053,309054,309080,309081,310223,310224,310225,310226,310227,310228,310229,310230,310231,310232,310891,310892,311257,311258,311259,311260,312161,312162,312180,312181,312182,312183,312210,312211,312429,312430,312431,312432,312512,312513,312932,312933,312934,312935,313623,313624,313631,313632,313633,313634,313653,313654,313658,313659,313660,313661,313662,313663,313664,313665,313674,313675,313782,313783,313784,313785,313878,313879,313887,313888,313889,313890,313891,313892,313893,313894,313911,313912,313931,313932,313933,313934,313944,313945,313999,314000,314001,314002,314014,314015,314019,314020,314021,314022,314032,314033,314047,314048,314049,314050,314086,314087,314096,314097,314098,314099,314142,314143,314169,314170,314171,314172,314224,314225,314234,314235,314236,314237,314275,314276,314288,314289,314290,314291,314292,314293,314372,314373,314374,314375,314376,314377,314378,314379,314383,314384,314385,314386,314395,314396,314404,314405,314406,314407,314435,314436,314501,314502,314503,314504,314572,314573") == "228e446e370f25dc9db92d5987cfc00484625c22" || 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", "6594,1,80,81,307,5536,6567,6568,6569,6570,6576,6577,6578,6579,6580,6581,6608,6609,6610,6611,6615,6616,6617,6618,6619,6620,6639,6640,6641,6642,6644,6645,6646,6647,6648,6649,6655,6656,6657,6658,6662,6663,6664,6665,6666,6667,6683,6684,6685,6686,6689,6690,6691,6692,6693,6694,6704,6705,6706,6707,6710,6711,6712,6713,6714,6715,6728,6729,6730,6731,6735,6736,6737,6738,6739,6740,6751,6752,6753,6754,6755,6756,6757,6758,6822,6823,6834,6835,6836,6837,6838,6839,6840,6841,6848,6849,6851,6852,6853,6854,6856,6857,6858,6859,6860,6861,6862,6863,6910,6911,6920,6921,6922,6923,6924,6925,6926,6927,6979,6980,6990,6991,6992,6993,6994,6995,6996,6997,7742,7743,18945,18946,18948,18949,18960,18961,18972,18973,18977,18978,18982,18983,18984,18985,18992,18993,18998,18999,19003,19004,19005,19006,19012,19013,19050,19051,19052,19053,19054,19055,19061,19062,19071,19072,19081,19082,19089,19090,19096,19097,19108,19109,19115,19116,19121,19122,19123,19124,19133,19134,19143,19144,19150,19151,19156,19157,19158,19159,19163,19164,19169,19170,19174,19175,19187,19188,19195,19196,19202,19203,19211,19212,19259,19260,19265,19266,19267,19268,19273,19274,19355,19356,19361,19362,19374,19375,19381,19382,19387,19388,19421,19422,19441,19442,19446,19447,19452,19453,19460,19461,19465,19466,19473,19474,19480,19481,19488,19489,19494,19495,19505,19506,19529,19530,19564,19565,19566,19567,19575,19576,19618,19619,19626,19627,19636,19637,19677,19678,19682,19683,19692,19693,19699,19700,19705,19706,19713,19714,19729,19730,19739,19740,19761,19762,19772,19773,19785,19786,19796,19797,19943,19944,19957,19958,19966,19967,19972,19973,20008,20009,20020,20021,20055,20056,20168,20169,20180,20181,20190,20191,20192,20193,20222,20223,20228,20229,20266,20267,20295,20296,20297,20298,20299,20300,20327,20328,20340,20341,20396,20397,20460,20461,20522,20523,20528,20529,20570,20571,20626,20627,20628,20629,20634,20635,20640,20641,20646,20647,20669,20670,20675,20676,20684,20685,20692,20693,20822,20823,20978,20979,20985,20986,21003,21004,21013,21014,21032,21033,21035,21036,21044,21045,21142,21143,21169,21170,21175,21176,21184,21185,21225,21226,21232,21233,21368,21369,21370,21371,21376,21377,21384,21385,21390,21391,21396,21397,21404,21405,21414,21415,21424,21425,21429,21430,21457,21458,21484,21485,21503,21504,21510,21511,21517,21518,21525,21526,21535,21536,21595,21596,21630,21631,21639,21640,21645,21646,21654,21655,21656,21657,21676,21677,21684,21685,21689,21690,21695,21696,21744,21745,22052,22053,22057,22058,22096,22097,22105,22106,22114,22115,22120,22121,22125,22126,22130,22131,22135,22136,22141,22142,22160,22161,22172,22173,22184,22185,22190,22191,22192,22193,22203,22204,22212,22213,22222,22223,22233,22234,22279,22280,22289,22290,22299,22300,22309,22310,22311,22312,22316,22317,22322,22323,22328,22329,22334,22335,22340,22341,22346,22347,22352,22353,22358,22359,22364,22365,22371,22372,22378,22379,22385,22386,22392,22393,22398,22399,22404,22405,22432,22433,22462,22463,22471,22472,22477,22478,22482,22483,22528,22529,22533,22534,22546,22547,22551,22552,22553,22554,22567,22568,22574,22575,22580,22581,22588,22589,22596,22597,22602,22603,22608,22609,22614,22615,22641,22642,22650,22651,22657,22658,22662,22663,22669,22670,22676,22677,22678,22679,22683,22684,22715,22716,22762,22763,22764,22765,22773,22774,22789,22790,22795,22796,22801,22802,22809,22810,22815,22816,22818,22819,22823,22824,22847,22848,22849,22850,22855,22856,22874,22875,22883,22884,22889,22890,22895,22896,22901,22902,22907,22908,22930,22931,23001,23002,23007,23008,23013,23014,23020,23021,23027,23028,23030,23031,23047,23048,23053,23054,23060,23061,23166,23167,23191,23192,23198,23199,23205,23206,23210,23211,23212,23213,23235,23236,23549,23550,23718,23719,23736,23737,23740,23741,23742,23743,23805,23806,23807,23808,23809,23810,23811,23812,23828,23829,23833,23834,23835,23836,23890,23891,23892,23893,23914,23915,23976,23977,23978,23979,23989,23990,23994,23995,23997,23998,24047,24048,24049,24050,24069,24070,24118,24119,24121,24122,24123,24124,24140,24141,24145,24146,24147,24148,24205,24206,24207,24208,24232,24233,24295,24296,24297,24298,24314,24315,24319,24320,24321,24322,24377,24378,24379,24380,24404,24405,24467,24468,24469,24470,24486,24487,24491,24492,24493,24494,24556,24557,24558,24559,24583,24584,24647,24648,24808,24809,24810,24811,24813,24814,24815,24816,24818,24819,24824,24825,24828,24829,24830,24831,24832,24833,24834,24835,24843,24844,24846,24847,25089,25090,25091,25092,25093,25094,25095,25096,25101,25102,25103,25104,25105,25106,25109,25110,25113,25114,25117,25118,25121,25122,25123,25124,25127,25128,25131,25132,25135,25136,25139,25140,25143,25144,25145,25146,25149,25150,25153,25154,25157,25158,25161,25162,25165,25166,25169,25170,25253,25254,25255,25256,25263,25264,25283,25284,25290,25291,25292,25293,25294,25295,25296,25297,25298,25299,25300,25301,25302,25303,25308,25309,25310,25311,25312,25313,25316,25317,25320,25321,25322,25323,25326,25327,25328,25329,25332,25333,25335,25336,25339,25340,25344,25345,25349,25350,25354,25355,25359,25360,25361,25362,25365,25366,25367,25368,25369,25370,25371,25372,25373,25374,25375,25376,25397,25398,25403,25404,25418,25419,25436,25437,25441,25442,25443,25444,25446,25447,25604,25605,25607,25608,25609,25610,25772,25773,25775,25776,25777,25778,25779,25780,25783,25784,25785,25786,25790,25791,25792,25793,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25818,25819,25820,25821,25822,25823,25824,25825,25827,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25863,25864,25865,25866,25867,25868,25869,25870,25871,25872,25873,25874,25875,25876,25877,25878,25879,25880,25881,25882,25883,25884,25886,25887,25890,25891,25892,25893,25894,25895,25896,25897,25898,25899,25900,25901,25922,25923,25924,25925,25926,25927,25929,25930,25935,25936,25937,25938,25939,25940,25942,25943,25944,25945,25946,25947,25950,25951,25953,25954,25955,25956,25958,25959,25961,25962,25964,25965,25971,25972,25980,25981,25989,25990,25997,25998,26005,26006,26014,26015,26023,26024,26032,26033,26041,26042,26060,26061,26062,26063,26064,26065,26066,26067,26068,26069,27175,27176,27177,27178,27179,27180,27181,27182,27183,27184,27185,27186,27187,27188,27189,27190,27191,27192,27193,27194,27195,27196,27197,27198,27199,27200,27201,27202,27203,27204,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27233,27234,27235,27236,27237,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27249,27250,27251,27252,27253,27254,27255,27256,27257,27258,27259,27260,27261,27262,27263,27264,27265,27266,27267,27268,27269,27270,27271,27272,27273,27274,27286,27287,27288,27289,27290,27291,27292,27293,27294,27295,27296,27297,27454,27455,27456,27457,27458,27459,27460,27461,27462,27463,27466,27467,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27481,27482,27483,27484,27485,27486,27487,27488,27489,27490,27491,27492,27493,27494,27495,27496,27497,27498,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27513,27514,27515,27516,27517,27518,27519,27520,27521,27522,27523,27524,27525,27526,27527,27528,27529,27530,27531,27532,27533,27534,27535,27536,27537,27538,27539,27540,27541,27542,27543,27544,27545,27546,27547,27548,27549,27550,27551,27552,27553,27555,27556,27557,27558,27559,27560,27561,27562,27565,27566,27567,27568,27569,27570,27571,27572,27573,27574,27575,27576,27577,27578,27579,27580,27581,27582,27583,27584,27585,27586,27587,27588,27589,27590,27591,27592,27593,27594,27598,27599,27600,27601,27602,27603,27604,27605,27606,27607,28064,28065,28066,28067,28069,28070,28071,28072,28073,28074,28076,28077,28079,28080,28082,28083,28085,28086,28087,28088,28090,28091,28093,28094,28096,28097,28098,28099,28101,28102,28104,28105,28107,28108,28110,28111,28113,28114,28116,28117,28119,28120,28122,28123,28125,28126,28128,28129,28131,28132,28134,28135,28138,28139,28141,28142,28144,28145,28147,28148,28150,28151,28153,28154,28155,28156,28157,28158,28160,28161,28163,28164,28167,28168,28171,28172,28174,28175,28177,28178,28180,28181,28183,28184,28186,28187,28189,28190,28192,28193,28195,28196,28198,28199,28202,28203,28205,28206,28208,28209,28211,28212,28214,28215,28217,28218,28220,28221,28223,28224,28226,28227,28229,28230,28232,28233,28235,28236,28238,28239,28240,28241,28243,28244,28246,28247,28249,28250,28252,28253,28255,28256,28257,28258,28260,28261,28263,28264,28266,28267,28269,28270,28272,28273,28275,28276,28278,28279,28280,28281,28283,28284,28286,28287,28289,28290,28292,28293,28295,28296,28298,28299,28301,28302,28304,28305,28307,28308,28310,28311,28313,28314,28316,28317,28319,28320,28322,28323,28325,28326,28327,28328,28330,28331,28333,28334,28336,28337,28339,28340,28341,28342,28344,28345,28347,28348,28350,28351,28353,28354,28356,28357,28359,28360,28362,28363,28365,28366,28368,28369,28372,28373,28375,28376,28378,28379,28381,28382,28384,28385,28387,28388,28389,28390,28392,28393,28395,28396,28398,28399,28401,28402,28404,28405,28406,28407,28409,28410,28412,28413,28415,28416,28418,28419,28421,28422,28423,28424,28426,28427,28429,28430,28432,28433,28495,28496,28498,28499,28501,28502,28503,28504,28506,28507,28509,28510,28512,28513,28515,28516,28518,28519,28520,28521,28523,28524,28526,28527,28529,28530,28532,28533,28534,28535,28537,28538,28540,28541,28543,28544,28546,28547,28549,28550,28552,28553,28555,28556,28558,28559,28561,28562,28564,28565,28566,28567,28569,28570,28572,28573,28575,28576,28578,28579,28581,28582,28584,28585,28587,28588,28590,28591,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28604,28605,28608,28609,28611,28612,28613,28614,28615,28616,28618,28619,28621,28622,28624,28625,28627,28628,28630,28631,28633,28634,28636,28637,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28650,28651,28659,28660,28668,28669,28677,28678,28686,28687,28695,28696,28697,28698,28699,28700,28701,28702,28703,28704,28705,28706,28707,28708,28709,28710,28714,28715,28716,28717,28719,28720,28730,28731,28746,28747,28764,28765,28794,28795,28824,28825,28899,28900,28972,28973,29023,29024,29064,29065,29092,29093,29121,29122,29154,29155,29208,29209,29228,29229,29284,29285,30730,30731,30760,30761,30790,30791,30820,30821,30850,30851,30855,30856,30860,30861,30869,30870,30903,30904,30908,30909,30911,30912,30914,30915,30927,30928,30934,30935,30941,30942,30951,30952,30958,30959,30995,30996,31031,31032,31037,31038,31043,31044,31048,31049,31051,31052,31057,31058,31063,31064,31074,31075,31077,31078,31087,31088,31097,31098,31107,31108,31118,31119,31127,31128,31136,31137,31145,31146,31154,31155,31180,31181,31184,31185,31187,31188,31202,31203,31217,31218,31232,31233,31247,31248,31252,31253,31257,31258,31286,31287,31292,31293,31297,31298,31300,31301,31303,31304,31309,31310,31348,31349,31389,31390,31393,31394,31398,31399,31470,31471,31475,31476,31488,31489,31491,31492,31495,31496,31508,31509,31513,31514,31518,31519,31523,31524,31529,31530,31536,31537,31542,31543,31549,31550,31642,31643,31742,31743,31747,31748,31764,31765,31796,31797,31858,31859,31924,31925,31986,31987,32048,32049,32124,32125,32206,32207,32282,32283,32364,32365,32446,32447,32523,32524,32606,32607,32682,32683,32764,32765,32766,32768,32770,32849,32850,33343,41705,41706,47260,47261,50170,50171,50463,50464,50792,50793,51039,51040,51091,51092,51779,51780,51807,51808,53246,53247,53328,53329,53352,53353,53370,53371,53511,53512,53529,53530,53564,53565,53571,53572,53580,53581,53596,53597,53622,53623,53634,53635,53747,53748,53803,53804,53810,53811,53901,53902,54097,54098,54133,54134,54143,54144,54285,54286,54473,54474,54480,54481,54519,54520,54543,54544,54604,54605,54615,54616,54790,54791,54797,54798,55003,55004,55091,55092,55184,55185,55485,55486,55573,55574,55689,55690,55700,55701,55706,55707,55879,55880,55950,55951,55976,55977,56012,56013,56017,56018,56025,56026,56030,56031,56169,56170,56197,56198,56207,56208,56212,56213,56218,56219,56224,56225,56229,56230,56235,56236,56242,56243,56248,56249,56254,56255,56260,56261,56265,56266,56271,56272,56277,56278,56282,56283,56287,56288,56292,56293,56298,56299,56304,56305,56310,56311,56315,56316,56320,56321,56325,56326,56340,56341,56347,56348,56407,56408,56450,56451,56474,56475,56486,56487,56492,56493,56501,56502,56508,56509,56518,56519,56525,56526,56572,56573,56591,56592,56597,56598,56605,56606,56641,56642,56647,56648,56658,56659,56770,56771,56778,56779,56786,56787,56798,56799,56898,56899,56903,56904,56912,56913,57000,57001,57008,57009,57134,57135,57526,57527,57803,57804,57812,57813,57830,57831,57865,57866,57932,57933,57947,57948,57962,57963,58005,58006,58034,58035,58267,58268,58273,58274,58278,58279,58339,58340,58374,58375,58388,58389,58394,58395,58418,58419,58448,58449,58461,58462,58469,58470,58505,58506,58522,58523,58528,58529,58541,58542,58566,58567,58600,58601,58610,58611,58811,58812,58896,58897,58904,58905,58921,58922,58929,58930,58938,58939,58958,58959,59106,59107,59118,59119,59126,59127,59131,59132,59157,59158,59173,59174,59200,59201,59220,59221,59228,59229,59253,59254,59273,59274,59289,59290,59314,59315,59320,59321,59329,59330,59339,59340,59350,59351,59356,59357,59368,59369,59376,59377,59385,59386,59390,59391,59411,59412,59418,59419,59464,59465,59478,59479,59535,59536,59553,59554,60763,60764,60768,60769,60775,60776,60833,60834,60855,60856,60865,60866,62033,62034,62044,62045,62081,62082,62119,62120,62124,62125,62132,62133,62138,62139,62310,62311,62339,62340,62348,62349,62360,62361,62365,62366,62377,62378,62383,62384,62397,62398,62410,62411,62426,62427,62431,62432,62448,62449,62460,62461,62466,62467,62479,62480,62501,62502,62507,62508,62514,62515,62529,62530,62562,62563,62581,62582,62608,62609,62614,62615,62619,62620,63564,63565,63571,63572,63599,63600,63605,63606,63692,63693,63704,63705,63721,63722,63739,63740,63748,63749,63756,63757,63881,63882,63921,63922,64289,64290,64306,64307,64316,64317,64321,64322,64357,64358,64362,64363,64403,64404,64455,64456,64532,64533,64616,64617,64648,64649,64669,64670,64705,64706,64792,64793,64900,64901,64909,64910,64945,64946,64953,64954,64963,64964,65085,65086,65107,65108,65140,65141,65171,65172,65213,65214,65223,65224,65231,65232,65240,65241,65341,65342,65465,65466,65515,65516,65522,65523,65528,65529,65533,65536,65537,66030,66137,98304,98306,98385,98386,98879,103439,103440,103515,103516,103591,103592,103672,103673,103747,103748,103829,103830,103911,103912,103987,103988,104070,104071,104146,104147,104149,104150,104158,104159,104160,104161,104167,104168,104175,104176,104184,104185,104205,104206,104342,104343,104344,104345,104346,104347,104372,104373,104740,104741,104777,104778,105197,105198,105220,105221,105398,105399,105402,105403,105418,105419,105564,105565,107338,107339,107386,107387,107723,107724,108366,108367,117272,117273,117285,117286,117357,117358,117360,117361,117368,117369,117385,117386,117603,117604,117630,117631,117893,117894,117898,117899,117930,117931,117933,117934,117941,117942,118078,118079,119278,119279,119281,119282,119292,119293,119300,119301,119366,119367,119662,119663,121770,121771,121774,121775,121905,121906,121907,121908,121909,121910,121912,121913,121914,121915,121919,121920,121922,121923,121924,121925,121927,121928,121940,121941,121947,121948,121954,121955,121960,121961,121993,121994,122029,122030,122033,122034,122037,122038,122434,122435,122882,122883,122884,122885,122888,122889,122891,122892,122895,122896,123400,123401,125007,125008,125009,125010,125023,125024,125026,125027,125029,125030,125032,125033,125041,125042,125044,125045,125058,125059,125060,125061,125062,125063,125122,125123,125131,125132,125173,125174,125216,125217,125267,125268,125374,125375,125383,125384,125401,125402,125412,125413,125421,125422,125430,125431,125450,125451,125461,125462,125469,125470,125481,125482,125519,125520,125550,125551,125566,125567,125576,125577,125597,125598,125607,125608,125618,125619,125667,125668,125680,125681,125764,125765,125771,125772,125804,125805,125821,125822,125898,125899,126006,126007,126221,126222,126242,126243,126259,126260,126416,126417,126766,126767,126792,126793,126803,126804,126816,126817,126827,126828,126884,126885,126897,126898,126908,126909,126996,126997,127013,127014,127025,127026,127038,127039,127137,127138,127927,127928,127938,127939,127940,127941,127986,127987,128041,128042,128043,128044,128049,128050,128053,128054,128064,128065,128074,128075,128089,128090,128093,128094,128124,128125,128128,128129,128132,128133,128156,128157,128211,128212,128216,128217,128222,128223,128226,128227,128229,128230,129007,129008,129010,129011,129012,129013,129040,129041,129043,129044,129046,129047,129048,129049,129050,129051,129265,129266,129268,129269,129281,129282,129284,129285,129286,129287,129288,129289,129305,129306,129323,129324,129437,129438,129440,129441,129444,129445,129446,129447,129448,129449,129450,129451,129466,129467,129468,129469,129470,129471,129496,129497,129498,129499,129507,129508,129513,129514,129562,129563,129572,129573,129579,129580,129604,129605,130012,130013,130109,130110,130116,130117,130126,130127,130133,130134,130142,130143,130183,130184,130188,130189,130195,130196,130201,130202,130206,130207,130211,130212,130216,130217,130223,130224,130244,130245,130249,130250,130276,130277,130282,130283,130338,130339,130348,130349,130366,130367,130384,130385,130411,130412,130418,130419,130432,130433,130448,130449,130456,130457,130472,130473,130488,130489,130510,130511,130545,130546,130600,130601,130650,130651,130656,130657,130662,130663,130668,130669,130680,130681,130797,130798,130837,130838,130896,130897,130958,130959,130965,130966,130987,130988,131029,131030,131036,131037,131043,131044,131052,131053,131061,131062,131068,131069,131070,131072,131073,131566,131609,163840,163842,163921,163922,164415,164421,164422,164500,164501,164506,164507,164511,164512,164521,164522,164530,164531,164538,164539,164545,164546,164558,164559,164571,164572,164578,164579,164638,164639,164662,164663,164685,164686,164692,164693,164718,164719,164898,164899,164930,164931,164954,164955,165156,165157,165162,165163,165168,165169,165218,165219,165283,165284,165332,165333,165347,165348,165354,165355,165546,165547,165571,165572,165575,165576,165585,165586,165592,165593,165601,165602,165606,165607,165610,165611,165614,165615,165617,165618,165621,165622,165625,165626,165629,165630,165633,165634,165636,165637,165639,165640,165643,165644,165647,165648,165650,165651,165658,165659,165677,165678,165699,165700,165706,165707,165712,165713,165719,165720,165723,165724,165726,165727,165738,165739,165745,165746,165759,165760,165770,165771,165775,165776,165785,165786,165791,165792,165798,165799,165805,165806,165809,165810,165816,165817,165822,165823,165826,165827,165830,165831,165834,165835,165838,165839,165843,165844,165848,165849,165852,165853,165857,165858,165861,165862,165866,165867,165871,165872,165884,165885,165889,165890,165902,165903,165910,165911,165912,165913,166943,166944,166947,166948,166954,166955,166962,166963,166966,166967,166970,166971,166983,166984,166988,166989,166994,166995,166999,167000,167003,167004,167007,167008,167016,167017,167024,167025,167029,167030,167033,167034,167039,167040,167045,167046,167053,167054,167057,167058,167065,167066,167072,167073,167074,167075,167082,167083,167101,167102,167107,167108,167112,167113,167118,167119,167130,167131,167137,167138,167143,167144,167154,167155,167160,167161,167162,167163,167164,167165,167166,167167,167171,167172,167174,167175,167181,167182,167185,167186,167193,167194,167197,167198,167227,167228,167241,167242,167266,167267,167303,167304,167330,167331,167375,167376,167400,167401,167412,167413,167441,167442,167468,167469,167481,167482,167483,167484,167487,167488,167490,167491,167493,167494,167497,167498,167501,167502,167509,167510,167512,167513,167517,167518,167527,167528,167532,167533,167538,167539,167543,167544,167549,167550,167553,167554,167558,167559,167563,167564,167571,167572,167577,167578,167581,167582,167587,167588,167592,167593,167596,167597,167602,167603,167607,167608,167612,167613,167616,167617,167623,167624,167627,167628,167633,167634,167640,167641,167644,167645,167655,167656,167658,167659,167664,167665,167669,167670,167685,167686,167689,167690,167694,167695,167700,167701,167706,167707,167712,167713,167718,167719,167723,167724,167726,167727,167733,167734,167740,167741,167747,167748,167752,167753,167760,167761,167767,167768,167771,167772,167778,167779,167785,167786,167793,167794,167797,167798,167808,167809,167812,167813,167824,167825,167828,167829,167833,167834,167839,167840,167845,167846,167852,167853,167861,167862,167867,167868,167875,167876,167880,167881,167883,167884,167888,167889,167894,167895,167900,167901,167908,167909,167916,167917,167920,167921,167929,167930,167931,167932,167939,167940,167947,167948,167954,167955,168011,168012,168034,168035,168042,168043,168052,168053,168060,168061,168069,168070,168082,168083,168094,168095,168105,168106,168118,168119,168127,168128,168136,168137,168147,168148,168158,168159,168167,168168,168176,168177,168181,168182,168189,168190,168200,168201,168211,168212,168222,168223,168274,168275,168283,168284,168292,168293,168308,168309,168313,168314,168327,168328,168336,168337,168380,168381,168394,168395,168411,168412,168421,168422,168430,168431,168459,168460,168472,168473,168483,168484,168497,168498,168508,168509,168520,168521,168535,168536,168547,168548,168565,168566,168572,168573,168577,168578,168619,168620,168630,168631,168640,168641,168652,168653,168663,168664,168671,168672,168681,168682,168693,168694,168705,168706,168710,168711,168720,168721,168730,168731,168741,168742,168749,168750,168758,168759,168773,168774,168802,168803,168813,168814,168836,168837,168895,168896,168910,168911,168916,168917,168961,168962,168975,168976,168991,168992,169007,169008,169014,169015,169028,169029,169040,169041,169053,169054,169062,169063,169074,169075,169085,169086,169113,169114,169192,169193,169204,169205,169215,169216,169227,169228,169236,169237,169259,169260,169267,169268,169278,169279,169288,169289,169307,169308,169351,169352,169361,169362,169374,169375,169382,169383,169419,169420,169466,169467,169475,169476,169481,169482,169490,169491,169511,169512,169518,169519,169520,169521,169523,169524,169526,169527,169529,169530,169533,169534,169536,169537,169539,169540,169542,169543,169546,169547,169551,169552,169554,169555,169558,169559,169561,169562,169564,169565,169567,169568,169571,169572,169574,169575,169578,169579,169580,169581,169582,169583,169645,169646,169647,169648,169649,169650,169660,169661,169662,169663,169704,169705,169706,169707,169708,169709,169928,169929,169930,169931,169964,169965,169966,169967,169968,169969,170204,170205,170206,170207,170215,170216,170217,170218,170219,170220,170233,170234,170235,170236,170268,170269,170270,170271,170272,170273,170280,170281,170282,170283,170891,170892,170893,170894,170895,170896,170980,170981,170982,170983,171049,171050,171051,171052,171053,171054,171148,171149,171150,171151,173106,173107,173108,173109,173110,173111,174636,174637,174638,174639,174786,174787,174788,174789,174790,174791,175481,175482,175483,175484,175491,175492,175493,175494,175495,175496,175497,175498,175499,175500,175512,175513,175514,175515,178103,178104,178105,178106,178107,178108,180472,180473,180474,180475,180958,180959,180960,180961,180962,180963,181858,181859,181860,181861,182018,182019,182020,182021,182022,182023,182299,182300,182301,182302,183285,183286,183287,183288,183289,183290,183876,183877,183878,183879,183885,183886,183887,183888,183889,183890,183900,183901,183902,183903,183916,183917,183918,183919,183920,183921,183955,183956,183957,183958,183964,183965,183966,183967,183968,183969,183980,183981,183982,183983,184043,184044,184045,184046,184047,184048,184054,184055,184056,184057,184291,184292,184293,184294,184295,184296,184453,184454,184455,184456,184503,184504,184505,184506,184507,184508,184641,184642,184643,184644,186323,186324,186325,186326,186327,186328,187635,187636,187637,187638,187648,187649,187650,187651,187652,187653,187704,187705,187706,187707,187743,187744,187745,187746,187747,187748,187749,187750,187751,187752,187808,187809,187810,187811,187816,187817,187818,187819,187820,187821,187844,187845,187846,187847,189261,189262,189263,189264,189265,189266,190315,190316,190317,190318,190321,190322,190323,190324,190325,190326,190339,190340,190341,190342,190348,190349,190350,190351,190352,190353,190369,190370,190371,190372,190384,190385,190386,190387,190388,190389,190469,190470,190471,190472,190473,190474,190475,190476,192874,192875,192876,192877,192920,192921,192922,192923,192924,192925,193042,193043,193044,193045,193048,193049,193050,193051,193052,193053,193064,193065,193066,193067,193128,193129,193130,193131,193132,193133,193222,193223,193224,193225,193358,193359,193360,193361,193362,193363,193609,193610,193611,193612,193623,193624,193625,193626,193627,193628,193671,193672,193673,193674,194731,194732,194733,194734,194735,194736,195648,195649,195650,195651,195652,195653,195654,195655,195656,195657,195658,195659,195660,195661,195662,195663,196500,196501,196502,196503,196504,196505,196506,196507,196516,196517,196518,196519,196520,196521,196530,196531,196532,196533,196590,196591,196592,196593,196594,196595,196596,196597,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,197102,197147,197148,197255,197256,197572,197573,197671,197672,197709,197710,197739,197740,197759,197760,197944,197945,198087,198088,198098,198099,198116,198117,198126,198127,198261,198262,198268,198269,198298,198299,198329,198330,198519,198520,198526,198527,198533,198534,198539,198540,198544,198545,198558,198559,198567,198568,198572,198573,198603,198604,198621,198622,198652,198653,198707,198708,198725,198726,198756,198757,198776,198777,198785,198786,198793,198794,198817,198818,198867,198868,198879,198880,198884,198885,198889,198890,199695,199696,199700,199701,199705,199706,199722,199723,199727,199728,199734,199735,199739,199740,199745,199746,199751,199752,199756,199757,199762,199763,199768,199769,199773,199774,199778,199779,199784,199785,199790,199791,199796,199797,199802,199803,199807,199808,199813,199814,199819,199820,199824,199825,199830,199831,199836,199837,199841,199842,199847,199848,199853,199854,199858,199859,199864,199865,199870,199871,199875,199876,199881,199882,199887,199888,199892,199893,199898,199899,199904,199905,199909,199910,199915,199916,199921,199922,199926,199927,199932,199933,199938,199939,199943,199944,199949,199950,199955,199956,199960,199961,199966,199967,199972,199973,199977,199978,199983,199984,199989,199990,199997,199998,200005,200006,200019,200020,200025,200026,200048,200049,200078,200079,200121,200122,200158,200159,200165,200166,200224,200225,200229,200230,200248,200249,200253,200254,200427,200428,200597,200598,200604,200605,200619,200620,200629,200630,200639,200640,200649,200650,200659,200660,200669,200670,200679,200680,200689,200690,200699,200700,200709,200710,200724,200725,200734,200735,200744,200745,200759,200760,200769,200770,200779,200780,200789,200790,200799,200800,200809,200810,200819,200820,200829,200830,200839,200840,200849,200850,200864,200865,200874,200875,200884,200885,200894,200895,200904,200905,200919,200920,200929,200930,200939,200940,200949,200950,200964,200965,200974,200975,200984,200985,200994,200995,201009,201010,201019,201020,201029,201030,201039,201040,201049,201050,201064,201065,201074,201075,201084,201085,201094,201095,201104,201105,201114,201115,201123,201124,201138,201139,201148,201149,201158,201159,201168,201169,201178,201179,201188,201189,201198,201199,201208,201209,201218,201219,201233,201234,201243,201244,201253,201254,201263,201264,201273,201274,201283,201284,201293,201294,201303,201304,201313,201314,201323,201324,201333,201334,201348,201349,201358,201359,201368,201369,201378,201379,201388,201389,201398,201399,201413,201414,201423,201424,201433,201434,201443,201444,201453,201454,201463,201464,201473,201474,201483,201484,201498,201499,201508,201509,201518,201519,201528,201529,201543,201544,201558,201559,201568,201569,201578,201579,201588,201589,201598,201599,201608,201609,201618,201619,201633,201634,201643,201644,201653,201654,201663,201664,201678,201679,201688,201689,201698,201699,201708,201709,201723,201724,201733,201734,201743,201744,201753,201754,201768,201769,201778,201779,201788,201789,201798,201799,201808,201809,201818,201819,201833,201834,201843,201844,201853,201854,201863,201864,201873,201874,201888,201889,201898,201899,201908,201909,201918,201919,201928,201929,201938,201939,201953,201954,201963,201964,201973,201974,201983,201984,201993,201994,202003,202004,202018,202019,202028,202029,202038,202039,202048,202049,202058,202059,202068,202069,202078,202079,202088,202089,202098,202099,202108,202109,202123,202124,202133,202134,202143,202144,202153,202154,202163,202164,202173,202174,202183,202184,202193,202194,202203,202204,202213,202214,202228,202229,202238,202239,202248,202249,202258,202259,202268,202269,202278,202279,202288,202289,202298,202299,202308,202309,202318,202319,202333,202334,202343,202344,202353,202354,202363,202364,202373,202374,202383,202384,202393,202394,202403,202404,202413,202414,202428,202429,202438,202439,202448,202449,202458,202459,202468,202469,202478,202479,202488,202489,202498,202499,202508,202509,202518,202519,202528,202529,202538,202539,202548,202549,202563,202564,202573,202574,202583,202584,202593,202594,202603,202604,202613,202614,202623,202624,202633,202634,202643,202644,202658,202659,202668,202669,202678,202679,202688,202689,202698,202699,202708,202709,202718,202719,202733,202734,202743,202744,202753,202754,202763,202764,202773,202774,202783,202784,202793,202794,202803,202804,202813,202814,202823,202824,202833,202834,202843,202844,202858,202859,202868,202869,202878,202879,202888,202889,202898,202899,202908,202909,202918,202919,202928,202929,202938,202939,202948,202949,202963,202964,202973,202974,202983,202984,202993,202994,203008,203009,203018,203019,203028,203029,203038,203039,203048,203049,203058,203059,203068,203069,203078,203079,203088,203089,203098,203099,203113,203114,203123,203124,203133,203134,203143,203144,203153,203154,203163,203164,203173,203174,203183,203184,203198,203199,203208,203209,203218,203219,203228,203229,203238,203239,203248,203249,203263,203264,203273,203274,203283,203284,203293,203294,203303,203304,203313,203314,203323,203324,203333,203334,203343,203344,203358,203359,203368,203369,203378,203379,203388,203389,203499,203500,203563,203564,203568,203569,203575,203576,203589,203590,203596,203597,203655,203656,203677,203678,203691,203692,203724,203725,203818,203819,203833,203834,203843,203844,203888,203889,203921,203922,203932,203933,203939,203940,203945,203946,204059,204060,204079,204080,204085,204086,204762,204763,204782,204783,204795,204796,204809,204810,204873,204874,204879,204880,204886,204887,204893,204894,204901,204902,204971,204972,204980,204981,204988,204989,205008,205009,205030,205031,205300,205301,210123,210124,210153,210154,210161,210162,210276,210277,210299,210300,210350,210351,210380,210381,210405,210406,210419,210420,210425,210426,210439,210440,210444,210445,210480,210481,210487,210488,210494,210495,210503,210504,210513,210514,210522,210523,210579,210580,210598,210599,210630,210631,210636,210637,210648,210649,210704,210705,210717,210718,210886,210887,210901,210902,210977,210978,211036,211037,211058,211059,211103,211104,211118,211119,211123,211124,211129,211130,211135,211136,211141,211142,211147,211148,211153,211154,211161,211162,211464,211465,211469,211470,211497,211498,211511,211512,211516,211517,211523,211524,211533,211534,211565,211566,211571,211572,211578,211579,211586,211587,211594,211595,211599,211600,211604,211605,211611,211612,211618,211619,211625,211626,211631,211632,211637,211638,211643,211644,211649,211650,211655,211656,211660,211661,211666,211667,211672,211673,211678,211679,211684,211685,211691,211692,211697,211698,211703,211704,211708,211709,211715,211716,211722,211723,211729,211730,211739,211740,211749,211750,211757,211758,211763,211764,211777,211778,211787,211788,211793,211794,211801,211802,211807,211808,211813,211814,211819,211820,211826,211827,211831,211832,211837,211838,211843,211844,211848,211849,211854,211855,211860,211861,211865,211866,211870,211871,211876,211877,211881,211882,211889,211890,211896,211897,211901,211902,211907,211908,212050,212051,212063,212064,212092,212093,212114,212115,212153,212154,212295,212296,212329,212330,212336,212337,212472,212473,212491,212492,212528,212529,212538,212539,212560,212561,212810,212811,212852,212853,212865,212866,212873,212874,212880,212881,212886,212887,212895,212896,212902,212903,212934,212935,212952,212953,212967,212968,212976,212977,212983,212984,212990,212991,213009,213010,213041,213042,213066,213067,213115,213116,213127,213128,213134,213135,213149,213150,213152,213153,213160,213161,213170,213171,213177,213178,213203,213204,213223,213224,213241,213242,213271,213272,213276,213277,213281,213282,213286,213287,213300,213301,213303,213304,215769,215770,215772,215773,215777,215778,215783,215784,215790,215791,215846,215847,215849,215850,216261,216262,217481,217482,217489,217490,217668,217669,217673,217674,217681,217682,217725,217726,217747,217748,217752,217753,217757,217758,217767,217768,217773,217774,217779,217780,217788,217789,217823,217824,217828,217829,217839,217840,217847,217848,217852,217853,217858,217859,218039,218040,218076,218077,218084,218085,218103,218104,218130,218131,218159,218160,218167,218168,218173,218174,218185,218186,218206,218207,218213,218214,218242,218243,218282,218283,218290,218291,218302,218303,218368,218369,218387,218388,218421,218422,218426,218427,218435,218436,218441,218442,218451,218452,218457,218458,218487,218488,218627,218628,218638,218639,218643,218644,218649,218650,218669,218670,218681,218682,218690,218691,218702,218703,218710,218711,218717,218718,218724,218725,218736,218737,218743,218744,218751,218752,218759,218760,218766,218767,218771,218772,218778,218779,218783,218784,218791,218792,218798,218799,218810,218811,218815,218816,218824,218825,218832,218833,218839,218840,218846,218847,218854,218855,218862,218863,218868,218869,218875,218876,218882,218883,218884,218885,218922,218923,218960,218961,219000,219001,219003,219004,219005,219006,219007,219008,219020,219021,219022,219023,219024,219025,219046,219047,219058,219059,219060,219061,219062,219063,219187,219188,219189,219190,219196,219197,219198,219199,219200,219201,219202,219203,219204,219205,219206,219207,219215,219216,219221,219222,219228,219229,219235,219236,219248,219249,219255,219256,219276,219277,219288,219289,219290,219291,219341,219342,219348,219349,219354,219355,219409,219410,219415,219416,219421,219422,219428,219429,219434,219435,219609,219610,219617,219618,219623,219624,219629,219630,219636,219637,219646,219647,219701,219702,219714,219715,219744,219745,219750,219751,219757,219758,219763,219764,219771,219772,219777,219778,219783,219784,219789,219790,219866,219867,219885,219886,219961,219962,219967,219968,219974,219975,220180,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,247034,247035,248132,248133,248665,248666,248841,248842,248922,248923,249029,249030,249054,249055,249065,249066,249067,249068,249215,249216,249217,249218,249219,249220,250088,250089,250090,250091,250092,250093,250094,250095,250129,250130,250137,250138,250139,250140,250141,250142,250143,250144,250176,250177,250231,250232,250267,250268,250269,250270,250271,250272,250273,250274,250275,250276,250277,250278,250279,250280,250281,250282,250283,250284,250285,250286,250287,250288,250289,250290,250291,250292,250293,250294,250295,250296,250297,250298,250299,250300,250301,250302,250303,250304,250460,250461,250569,250570,250713,250714,250815,250816,251006,251007,251166,251167,251230,251231,251379,251380,251584,251585,251679,251680,251834,251835,251897,251898,251899,251900,251901,251902,251903,251904,251905,251906,251907,251908,251909,251910,251919,251920,251921,251922,251924,251925,251926,251927,251954,251955,251956,251957,251983,251984,251985,251986,252013,252014,252015,252016,252028,252029,252030,252031,252039,252040,252041,252042,252046,252047,252048,252049,252055,252056,252057,252058,252059,252060,252061,252062,252064,252065,252066,252067,252076,252077,252078,252079,252080,252081,252082,252083,252084,252085,252086,252087,252088,252089,252090,252091,252169,252170,252171,252172,252173,252174,252175,252176,252177,252178,252179,252180,252181,252182,252183,252184,252186,252187,252188,252189,252190,252191,252192,252193,252229,252230,252231,252232,252268,252269,252270,252271,252272,252273,252274,252275,252276,252277,252278,252279,252280,252281,252283,252284,252286,252287,252288,252289,252290,252291,252292,252293,252294,252295,252296,252297,252298,252299,252300,252301,252302,252303,252304,252305,252306,252307,257728,257729,257730,257731,257732,257733,257734,257735,257736,257737,257738,257739,257743,257744,257747,257748,257752,257753,257757,257758,257762,257763,257764,257765,257766,257767,257770,257771,257772,257773,257774,257775,257776,257777,257778,257779,257780,257781,257782,257783,257784,257785,257786,257787,257788,257789,257790,257791,257792,257793,257794,257795,257796,257797,257798,257799,257800,257801,257802,257803,257804,257805,257806,257807,257808,257809,257810,257811,257812,257813,257814,257815,257816,257817,257818,257819,257820,257821,257822,257823,257824,257825,257826,257827,257828,257829,257830,257831,257832,257833,257834,257835,257836,257837,257838,257839,257840,257841,257842,257843,257844,257845,257846,257847,257851,257852,257857,257858,257859,257860,257983,257984,257985,257986,257987,257988,257989,257990,257991,257992,257993,257994,257995,257996,257998,257999,258000,258001,258003,258004,258005,258006,258008,258009,258010,258011,258013,258014,258015,258016,258018,258019,258020,258021,258023,258024,258025,258026,258028,258029,258030,258031,258032,258033,258034,258035,258036,258037,258038,258039,258045,258046,258047,258048,258049,258050,258056,258057,258058,258059,258140,258141,258142,258143,258144,258145,258531,258532,258533,258534,258536,258537,258538,258539,258540,258541,258547,258548,258549,258550,258555,258556,258557,258558,258559,258560,258577,258578,258579,258580,258610,258611,258612,258613,258614,258615,258634,258635,258636,258637,258647,258648,258649,258650,258651,258652,258675,258676,258677,258678,258679,258680,258681,258682,258684,258685,258686,258687,258691,258692,258693,258694,258696,258697,258698,258699,258701,258702,258703,258704,258706,258707,258708,258709,258711,258712,258713,258714,258716,258717,258718,258719,258721,258722,258723,258724,258727,258728,258729,258730,258732,258733,258734,258735,258738,258739,258740,258741,258743,258744,258745,258746,258756,258757,258758,258759,258760,258761,258762,258763,258764,258765,258766,258767,258768,258769,258774,258775,258776,258777,258778,258779,258786,258787,258788,258789,258811,258812,258813,258814,258815,258816,258861,258862,258863,258864,258878,258879,258880,258881,258882,258883,258899,258900,258901,258902,258903,258904,258905,258906,258919,258920,258921,258922,258924,258925,258926,258927,258929,258930,258931,258932,258934,258935,258936,258937,258939,258940,258941,258942,258944,258945,258946,258947,258949,258950,258951,258952,258954,258955,258956,258957,258959,258960,258961,258962,258964,258965,258966,258967,258974,258975,258976,258977,258979,258980,258981,258982,258983,258984,258985,258986,258987,258988,258989,258990,258991,258992,258997,258998,258999,259000,259001,259002,259009,259010,259011,259012,259016,259017,259018,259019,259020,259021,259028,259029,259030,259031,259032,259033,259034,259035,259037,259038,259039,259040,259042,259043,259044,259045,259047,259048,259049,259050,259052,259053,259054,259055,259057,259058,259059,259060,259062,259063,259064,259065,259173,259174,259175,259176,259177,259178,259179,259180,259181,259182,259183,259184,259185,259186,259187,259188,259189,259190,259191,259192,259193,259194,259195,259196,259204,259205,259206,259207,259215,259216,259217,259218,259219,259220,259227,259228,259229,259230,259237,259238,259239,259240,259241,259242,259243,259244,259245,259246,259247,259248,259257,259258,259259,259260,259261,259262,259278,259279,259280,259281,259283,259284,259285,259286,259288,259289,259290,259291,259293,259294,259295,259296,259301,259302,259303,259304,259306,259307,259308,259309,259310,259311,259312,259313,259318,259319,259320,259321,259322,259323,259333,259334,259335,259336,259361,259362,259363,259364,259365,259366,259452,259453,259454,259455,259518,259519,259520,259521,259522,259523,259674,259675,259676,259677,259692,259693,259694,259695,259696,259697,259716,259717,259718,259719,259720,259721,259722,259723,260028,260029,260093,260094,260095,260096,260183,260184,260847,260848,260853,260854,260859,260860,260870,260871,260884,260885,260900,260901,260929,260930,260940,260941,260978,260979,261251,261252,261253,261254,261255,261256,261257,261258,261331,261332,261405,261406,261449,261450,261451,261452,261455,261456,261457,261458,261459,261460,261461,261462,261463,261464,261466,261467,261473,261474,261479,261480,261555,261556,261559,261560,261565,261566,261567,261568,261569,261570,261571,261572,261573,261574,261575,261576,261582,261583,261584,261585,261606,261607,261630,261631,261632,261633,261644,261645,261688,261689,261740,261741,262060,262061,262062,262063,262071,262072,262077,262078,262090,262091,262105,262106,262119,262120,262131,262132,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,305947,305948,305960,305961,305962,305963,305983,305984,306005,306006,306007,306008,306025,306026,306033,306034,306035,306036,306063,306064,306092,306093,306094,306095,306146,306147,306180,306181,306182,306183,306199,306200,306209,306210,306211,306212,306222,306223,306326,306327,306328,306329,306360,306361,306906,306907,306908,306909,308634,308635,308650,308651,308652,308653,308668,308669,308735,308736,308737,308738,308751,308752,308762,308763,308764,308765,308787,308788,308891,308892,308893,308894,308941,308942,308948,308949,308950,308951,308959,308960,308969,308970,308971,308972,308994,308995,309005,309006,309007,309008,309018,309019,309051,309052,309053,309054,309080,309081,310223,310224,310225,310226,310227,310228,310229,310230,310231,310232,310891,310892,311257,311258,311259,311260,312161,312162,312180,312181,312182,312183,312210,312211,312429,312430,312431,312432,312512,312513,312932,312933,312934,312935,313623,313624,313631,313632,313633,313634,313653,313654,313658,313659,313660,313661,313662,313663,313664,313665,313674,313675,313782,313783,313784,313785,313878,313879,313887,313888,313889,313890,313891,313892,313893,313894,313911,313912,313931,313932,313933,313934,313944,313945,313999,314000,314001,314002,314014,314015,314019,314020,314021,314022,314032,314033,314047,314048,314049,314050,314086,314087,314096,314097,314098,314099,314142,314143,314169,314170,314171,314172,314224,314225,314234,314235,314236,314237,314275,314276,314288,314289,314290,314291,314292,314293,314372,314373,314374,314375,314376,314377,314378,314379,314383,314384,314385,314386,314395,314396,314404,314405,314406,314407,314435,314436,314501,314502,314503,314504,314572,314573") && block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat"), ui_print("system recovered successfully."), abort("E1004: system partition fails to recover"));
endif;

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

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

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

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