getprop("ro.product.device") == "whyred" || abort("E3004: This package is for \"whyred\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: xiaomi/whyred/whyred:7.1.1/NGI77B/V9.2.4.0.NEIMIEK:user/release-keys");
ui_print("Target: xiaomi/whyred/whyred:7.1.1/NGI77B/V9.2.5.0.NEIMIEK:user/release-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "xiaomi/whyred/whyred:7.1.1/NGI77B/V9.2.4.0.NEIMIEK:user/release-keys" ||
    getprop("ro.build.fingerprint") == "xiaomi/whyred/whyred:7.1.1/NGI77B/V9.2.5.0.NEIMIEK:user/release-keys" ||
    abort("E3001: Package expects build fingerprint of xiaomi/whyred/whyred:7.1.1/NGI77B/V9.2.4.0.NEIMIEK:user/release-keys or xiaomi/whyred/whyred:7.1.1/NGI77B/V9.2.5.0.NEIMIEK:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");
show_progress(0.100000, 5);
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:50877770:9b309b5cadea9dc456e322653749f8c094333c08:52458826:07f0e49af9309c357d55f8ac39d795fb608b9852") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:50877770:9b309b5cadea9dc456e322653749f8c094333c08:52458826:07f0e49af9309c357d55f8ac39d795fb608b9852\" has unexpected contents.");
apply_patch_space(75927552) || abort("E3006: Not enough free space on /cache to apply patches.");

# ---- radio update verification ----

ui_print("Verifying radio-update...");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/cmnlib:218088:c05218462335a220b7ef2e4cc7dd1df5ea4ed75c:218088:a03171b066cc988948221d96dc0753fc517c8e08") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/cmnlib:218088:c05218462335a220b7ef2e4cc7dd1df5ea4ed75c:218088:a03171b066cc988948221d96dc0753fc517c8e08\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/cmnlibbak:218088:c05218462335a220b7ef2e4cc7dd1df5ea4ed75c:218088:a03171b066cc988948221d96dc0753fc517c8e08") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/cmnlibbak:218088:c05218462335a220b7ef2e4cc7dd1df5ea4ed75c:218088:a03171b066cc988948221d96dc0753fc517c8e08\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/rpm:224808:fab822db3f63b12989a308444fb2cb84ebf596c2:224808:7573050e1208a0e3afa016b91881480905eba7e2") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/rpm:224808:fab822db3f63b12989a308444fb2cb84ebf596c2:224808:7573050e1208a0e3afa016b91881480905eba7e2\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/rpmbak:224808:fab822db3f63b12989a308444fb2cb84ebf596c2:224808:7573050e1208a0e3afa016b91881480905eba7e2") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/rpmbak:224808:fab822db3f63b12989a308444fb2cb84ebf596c2:224808:7573050e1208a0e3afa016b91881480905eba7e2\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/devcfg:49068:b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d:49068:17bbfa231f23096effd6adc2293f497f11b404b5") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/devcfg:49068:b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d:49068:17bbfa231f23096effd6adc2293f497f11b404b5\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/devcfgbak:49068:b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d:49068:17bbfa231f23096effd6adc2293f497f11b404b5") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/devcfgbak:49068:b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d:49068:17bbfa231f23096effd6adc2293f497f11b404b5\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/keymaster:357392:8ede2ddc7144da4c977893f2c18374275cbf01a2:357392:9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/keymaster:357392:8ede2ddc7144da4c977893f2c18374275cbf01a2:357392:9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/keymasterbak:357392:8ede2ddc7144da4c977893f2c18374275cbf01a2:357392:9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/keymasterbak:357392:8ede2ddc7144da4c977893f2c18374275cbf01a2:357392:9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/xbl:2565745:5c082db0fcfa8551dd0153e6ff46ea2b29e08de1:2565745:c301e4f0a48875af8cb451a9e822dd9cd80a1ffb") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/xbl:2565745:5c082db0fcfa8551dd0153e6ff46ea2b29e08de1:2565745:c301e4f0a48875af8cb451a9e822dd9cd80a1ffb\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/xblbak:2565745:5c082db0fcfa8551dd0153e6ff46ea2b29e08de1:2565745:c301e4f0a48875af8cb451a9e822dd9cd80a1ffb") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/xblbak:2565745:5c082db0fcfa8551dd0153e6ff46ea2b29e08de1:2565745:c301e4f0a48875af8cb451a9e822dd9cd80a1ffb\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/pmic:39752:ed6ba8c0f517db4fad85fb55ed6b4310ab4debf4:39752:b37aed2abaaad0a8887c6fd59af04582e57d7440") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/pmic:39752:ed6ba8c0f517db4fad85fb55ed6b4310ab4debf4:39752:b37aed2abaaad0a8887c6fd59af04582e57d7440\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/tz:1957888:26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae:1957888:e5594246cfa1e58ed49446ed2b0e5e08052ab005") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/tz:1957888:26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae:1957888:e5594246cfa1e58ed49446ed2b0e5e08052ab005\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/tzbak:1957888:26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae:1957888:e5594246cfa1e58ed49446ed2b0e5e08052ab005") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/tzbak:1957888:26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae:1957888:e5594246cfa1e58ed49446ed2b0e5e08052ab005\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/cmnlib64:265912:c6f986a4e54b17a30fd76a5a5d5872d5793a8112:265912:2927d7fe56f2a10ad43b32a43edae47070c94251") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/cmnlib64:265912:c6f986a4e54b17a30fd76a5a5d5872d5793a8112:265912:2927d7fe56f2a10ad43b32a43edae47070c94251\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/cmnlib64bak:265912:c6f986a4e54b17a30fd76a5a5d5872d5793a8112:265912:2927d7fe56f2a10ad43b32a43edae47070c94251") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/cmnlib64bak:265912:c6f986a4e54b17a30fd76a5a5d5872d5793a8112:265912:2927d7fe56f2a10ad43b32a43edae47070c94251\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/hyp:266240:5c11c3a21f194c6b820cde64a792d8bd9d069fd1:266240:4d53ab2ae709af0e8217c8b433f21a557fa1f458") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/hyp:266240:5c11c3a21f194c6b820cde64a792d8bd9d069fd1:266240:4d53ab2ae709af0e8217c8b433f21a557fa1f458\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/hypbak:266240:5c11c3a21f194c6b820cde64a792d8bd9d069fd1:266240:4d53ab2ae709af0e8217c8b433f21a557fa1f458") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/hypbak:266240:5c11c3a21f194c6b820cde64a792d8bd9d069fd1:266240:4d53ab2ae709af0e8217c8b433f21a557fa1f458\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/mdtpsecapp:1078856:bd3802c08344c95a1980c148984520d24b82dc70:1078856:f27bbb0bd9c078a71399339ae8b90750c78cd4f8") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/mdtpsecapp:1078856:bd3802c08344c95a1980c148984520d24b82dc70:1078856:f27bbb0bd9c078a71399339ae8b90750c78cd4f8\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/abl:110592:0250255b31c7d2a795a51f314b93eaebbf58ac44:110592:fe399761ae1adc8c07fe184edbcfb918c96d82d8") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/abl:110592:0250255b31c7d2a795a51f314b93eaebbf58ac44:110592:fe399761ae1adc8c07fe184edbcfb918c96d82d8\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/ablbak:110592:0250255b31c7d2a795a51f314b93eaebbf58ac44:110592:fe399761ae1adc8c07fe184edbcfb918c96d82d8") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/ablbak:110592:0250255b31c7d2a795a51f314b93eaebbf58ac44:110592:fe399761ae1adc8c07fe184edbcfb918c96d82d8\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/modem:106006016:00863afb80565213d0cf074424b1e9ef7a463254:106038784:f23712d9f79be39f18d3f71351845be3139d913c") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/modem:106006016:00863afb80565213d0cf074424b1e9ef7a463254:106038784:f23712d9f79be39f18d3f71351845be3139d913c\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/bluetooth:536576:24d0ed174c52f0e56ba942b8032571b106767494:536576:7776bfa9c57fe6ea09a947adc24f5fd865453d37") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/bluetooth:536576:24d0ed174c52f0e56ba942b8032571b106767494:536576:7776bfa9c57fe6ea09a947adc24f5fd865453d37\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/dsp:16777216:6d6bf7ccf098c013339cc8bc9e1d740b13f898e6:16777216:9cfb4ec9ebad969493a055ed0a30be1b1ac4d6e7") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/dsp:16777216:6d6bf7ccf098c013339cc8bc9e1d740b13f898e6:16777216:9cfb4ec9ebad969493a055ed0a30be1b1ac4d6e7\" has unexpected contents.");
apply_patch_space(106006016) || abort("E3006: Not enough free space on /cache to apply patches.");
show_progress(0.100000, 70);

# Stage 3/3

if (range_sha1("/dev/block/bootdevice/by-name/system", "7950,1,192,193,463,701,702,1408,1409,32227,32228,32701,32702,32716,32717,32729,32730,32731,32732,32733,32734,32742,32743,32744,32745,32746,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32758,32759,32760,32761,32762,32763,32764,32765,32766,32767,32768,32770,32961,32962,37548,37549,37550,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37576,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,37642,37643,37644,37645,37646,37647,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37886,37887,37888,37889,37896,37897,37898,37899,38071,38072,38073,38074,38075,38076,38216,38217,38218,38219,38220,38221,38222,38223,38224,38225,38226,38227,38228,38229,38230,38231,38232,38233,38234,38235,38236,38237,38238,38239,38240,38241,38242,38243,38244,38245,38246,38247,38248,38249,38250,38251,38252,38253,38276,38277,38302,38303,38309,38310,38341,38342,38362,38363,38393,38394,38428,38429,38465,38466,38497,38498,38532,38533,38534,38535,38536,38537,38538,38539,38540,38541,38543,38544,38582,38583,38584,38585,38586,38587,38588,38589,39038,39039,39488,39489,39938,39939,39940,39941,39942,39943,40422,40423,40580,40581,41670,41671,41672,41673,41957,41958,41959,41960,41961,41962,42375,42376,42380,42381,42382,42383,42384,42385,42387,42388,42390,42391,42393,42394,42396,42397,42398,42399,42401,42402,42404,42405,42407,42408,42409,42410,42412,42413,42415,42416,42418,42419,42421,42422,42424,42425,42427,42428,42430,42431,42433,42434,42436,42437,42439,42440,42442,42443,42445,42446,42449,42450,42452,42453,42455,42456,42458,42459,42461,42462,42464,42465,42466,42467,42468,42469,42471,42472,42474,42475,42478,42479,42482,42483,42485,42486,42488,42489,42491,42492,42494,42495,42497,42498,42500,42501,42503,42504,42506,42507,42509,42510,42513,42514,42516,42517,42519,42520,42522,42523,42525,42526,42528,42529,42531,42532,42534,42535,42537,42538,42540,42541,42543,42544,42546,42547,42549,42550,42551,42552,42554,42555,42557,42558,42560,42561,42563,42564,42566,42567,42568,42569,42571,42572,42574,42575,42577,42578,42580,42581,42583,42584,42586,42587,42589,42590,42591,42592,42594,42595,42597,42598,42600,42601,42603,42604,42606,42607,42609,42610,42612,42613,42615,42616,42618,42619,42621,42622,42624,42625,42627,42628,42630,42631,42633,42634,42636,42637,42638,42639,42641,42642,42644,42645,42647,42648,42650,42651,42652,42653,42655,42656,42658,42659,42661,42662,42664,42665,42667,42668,42670,42671,42673,42674,42676,42677,42679,42680,42683,42684,42686,42687,42689,42690,42692,42693,42695,42696,42698,42699,42700,42701,42703,42704,42706,42707,42709,42710,42712,42713,42715,42716,42717,42718,42720,42721,42723,42724,42726,42727,42729,42730,42732,42733,42734,42735,42737,42738,42740,42741,42743,42744,42746,42747,42749,42750,42751,42752,42754,42755,42757,42758,42760,42761,42763,42764,42766,42767,42768,42769,42771,42772,42774,42775,42777,42778,42780,42781,42782,42783,42785,42786,42788,42789,42791,42792,42794,42795,42797,42798,42800,42801,42803,42804,42806,42807,42809,42810,42812,42813,42814,42815,42817,42818,42820,42821,42823,42824,42826,42827,42829,42830,42832,42833,42835,42836,42838,42839,42841,42842,42845,42846,42847,42848,42849,42850,42851,42852,42856,42857,43210,43211,43213,43214,43216,43217,43219,43220,43223,43224,43226,43227,43228,43229,43276,43277,43287,43288,43289,43290,43305,43306,43320,43321,43322,43323,43324,43325,43326,43327,43328,43329,43330,43331,43332,43333,43363,43364,43371,43372,43379,43380,43381,43382,43385,43386,43387,43388,43389,43390,43391,43392,43393,43394,43395,43396,43397,43398,43399,43400,43401,43402,43403,43404,43405,43406,43407,43408,43409,43410,43412,43413,43414,43415,43416,43417,43421,43422,43423,43424,43426,43427,43429,43430,43432,43433,43443,43444,43459,43460,43477,43478,43507,43508,43537,43538,43565,43566,45004,45005,45818,45819,46712,46713,46719,46720,46724,46725,46729,46730,46734,46735,48180,48181,48210,48211,48240,48241,48270,48271,48300,48301,48305,48306,48310,48311,48319,48320,48353,48354,48358,48359,48384,48385,48410,48411,48437,48438,48465,48466,48468,48469,48471,48472,53032,53033,53045,53046,53052,53053,53059,53060,53069,53070,53076,53077,53110,53111,53145,53146,53176,53177,53208,53209,53245,53246,53281,53282,53287,53288,53293,53294,53298,53299,53328,53329,53359,53360,53388,53389,53418,53419,53427,53428,53436,53437,53445,53446,53454,53455,53457,53458,53463,53464,53469,53470,53480,53481,53501,53502,53523,53524,53544,53545,53565,53566,53568,53569,53578,53579,53588,53589,53598,53599,53609,53610,53618,53619,53627,53628,53636,53637,53645,53646,53671,53672,53675,53676,53678,53679,53693,53694,53708,53709,53723,53724,53738,53739,53743,53744,53748,53749,53777,53778,53805,53806,53833,53834,53860,53861,53887,53888,53893,53894,53898,53899,53901,53902,53923,53924,53945,53946,53966,53967,53987,53988,53990,53991,53996,53997,54035,54036,54076,54077,54080,54081,54085,54086,54157,54158,54162,54163,54175,54176,54178,54179,54182,54183,54195,54196,54200,54201,54210,54211,54220,54221,54230,54231,54240,54241,54268,54269,54297,54298,54326,54327,54355,54356,54360,54361,54365,54366,54371,54372,54378,54379,54384,54385,54391,54392,54484,54485,54584,54585,54589,54590,54606,54607,54638,54639,54700,54701,54766,54767,54828,54829,54890,54891,54966,54967,55048,55049,55124,55125,55206,55207,55288,55289,55365,55366,55448,55449,55524,55525,55606,55607,55682,55683,55758,55759,55839,55840,55914,55915,55996,55997,56078,56079,56154,56155,56237,56238,56313,56314,56315,56316,56318,56319,56320,56321,56322,56323,56324,56325,56326,56327,56328,56329,56330,56331,56332,56333,56334,56335,56340,56341,56342,56343,56344,56345,56349,56350,56381,56382,56407,56408,56775,56776,56833,56834,57253,57254,57297,57298,57475,57476,57479,57480,57495,57496,57780,57781,59547,59548,59604,59605,59941,59942,61510,61511,61523,61524,61594,61595,61651,61652,62089,62090,62117,62118,62382,62383,62385,62386,62393,62394,62437,62438,62654,62655,62688,62689,62950,62951,62955,62956,62987,62988,62990,62991,62998,62999,63134,63135,64382,64383,64385,64386,64397,64398,64405,64406,64471,64472,64991,64992,64993,64994,64999,65000,65031,65032,65068,65069,65445,65446,65517,65518,65522,65523,65525,65526,65533,65536,65537,66608,67263,67265,67266,69903,69904,71397,71398,73221,73222,73313,73433,73434,76261,76262,76421,76422,77250,77251,77345,77346,79030,79031,82297,82298,82387,82388,82389,82390,82391,82392,82597,82598,82599,82600,82602,82603,82604,82605,82606,82607,82621,82622,82623,82624,83121,83122,83123,83124,83125,83126,83127,83128,83129,83130,83993,83994,83995,83996,84044,84045,84046,84047,84048,84049,87008,87009,87010,87011,87014,87015,87016,87017,87018,87019,87036,87037,87038,87039,91176,91177,91178,91179,91185,91186,91187,91188,91189,91190,91223,91224,91225,91226,91228,91229,91230,91231,91232,91233,91263,91264,91265,91266,91268,91269,91270,91271,91272,91273,91312,91313,91314,91315,91317,91318,91319,91320,91321,91322,91334,91335,91336,91337,91348,91349,91350,91351,91352,91353,91359,91360,91361,91362,91368,91369,91370,91371,91377,91378,91379,91380,91381,91382,91449,91450,91451,91452,91589,91590,91591,91592,91593,91594,94104,94105,94106,94107,94701,94702,94703,94704,94705,94706,96608,96609,96610,96611,96652,96653,96654,96655,96656,96657,97618,97619,97620,97621,97775,97776,97777,97778,97779,97780,97781,97782,97783,97784,98252,98253,98254,98255,98256,98257,98260,98261,98262,98263,98264,98265,98271,98272,98273,98274,98276,98277,98278,98279,98280,98281,98302,98304,98306,98497,98498,99842,102735,114901,114902,115169,115170,115457,115458,115775,115776,116089,116090,116092,116093,116327,116328,116375,116376,116377,116378,116380,116381,117726,117727,117731,117732,117733,117734,117736,117737,117791,117792,117796,117797,117798,117799,117801,117802,117813,117814,120739,120740,120741,120742,120744,120745,127062,127063,127067,127068,127069,127070,127072,127073,127140,127141,127151,127152,127153,127154,127156,127157,127213,127214,127316,127317,127318,127319,127321,127322,127634,127635,127636,127637,128089,128090,128091,128092,128094,128095,129057,129058,129386,129387,129388,129389,129391,129392,130660,130661,130665,130666,130667,130668,130670,130671,130677,130678,130688,130689,130690,130691,130693,130694,130738,130739,130740,130741,130742,130743,130744,130745,130746,130747,130748,130749,130750,130751,130781,130782,130783,130784,130786,130787,130846,130847,130851,130852,130853,130854,130856,130857,130866,130867,130874,130875,130876,130877,130878,130879,130880,130881,130882,130883,130884,130885,130889,130890,130891,130892,130894,130895,130931,130932,130951,130952,130953,130954,130956,130957,130984,130985,130986,130987,130988,130989,130990,130991,131035,131036,131037,131038,131040,131041,131059,131060,131065,131066,131067,131068,131069,131070,131072,131073,140318,140319,140320,140322,140323,140324,140325,140326,140327,140349,140350,140351,140352,140354,140355,140356,140357,140358,140359,140366,140367,140368,140369,140371,140372,140373,140374,140375,140376,140397,140398,140399,140400,140402,140403,140404,140405,140406,140407,140444,140445,140446,140447,141191,141192,141193,141194,141195,141196,143470,143471,143472,143473,143633,143634,143635,143636,143637,143638,143639,143640,143641,143642,143643,143644,144522,144523,144524,144525,144526,144527,144892,144893,144894,144895,145044,145045,145046,145047,145048,145049,145281,145282,145283,145284,145285,145286,145287,145288,145298,145299,145302,145303,145304,145305,145306,145307,145308,145309,145316,145317,145319,145320,145321,145322,145323,145324,145325,145326,145338,145339,145341,145342,145343,145344,147779,147780,147781,147782,147784,147785,147786,147787,147788,147789,147790,147791,147847,147848,147850,147851,147852,147853,147854,147855,147856,147857,147896,147897,147901,147902,147904,147905,147917,147918,147920,147921,147925,147926,147931,147932,147935,147936,147943,147944,147950,147951,147953,147954,147957,147958,147959,147960,147966,147967,147973,147974,148019,148020,148021,148022,148023,148024,148035,148036,148046,148047,148054,148055,148061,148062,148074,148075,148081,148082,148087,148088,148089,148090,148104,148105,148115,148116,148125,148126,148148,148149,148153,148154,148155,148156,148159,148160,148164,148165,148170,148171,148186,148187,148195,148196,148201,148202,148217,148218,148292,148293,148296,148297,148300,148301,148302,148303,148307,148308,148434,148435,148441,148442,148447,148448,148460,148461,148475,148476,148512,148513,148532,148533,148537,148538,148544,148545,148548,148549,148558,148559,148565,148566,148570,148571,148620,148621,148622,148623,148632,148633,148651,148652,148709,148710,148716,148717,148724,148725,148779,148780,148783,148784,148787,148788,148794,148795,148805,148806,148817,148818,148834,148835,148844,148845,148853,148854,148857,148858,148865,148866,148870,148871,148888,148889,148899,148900,148931,148932,148964,148965,148977,148978,148995,148996,148999,149000,149014,149015,149021,149022,149030,149031,149035,149036,149081,149082,149118,149119,149124,149125,149126,149127,149299,149300,149312,149313,149532,149533,149554,149555,149564,149565,149566,149567,149601,149602,149604,149605,149649,149650,149683,149684,149685,149686,149687,149688,149689,149690,149733,149734,149736,149737,149803,149804,149905,149906,149992,149993,149996,149997,150097,150098,150102,150103,150167,150168,150177,150178,150182,150183,150214,150215,150437,150438,150596,150597,150867,150868,150873,150874,150896,150897,150907,150908,150936,150937,150946,150947,150948,150949,150956,150957,151123,151124,151128,151129,151136,151137,151150,151151,151362,151363,151364,151365,151370,151371,151378,151379,151384,151385,151390,151391,151396,151397,151405,151406,151424,151425,151432,151433,151436,151437,151465,151466,151490,151491,151499,151500,151592,151593,151641,151642,151650,151651,151658,151659,151662,151663,151672,151673,151674,151675,151683,151684,151687,151688,151695,151696,151746,151747,151752,151753,151756,151757,151847,151848,152209,152210,152213,152214,152266,152267,152287,152288,152299,152300,152311,152312,152316,152317,152318,152319,152321,152322,152335,152336,152344,152345,152347,152348,152415,152416,152425,152426,152429,152430,152433,152434,152435,152436,152440,152441,152476,152477,152488,152489,152493,152494,152498,152499,152567,152568,152580,152581,152584,152585,152586,152587,152599,152600,152603,152604,152608,152609,152615,152616,152624,152625,152629,152630,152632,152633,152637,152638,152666,152667,152675,152676,152679,152680,152686,152687,152693,152694,154013,154014,154070,154071,154076,154077,154080,154081,154086,154087,154092,154093,154094,154095,154098,154099,154146,154147,154226,154227,154324,154325,154326,154327,154334,154335,154338,154339,154345,154346,154350,154351,154355,154356,154363,154364,154368,154369,154371,154372,154398,154399,154400,154401,154437,154438,154443,154444,154451,154452,154474,154475,154484,154485,154488,154489,154491,154492,154496,154497,154500,154501,154505,154506,154514,154515,154546,154547,154635,154636,154647,154648,154654,154655,154657,154658,154677,154678,154682,154683,154691,154692,154843,154844,154849,154850,154878,154879,154890,154891,154895,154896,154897,154898,155366,155367,155778,155779,155805,155806,155852,155853,155871,155872,155875,155876,155879,155880,155881,155882,155883,155884,155886,155887,155888,155889,158913,158914,158916,158917,158918,158919,158920,158921,158922,158923,158925,158926,158981,158982,158983,158984,158987,158988,158989,158990,158991,158992,158993,158994,159010,159011,159016,159017,159022,159023,159098,159099,159100,159101,159143,159144,159226,159227,159232,159233,159234,159235,159252,159253,159254,159255,159260,159261,159264,159265,159337,159338,159340,159341,159377,159378,159469,159470,159473,159474,159475,159476,159491,159492,159497,159498,159500,159501,159551,159552,159553,159554,159584,159585,159629,159630,159632,159633,159634,159635,159652,159653,159658,159659,159662,159663,159728,159729,159731,159732,159769,159770,159850,159851,159853,159854,159855,159856,159871,159872,159877,159878,159880,159881,159935,159936,159937,159938,159968,159969,160017,160018,160020,160021,160022,160023,160036,160037,160198,160199,160200,160201,160202,160203,160205,160206,160211,160212,160214,160215,160219,160220,160223,160224,160232,160233,160236,160237,160238,160239,160240,160241,160242,160243,160244,160245,160246,160247,160248,160249,160250,160251,160254,160255,160256,160257,160265,160266,160268,160269,160270,160271,160275,160276,160278,160279,160281,160282,160284,160285,160288,160289,160292,160293,160296,160297,160299,160300,160302,160303,160305,160306,160308,160309,160311,160312,160314,160315,160317,160318,160321,160322,160324,160325,160327,160328,160330,160331,160333,160334,160337,160338,160340,160341,160343,160344,160346,160347,160349,160350,160351,160352,160354,160355,160357,160358,160360,160361,160363,160364,160366,160367,160368,160369,160371,160372,160374,160375,160377,160378,160380,160381,160383,160384,160386,160387,160389,160390,160392,160393,160395,160396,160398,160399,160401,160402,160404,160405,160407,160408,160409,160410,160411,160412,160414,160415,160417,160418,160421,160422,160425,160426,160430,160431,160434,160435,160438,160439,160441,160442,160444,160445,160447,160448,160450,160451,160453,160454,160456,160457,160458,160459,160460,160461,160462,160463,160468,160469,160470,160471,160472,160473,160476,160477,160480,160481,160484,160485,160488,160489,160490,160491,160494,160495,160498,160499,160502,160503,160506,160507,160510,160511,160512,160513,160516,160517,160520,160521,160524,160525,160528,160529,160532,160533,160536,160537,160620,160621,160626,160627,160628,160629,160630,160631,160632,160633,160641,160642,160664,160665,160666,160667,160668,160669,160674,160675,160676,160677,160678,160679,160680,160681,160683,160684,160685,160686,160687,160688,160689,160690,160699,160700,160701,160702,160707,160708,160718,160719,160746,160747,160774,160775,160776,160777,160778,160779,160780,160781,160795,160796,160797,160798,160801,160802,160805,160806,160807,160808,160811,160812,160813,160814,160817,160818,160820,160821,160824,160825,160826,160827,160829,160830,160832,160833,160838,160839,160841,160842,160843,160844,160846,160847,160849,160850,160855,160856,160858,160859,160861,160862,160866,160867,160872,160873,160876,160877,160881,160882,160883,160884,160886,160887,160888,160889,160892,160893,160897,160898,160902,160903,160907,160908,160912,160913,160917,160918,160922,160923,160927,160928,160932,160933,160937,160938,160942,160943,160944,160945,160947,160948,161092,161093,161105,161106,161107,161108,161109,161110,161111,161112,161114,161115,161117,161118,161119,161120,161122,161123,161301,161302,161526,161527,161528,161529,161530,161531,161532,161533,161535,161536,161538,161539,161540,161541,161695,161696,161806,161807,161935,161936,162060,162061,162181,162182,162315,162316,162320,162321,162326,162327,162328,162329,162332,162333,162334,162335,162336,162337,162338,162339,162340,162341,162342,162343,162364,162365,162370,162371,162385,162386,162403,162404,162408,162409,162415,162416,162417,162418,162419,162420,162425,162426,162427,162428,162433,162434,162439,162440,162448,162449,162458,162459,162468,162469,162470,162471,162472,162473,162474,162475,162476,162477,162478,162479,162490,162491,162492,162493,162494,162495,162496,162497,162499,162500,162501,162502,162503,162504,162505,162506,162507,162508,162509,162510,162511,162512,162513,162514,162515,162516,162517,162518,162519,162520,162521,162522,162523,162524,162525,162526,162527,162528,162529,162530,162531,162532,162533,162534,162535,162536,162537,162538,162539,162540,162541,162542,162543,162544,162545,162546,162547,162548,162549,162550,162551,162552,162553,162554,162555,162556,162557,162558,162560,162561,162564,162565,162566,162567,162568,162569,162570,162571,162606,162607,162608,162609,162611,162612,162617,162618,162619,162620,162621,162622,162623,162624,162625,162626,162627,162628,162629,162630,162631,162632,162633,162634,162635,162636,162637,162638,162639,162640,162641,162642,162643,162644,162645,162646,162647,162648,162652,162653,162656,162657,162662,162663,162667,162668,162670,162671,162673,162674,162677,162678,162681,162682,162686,162687,162690,162691,162694,162695,162698,162699,162702,162703,162706,162707,162711,162712,162716,162717,162720,162721,162723,162724,162727,162728,162731,162732,162735,162736,162739,162740,162744,162745,162748,162749,162751,162752,162756,162757,162761,162762,162764,162765,162768,162769,162773,162774,162777,162778,162781,162782,162789,162790,162793,162794,162797,162798,162800,162801,162804,162805,162810,162811,163371,163372,163373,163374,163375,163376,163377,163378,163379,163380,163381,163382,163383,163384,163389,163390,163392,163393,163394,163395,163397,163398,163401,163402,163414,163415,163417,163418,163419,163420,163421,163422,163423,163424,163445,163446,163449,163450,163470,163471,163497,163498,163518,163519,163545,163546,163573,163574,163598,163599,163600,163601,163602,163603,163604,163605,163606,163607,163608,163609,163610,163611,163612,163613,163614,163615,163616,163617,163618,163619,163620,163621,163622,163623,163624,163625,163626,163627,163628,163629,163630,163631,163632,163633,163634,163635,163636,163637,163638,163639,163640,163641,163642,163643,163644,163645,163646,163647,163648,163649,163650,163651,163652,163653,163654,163655,163656,163657,163658,163659,163660,163661,163662,163663,163664,163665,163666,163667,163668,163669,163670,163671,163672,163673,163674,163675,163676,163677,163678,163679,163680,163681,163682,163683,163684,163685,163686,163687,163688,163689,163690,163691,163692,163693,163694,163695,163696,163697,163698,163699,163700,163701,163702,163703,163704,163705,163706,163707,163708,163709,163710,163711,163712,163713,163714,163715,163716,163717,163734,163735,163736,163737,163738,163739,163740,163741,163742,163743,163744,163745,163746,163747,163748,163749,163750,163751,163752,163753,163756,163757,163760,163761,163764,163765,163766,163767,163784,163785,163786,163787,163788,163789,163790,163791,163792,163793,163794,163795,163796,163797,163798,163799,163800,163801,163802,163803,163804,163805,163806,163807,163808,163809,163810,163811,163812,163813,163814,163815,163816,163817,163818,163819,163820,163821,163822,163823,163824,163825,163826,163827,163828,163829,163830,163831,163832,163833,163834,163835,163836,163837,163838,163840,163842,164033,164034,174588,174589,177826,177827,180234,180235,191231,191232,191251,191252,191308,191309,191310,191311,191313,191314,193584,193585,194254,194255,194256,194257,194258,194259,194296,194297,194298,194299,194301,194302,195621,195622,195629,195630,195631,195632,195634,195635,195688,195689,195745,195746,195747,195748,195750,195751,195753,195754,195755,195756,195758,195760,195776,195779,195789,195790,195791,195793,195822,195823,195892,195894,195897,195898,195903,195904,196061,196062,196063,196064,196066,196067,196141,196142,196151,196152,196153,196154,196155,196156,196277,196278,196279,196280,196281,196282,196283,196284,196285,196286,196287,196288,196297,196298,196299,196300,196302,196303,196380,196381,196382,196383,196384,196385,196386,196387,196388,196389,196393,196394,196395,196396,196397,196398,196399,196400,196402,196403,196411,196412,196416,196417,196418,196419,196421,196422,196452,196453,196454,196455,196456,196457,196458,196459,196460,196461,196570,196571,196572,196573,196574,196575,196576,196577,196578,196579,196580,196581,196582,196583,196584,196585,196586,196587,196597,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,197115,206744,229376,229378,229569,229570,230077,230078,249439,249440,252491,252492,253532,253533,261848,261849,261919,261920,262011,262012,262013,262014,262015,262016,262020,262021,262022,262023,262025,262026,262061,262062,262066,262067,262068,262069,262071,262072,262119,262120,262126,262127,262128,262129,262135,262136,262137,262138,262142,262143,262144,262145,294912,294914,295105,295106,295613,295614,302440,302441,304574,304575,323475,323476,324882,324883,325315,325324,325325,325326,325327,325328,325330,325331,325342,325343,325347,325348,325349,325350,325352,325353,325363,325364,325368,325369,325370,325371,325373,325374,325383,325384,325388,325389,325390,325391,325393,325394,325407,325408,325580,325581,325582,325583,325585,325586,327176,327177,327178,327179,327180,327181,327182,327183,327190,327191,327192,327193,327195,327196,327366,327367,327502,327503,327504,327505,327506,327507,327508,327509,327510,327511,327512,327513,327537,327538,327539,327540,327541,327542,327546,327547,327548,327549,327551,327552,327560,327561,327589,327590,327591,327592,327593,327594,327595,327596,327597,327598,327599,327600,327601,327602,327603,327604,327605,327606,327607,327608,327609,327610,327615,327616,327617,327618,327619,327620,327621,327622,327623,327624,327625,327626,327630,327631,327632,327633,327635,327636,327659,327660,327664,327665,327666,327667,327669,327670,327676,327677,327678,327679,327680,327681,328187,328628,360448,360449,360955,361009,361010,361042,361043,361292,361293,362106,362107,362108,362109,362110,362111,362156,362157,362185,362186,362187,362188,362514,362515,363689,363690,363691,363692,363693,363694,363695,363696,363697,363698,363699,363700,363834,363835,363837,363838,363839,363840,363963,363964,363965,363966,367146,367147,367148,367149,368267,368268,368363,368364,368365,368366,368367,368368,368397,368398,368401,368402,368404,368405,368406,368407,368622,368623,368624,368625,368626,368627,368631,368632,368917,368918,368922,368923,368927,368928,368946,368947,368950,393216,393217,393723,393932,393933,393949,393950,394332,394333,396348,396349,396416,396417,396776,396777,398894,398895,410019,410020,410033,410034,410115,410116,410200,410201,410652,410653,410690,410691,410961,410962,411020,411021,411269,411270,411310,411311,411615,411616,411621,411622,411654,411655,411657,411658,411665,411666,411821,411822,413270,413271,413273,413274,413285,413286,413295,413296,413367,413368,414044,414045,416479,416480,416481,416482,416483,416484,416485,416486,416487,416488,416489,416490,416494,416495,416497,416498,416499,416500,416501,416502,416503,416504,416505,416506,416515,416516,416557,416558,416559,416560,416561,416562,416574,416575,416576,416577,416578,416579,416580,416581,416613,416614,416615,416616,416617,416618,416619,416620,416621,416622,416623,416624,416629,416630,416660,416661,416662,416663,416666,416667,416669,416670,416671,416672,416673,416674,417077,417078,417079,417080,417442,417443,422607,422608,422609,422610,422611,422612,422613,422614,422615,422616,422617,422618,422620,422621,422622,422623,422625,422626,422627,422628,422629,422630,422631,422632,422633,422634,422635,422636,422637,422638,422639,422640,422641,422642,422643,422644,422645,422646,422654,422655,422696,422697,422741,422742,422790,422791,423413,423414,423585,423586,423692,423693,423701,423702,423719,423720,423730,423731,423739,423740,425038,425039,425047,425048,425067,425068,425078,425079,425086,425087,425312,425313,425365,425366,425377,425378,425451,425452,425503,425504,425534,425535,425547,425548,425563,425564,425580,425581,425590,425591,425617,425618,425717,425718,425732,425733,425742,425743,425755,425756,425804,425805,425817,425818,425863,425864,425981,425984,425985,426491,427353,427354,427437,427438,427444,427445,427513,427514,427546,427547,427938,427939,428046,428047,428254,428255,428411,428412,428762,428763,428773,428774,428782,428783,428795,428796,428806,428807,428819,428820,428830,428831,428919,428920,428936,428937,428949,428950,429048,429049,429096,429097,429107,429108,429413,429414,429415,429416,429425,429426,429474,429475,429529,429530,429589,429590,430329,430330,430535,430536,430661,430662,430671,430672,430693,430694,430705,430706,430715,430716,432268,432269,432278,432279,432301,432302,432312,432313,432320,432321,432583,432584,432642,432643,432655,432656,432741,432742,432804,432805,432840,432841,432855,432856,432873,432874,432892,432893,432903,432904,432925,432926,432956,432957,433076,433077,433093,433094,433105,433106,433119,433120,433177,433178,433191,433192,433246,433247,434286,434287,434428,434429,434527,434528,434534,434535,434614,434615,434653,434654,435125,435126,435253,435254,435501,435502,435684,435685,436098,436099,436111,436112,436121,436122,443376,443377,443391,443392,443403,443404,443417,443418,443428,443429,443535,443536,443555,443556,443568,443569,443685,443686,443742,443743,444709,444710,444721,444722,445074,445075,445076,445077,445078,445079,445080,445081,445082,445083,445084,445085,445086,445087,445088,445089,445090,445091,445092,445093,445096,445097,445098,445099,445100,445101,445102,445103,445108,445109,445112,445113,445114,445115,445116,445117,445118,445119,445120,445121,445122,445123,445124,445125,445127,445128,445129,445130,445131,445132,445133,445134,445135,445136,445137,445138,445139,445140,445141,445142,445143,445144,445145,445146,445147,445148,445149,445150,445151,445152,445153,445154,445157,445158,445159,445160,445161,445162,445163,445164,445179,445180,445181,445182,445183,445184,445212,445213,445222,445223,445224,445225,445233,445234,445239,445240,445311,445312,445321,445322,445328,445329,445354,445355,445772,445773,446078,446079,446084,446085,446089,446090,446102,446103,446109,446110,446119,446120,446160,446161,446165,446166,446171,446172,446176,446177,446181,446182,446186,446187,446194,446195,446373,446374,446378,446379,446384,446385,446411,446412,446417,446418,446475,446476,446503,446504,446513,446514,446531,446532,446549,446550,447633,447634,450824,450825,450852,450853,451069,451070,451099,451100,451107,451108,451121,451122,451137,451138,451147,451148,451163,451164,451179,451180,451250,451251,451319,451320,451335,451336,451341,451342,451347,451348,451359,451360,451478,451479,451518,451519,451578,451579,451643,451644,452514,452515,452540,452541,452598,452599,452891,452892,453220,453221,453227,453228,453234,453235,453242,453243,453265,453266,453513,453514,453556,453557,453609,453610,453617,453618,454324,454325,455809,455810,455818,455819,455827,455828,455927,455928,455951,455952,455969,455970,456111,456112,456130,456131,456165,456166,456172,456173,456179,456180,456189,456190,456207,456208,456219,456220,456336,456337,456397,456398,456405,456406,456496,456497,456702,456703,456738,456739,456749,456750,456895,456896,457087,457088,457094,457095,457137,457138,457161,457162,457222,457223,457233,457234,457408,457409,457415,457416,457623,457624,457711,457712,457804,457805,458105,458106,458193,458194,458204,458205,458378,458379,458450,458451,458476,458477,458538,458539,458566,458567,458571,458572,458710,458711,458724,458725,458734,458735,458740,458741,458747,458748,458749,458752,458753,459259,459287,459288,478832,478833,479922,479923,480081,480082,481218,481219,481221,481222,481288,481289,481290,481291,481292,481293,481294,481295,481296,481297,481298,481299,481300,481301,481302,481303,481304,481305,481306,481307,481308,481309,481310,481311,481312,481313,481314,481315,481316,481317,481318,481319,481320,481321,481322,481323,481324,481325,481328,481329,481378,481379,481386,481387,481457,481458,481528,481529,481599,481600,481601,481602,481603,481604,481760,481761,481869,481870,482013,482014,482115,482116,482306,482307,482466,482467,482530,482531,482679,482680,482884,482885,482979,482980,483134,483135,483197,483198,483199,483200,483201,483202,483203,483204,483205,483206,483207,483208,483209,483210,483219,483220,483221,483222,483224,483225,483226,483227,483254,483255,483256,483257,483283,483284,483285,483286,483313,483314,483315,483316,483328,483329,483330,483331,483339,483340,483341,483342,483346,483347,483348,483349,483355,483356,483357,483358,483359,483360,483361,483362,483364,483365,483366,483367,483376,483377,483378,483379,483380,483381,483382,483383,483384,483385,483386,483387,483388,483389,483390,483391,483469,483470,483471,483472,483473,483474,483475,483476,483477,483478,483479,483480,483481,483482,483483,483484,483486,483487,483488,483489,483490,483491,483492,483493,483529,483530,483531,483532,483568,483569,483570,483571,483572,483573,483574,483575,483576,483577,483578,483579,483580,483581,483583,483584,483586,483587,483588,483589,483590,483591,483592,483593,483594,483595,483596,483597,483598,483599,483600,483601,483602,483603,483604,483605,483606,483607,489027,489028,489029,489030,489031,489032,489033,489034,489035,489036,489037,489038,489039,489040,489041,489042,489046,489047,489050,489051,489055,489056,489060,489061,489065,489066,489067,489068,489069,489070,489073,489074,489075,489076,489077,489078,489079,489080,489081,489082,489083,489084,489085,489086,489087,489088,489089,489090,489091,489092,489093,489094,489095,489096,489097,489098,489099,489100,489101,489102,489103,489104,489105,489106,489107,489108,489109,489110,489111,489112,489113,489114,489115,489116,489117,489118,489119,489120,489121,489122,489123,489124,489125,489126,489127,489128,489129,489130,489131,489132,489133,489134,489135,489136,489137,489138,489139,489140,489141,489142,489143,489144,489145,489146,489147,489148,489149,489150,489154,489155,489160,489161,489162,489163,489285,489286,489287,489288,489289,489290,489291,489292,489293,489294,490184,490185,490186,490187,490188,490189,490190,490191,490192,490193,490194,490195,490196,490197,490298,490299,490300,490301,490302,490303,490416,490417,490421,490422,490423,490424,490425,490426,490427,490428,490429,490430,490433,490434,491330,491331,491389,491390,491497,491498,491499,491500,491505,491506,491511,491512,491513,491514,491515,491516,491517,491520,491521,492027,492042,492043,502518,502519,504371,504372,506412,506413,506659,506660,507004,507005,508100,508101,508656,508657,509733,509734,511550,511551,513250,513251,513721,513722,514401,514402,514776,514777,514895,514896,516616,516617,519771,519772,520700,520701,522761,522762,523123,523124,523936,523937,523938,523939,523940,523941,523945,523946,523947,523948,523949,523950,523958,523959,523960,523961,523985,523986,523987,523988,523989,523990,524203,524204,524205,524206,524207,524208,524209,524210,524211,524212,524213,524214,524215,524216,524257,524258,524260,524261,524262,524263,524264,524265,524266,524267,524285,524288,524289,524795,524842,524843,524885,524886,524894,524895,524919,524920,525087,525088,525099,525100,525107,525108,525295,525296,525331,525332,525337,525338,525345,525346,525384,525385,525514,525515,525523,525524,525531,525532,525555,525556,525561,525562,525738,525739,525752,525753,525764,525765,525864,525865,525870,525871,525879,525880,525957,525958,525973,525974,526102,526103,526521,526522,526834,526835,526843,526844,526902,526903,526919,526920,526954,526955,527022,527023,527038,527039,527054,527055,529403,529404,529446,529447,529475,529476,529483,529484,529488,529489,529566,529567,529571,529572,529658,529659,529670,529671,529699,529700,529739,529740,529775,529776,529789,529790,529795,529796,529819,529820,529848,529849,529871,529872,529879,529880,529915,529916,529921,529922,529927,529928,529944,529945,529950,529951,529963,529964,529988,529989,530021,530022,530031,530032,530231,530232,530316,530317,530324,530325,530342,530343,530350,530351,530359,530360,530379,530380,530528,530529,530540,530541,530956,530957,531395,531396,531404,531405,531410,531411,531436,531437,531452,531453,531479,531480,531499,531500,531505,531506,531512,531513,531546,531547,531568,531569,531574,531575,531590,531591,531613,531614,531623,531624,531632,531633,531642,531643,531677,531678,531715,531716,531736,531737,531742,531743,531747,531748,531833,531834,531839,531840,531881,531882,531906,531907,531921,531922,531927,531928,531936,531937,531947,531948,531958,531959,531964,531965,531972,531973,531981,531982,531987,531988,532008,532009,532013,532014,532058,532059,532067,532068,532095,532096,532117,532118,532163,532164,532177,532178,532234,532235,533457,533458,533463,533464,533485,533486,534660,534661,534671,534672,534709,534710,534719,534720,534758,534759,534763,534764,534770,534771,534778,534779,534784,534785,534957,534958,534986,534987,535000,535001,535006,535007,535015,535016,535021,535022,535036,535037,535053,535054,535059,535060,535076,535077,535088,535089,535094,535095,535107,535108,535129,535130,535135,535136,535142,535143,535158,535159,535192,535193,535253,535254,535262,535263,535269,535270,535277,535278,535296,535297,535323,535324,535329,535330,535340,535341,535346,535347,535374,535375,535379,535380,536355,536356,536362,536363,536390,536391,536397,536398,536484,536485,536496,536497,536513,536514,536532,536533,536537,536538,536547,536548,537130,537131,537255,537256,537260,537261,537301,537302,537307,537308,537680,537681,537697,537698,537708,537709,537713,537714,537749,537750,537755,537756,537797,537798,537849,537850,537927,537928,538012,538013,538044,538045,538065,538066,538112,538113,538221,538222,538325,538326,538334,538335,538373,538374,538381,538382,538392,538393,538514,538515,538534,538535,538568,538569,538600,538601,538642,538643,538652,538653,538660,538661,538669,538670,538780,538781,538911,538912,538961,538962,538968,538969,538974,538975,538981,538982,539064,539065,539070,539071,539077,539078,539082,539083,539093,539094,539099,539100,539104,539105,539113,539114,539122,539123,539129,539130,539142,539143,539155,539156,539179,539180,539242,539243,539265,539266,539272,539273,539299,539300,539679,539680,539886,539887,539917,539918,539955,539956,539965,539966,539974,539975,539998,539999,540004,540005,540248,540249,540254,540255,540261,540262,540276,540277,540283,540284,540345,540346,540394,540395,540412,540413,540419,540420,540611,540612,540661,540662,540684,540685,540692,540693,541121,541122,541134,541135,541143,541144,541179,541180,541181,541182,542790,542791,542801,542802,542814,542815,542932,542933,542941,542942,542943,542944,542951,542952,542972,542973,542978,542979,542984,542985,542990,542991,543002,543003,543009,543010,543015,543016,543028,543029,543034,543035,543041,543042,543048,543049,543052,543053,543054,543055,543056,543057,543058,543059,543079,543080,543081,543082,543120,543121,543130,543131,543132,543133,543141,543142,543145,543146,543230,543231,543241,543242,543248,543249,543284,543285,543288,543289,543292,543293,543344,543345,543377,543378,543391,543392,543396,543397,543406,543407,543462,543463,543465,543466,543470,543471,543474,543475,543478,543479,543481,543482,543488,543489,543635,543636,543639,543640,543789,543790,543794,543795,543830,543831,543836,543837,543949,543950,543960,543961,543983,543984,544006,544007,549018,549019,549022,549023,549029,549030,549045,549046,549063,549064,549073,549074,549091,549092,549109,549110,549186,549187,549263,549264,549279,549280,549284,549285,549289,549290,550225,550226,550239,550240,550491,550492,550548,550549,550634,550635,550722,550723,550833,550834,551126,551127,551455,551456,551461,551462,551467,551468,551507,551508,551512,551513,551519,551520,551702,551703,551730,551731,552146,552147,552206,552207,552284,552285,552291,552292,552297,552298,553332,553333,553370,553371,555306,555307,555313,555314,555323,555324,555465,555466,555499,555500,555522,555523,555767,555768,555794,555795,555830,555831,555836,555837,555843,555844,555860,555861,555863,555864,555868,555869,556087,556088,556105,556106,556558,556559,556706,556707,556727,556728,556763,556764,556784,556785,556798,556799,556939,556940,557026,557027,557033,557034,557044,557045,557051,557052,557054,557056,557057,557563,558998,558999,559124,559125,559608,559609,559869,559870,560137,560138,560239,560240,560273,560274,560362,560363,560373,560374,560628,560629,560723,560724,560823,560824,561136,561137,561174,561175,561179,561180,561479,561480,561588,561589,561621,561622,561674,561675,561678,561679,561682,561683,561689,561690,561895,561896,561916,561917,561958,561959,561971,561972,561976,561977,562162,562163,562166,562167,562171,562172,562176,562177,562180,562181,562185,562186,562191,562192,562195,562196,562199,562200,562203,562204,562207,562208,562211,562212,562215,562216,562219,562220,562223,562224,562227,562228,562232,562233,562236,562237,562240,562241,562243,562244,562246,562247,562249,562250,562267,562268,562273,562274,562334,562335,562343,562344,562384,562385,562398,562399,562403,562404,562413,562414,562420,562421,562431,562432,562437,562438,562500,562501,562522,562523,562528,562529,562541,562542,562548,562549,562744,562745,562793,562794,563024,563025,563029,563030,563036,563037,563173,563174,563181,563182,563188,563189,563193,563194,563312,563313,563316,563317,563374,563375,563391,563392,563406,563407,563560,563561,563564,563565,563574,563575,563673,563674,563679,563680,563701,563702,564631,564632,564845,564846,565057,565058,565652,565653,566074,566075,566084,566085,566108,566109,566152,566153,566185,566186,566232,566233,566333,566334,566352,566353,566363,566364,566384,566385,566450,566451,566495,566496,566502,566503,566506,566507,566511,566512,566613,566614,566617,566618,566723,566724,566737,566738,566786,566787,566806,566807,566811,566812,566842,566843,566856,566857,566890,566891,566925,566926,566932,566933,566975,566976,566979,566980,566983,566984,567002,567003,567007,567008,567027,567028,567073,567074,567133,567134,567143,567144,567445,567446,567583,567584,567608,567609,567635,567636,567838,567839,567850,567851,567860,567861,567864,567865,567903,567904,567914,567915,567949,567950,567981,567982,567985,567986,567990,567991,568021,568022,568045,568046,568050,568051,568078,568079,568114,568115,568135,568136,568139,568140,568149,568150,568158,568159,568167,568168,568170,568171,568271,568272,568350,568351,568361,568362,568365,568366,568401,568402,568414,568415,568431,568432,568434,568435,568439,568440,568449,568450,568461,568462,568474,568475,568479,568480,568492,568493,568516,568517,568524,568525,568533,568534,568712,568713,569480,569481,569524,569525,569528,569529,569536,569537,569567,569568,569571,569572,569631,569632,569640,569641,569682,569683,569710,569711,569777,569778,569790,569791,569870,569871,572106,572107,572110,572111,572134,572135,572168,572169,572179,572180,573609,573610,573623,573624,573678,573679,573688,573689,573753,573754,573757,573758,573763,573764,573770,573771,573774,573775,573778,573779,574034,574035,574071,574072,574091,574092,574095,574096,574104,574105,574120,574121,574139,574140,574161,574162,574165,574166,574186,574187,574199,574200,574203,574204,574235,574236,574239,574240,574245,574246,574272,574273,574345,574346,574428,574429,574436,574437,574443,574444,574449,574450,574475,574476,574516,574517,574521,574522,574613,574614,574624,574625,574630,574631,574645,574646,574649,574650,574655,574656,576268,576269,576275,576276,576311,576312,576320,576321,576415,576416,576430,576431,576452,576453,576477,576478,576486,576487,576494,576495,576775,576776,576778,576779,576841,576842,576845,576846,577392,577393,577415,577416,577427,577428,577431,577432,577477,577478,577481,577482,577529,577530,577595,577596,577752,577753,577934,577935,577990,577991,578029,578030,578081,578082,578214,578215,578348,578349,578357,578358,578404,578405,578412,578413,578429,578430,578575,578576,578597,578598,578641,578642,578684,578685,578733,578734,578741,578742,578749,578750,578758,578759,578892,578893,579064,579065,579127,579128,579133,579134,579137,579138,579143,579144,579282,579283,579286,579287,579291,579292,579295,579296,579307,579308,579460,579461,579515,579516,579519,579520,579523,579524,579537,579538,579545,579546,579554,579555,579559,579560,579577,579578,579595,579596,579626,579627,579657,579658,579661,579662,579667,579668,579702,579703,579764,579765,580313,580314,580567,580568,580602,580603,580651,580652,580683,580684,580687,580688,580976,580977,580980,580981,580985,580986,580994,580995,581003,581004,581275,581276,581294,581295,581298,581299,581359,581360,581446,581447,581517,581518,581539,581540,581546,581547,581555,581556,581899,581900,581925,581926,581933,581934,581935,581936,581943,581944,581968,581969,581975,581976,581979,581980,581984,581985,581998,581999,582005,582006,582009,582010,582022,582023,582027,582028,582033,582034,582039,582040,582041,582042,582043,582044,582045,582046,582050,582051,582058,582059,582072,582073,582386,582387,582393,582394,582417,582418,582442,582443,582456,582457,582470,582471,582476,582477,582500,582501,582531,582532,582541,582542,582572,582573,582577,582578,582579,582580,582582,582583,582585,582586,582589,582590,582593,582594,582596,582597,582601,582602,582605,582606,582610,582611,582613,582614,582626,582627,582630,582631,582634,582635,582638,582639,582649,582650,582653,582654,582657,582658,582666,582667,582672,582673,582678,582679,582681,582682,582685,582686,582692,582693,582696,582697,582699,582700,582704,582705,582708,582709,582710,582711,583091,583092,583158,583159,583217,583218,583251,583252,583300,583301,583321,583322,583435,583436,583538,583539,583604,583605,583649,583650,583709,583710,583789,583790,583908,583909,584184,584185,584242,584243,584452,584453,584563,584564,584631,584632,585077,585078,585109,585110,585162,585163,585219,585220,585275,585276,585308,585309,585337,585338,585379,585380,585420,585421,585628,585629,585630,585631,585633,585634,585646,585647,585649,585650,585655,585656,585661,585662,585667,585668,585686,585687,585693,585694,585707,585708,585722,585723,585730,585731,585733,585734,585736,585737,585739,585740,585742,585743,585745,585746,585749,585750,585774,585775,585777,585778,585781,585782,585784,585785,585828,585829,585830,585831,585953,585954,586221,586222,586346,586347,586475,586476,586708,586709,586773,586774,586976,586977,587124,587125,587263,587264,587549,587550,587551,587552,587553,587554,587555,587556,587557,587558,587577,587578,587579,587580,587583,587584,587585,587586,587600,587601,587610,587611,587612,587613,587614,587615,587639,587640,587679,587680,587681,587682,587695,587696,587697,587698,587719,587720,587721,587722,587767,587768,587769,587770,587771,587772,587773,587774,587775,587776,587777,587778,587779,587780,587781,587782,587783,587784,587785,587786,587787,587788,587789,587790,587791,587792,587793,587794,587795,587796,587797,587798,587799,587800,587801,587802,587803,587804,587805,587806,587807,587808,587809,587810,587812,587813,587814,587815,587816,587817,587818,587819,587820,587821,587822,587823,587824,587825,587826,587827,587828,587829,587830,587831,587832,587833,587834,587835,587836,587837,587838,587839,587840,587841,587842,587843,587844,587845,587846,587847,587848,587849,587850,587851,587852,587853,587854,587855,587856,587857,587858,587859,587860,587861,587862,587863,587865,587866,587867,587868,587869,587870,587871,587872,587873,587874,587875,587876,587878,587879,587880,587881,587882,587883,587891,587892,587893,587894,587900,587901,587902,587903,587904,587905,587909,587910,587912,587913,587914,587915,587919,587920,587922,587923,587924,587925,587929,587930,587931,587932,587955,587956,587979,587980,588014,588015,588051,588052,588081,588082,588083,588084,588130,588131,588179,588180,588246,588247,588281,588282,588318,588319,588350,588351,588374,588375,588379,588380,588403,588404,588427,588428,588462,588463,588498,588499,588519,588520,588525,588526,588547,588548,588565,588566,588573,588574,588620,588621,588669,588670,588736,588737,588771,588772,588807,588808,588842,588843,588865,588866,588867,588868,588973,588974,588975,588976,588977,588978,588988,588989,588990,588991,588992,588993,589011,589012,589013,589014,589015,589016,589056,589057,589058,589059,589060,589061,589062,589063,589064,589065,589077,589078,589081,589082,589099,589100,589109,589110,589212,589213,589369,589370,589382,589383,589668,589669,589686,589687,589694,589695,589696,589697,589698,589699,589700,589701,589713,589714,589717,589718,589735,589736,589745,589746,589758,589759,589776,589777,589784,589785,589786,589787,589789,589790,589792,589793,589794,589795,589796,589797,589798,589799,589801,589802,589803,589804,589805,589806,589809,589810,589813,589814,589816,589817,589818,589819,589820,589821,589822,589824,589825,590331,591543,591544,591646,591647,591803,591804,593016,593017,593302,593303,593304,593305,593306,593307,593308,593309,593310,593311,593312,593313,593314,593315,593316,593317,593318,593319,593320,593321,593323,593324,593326,593327,593328,593329,593332,593333,593336,593337,593338,593339,593340,593341,593342,593343,593345,593346,593353,593354,593355,593356,593360,593361,593362,593363,593365,593366,593368,593369,593372,593373,593374,593375,593376,593377,593378,593379,593381,593382,593384,593385,593386,593387,593388,593389,593390,593391,593393,593394,593395,593396,593398,593399,593401,593402,593404,593405,593406,593407,593408,593409,593411,593412,593413,593414,593415,593416,593417,593418,593419,593420,593421,593422,593423,593424,593425,593426,593427,593428,593430,593431,593434,593435,593438,593439,593440,593441,593443,593444,593446,593447,593448,593449,593450,593451,593452,593453,593454,593455,593457,593458,593460,593461,593462,593463,593464,593465,593467,593468,593470,593471,593473,593474,593476,593477,593479,593480,593481,593482,593485,593486,593489,593490,593492,593493,593495,593496,593497,593498,593746,593747,593864,593865,594088,594089,594326,594327,594328,594329,594330,594331,594635,594636,594637,594638,594639,594640,595307,595308,595309,595310,595658,595659,595660,595661,595662,595663,596100,596101,596102,596103,596729,596730,596731,596732,596733,596734,601327,601328,601329,601330,601371,601372,601373,601374,601375,601376,601386,601387,601388,601389,601393,601394,601395,601396,601397,601398,601657,601658,601659,601660,614410,614411,614412,614413,614414,614415,620581,620582,620583,620584,620586,620587,620588,620589,620590,620591,620871,620872,620873,620874,622303,622304,622305,622306,622307,622308,622309,622310,622345,622346,622347,622348,622349,622350,622351,622352,622355,622356,622357,622358,622359,622360,622374,622375,622376,622377,622405,622406,622407,622408,622409,622410,622419,622420,622421,622422,622423,622424,622425,622426,622427,622428,622429,622430,622431,622432,622433,622434,622573,622574,622575,622576,622577,622578,622579,622580,622582,622583,622584,622585,622586,622587,622588,622589,622590,622592,622593,623099,628243,628244,628731,628732,629269,629270,630972,630973,634066,634067,634387,634388,634456,634457,634823,634824,634825,634826,637576,637577,637578,637579,637587,637588,637589,637590,637591,637592,637703,637704,637705,637706,639410,639411,639412,639413,639414,639415,641430,641431,641432,641433,641476,641477,641478,641479,641480,641481,642427,642428,642429,642430,642432,642433,642434,642435,642439,642440,642441,642442,642443,642444,642445,642446,642447,642448,642461,642462,642463,642464,642481,642482,642483,642484,642485,642486,642891,642892,642893,642894,643107,643108,643109,643110,643111,643112,644172,644173,644174,644175,644256,644257,644258,644259,644260,644261,644597,644598,644599,644600,645151,645152,645153,645154,645155,645156,651340,651341,651342,651343,651863,651864,651865,651866,651867,651868,652556,652557,652558,652559,652564,652565,652566,652567,652568,652569,652609,652610,652611,652612,653023,653024,653025,653026,653027,653028,653327,653328,653329,653330,653455,653456,653457,653458,653459,653460,653859,653860,653861,653862,653867,653868,653869,653870,653874,653875,653876,653877,653878,653879,653891,653892,653893,653894,653899,653900,653901,653902,653903,653904,653905,653906,653907,653908,653914,653915,653916,653917,653918,653919,653929,653930,653931,653932,653935,653936,653937,653938,653939,653940,653950,653951,653952,653953,654075,654076,654077,654078,654079,654080,654404,654405,654406,654407,654408,654409,654410,654411,654412,654413,654425,654426,654427,654428,654429,654430,654494,654495,654496,654497,654498,654499,654500,654501,654502,654503,654759,654760,654761,654762,654763,654764,654765,654766,654767,654768,654769,654770,654771,654772,654773,654774,654775,654776,654777,654778,654822,654823,654824,654825,654826,654827,654833,654834,654835,654836,654966,654967,654968,654969,654970,654971,655158,655159,655160,655161,655177,655178,655179,655180,655181,655182,655341,655342,655343,655344,655345,655346,655347,655348,655349,655350,655351,655352,655353,655354,655355,655356,655357,655360,655361,655867,657605,657606,667625,667626,669681,669682,671567,671568,672865,672866,674129,674130,674962,674963,675961,675962,676769,676770,677564,677565,678412,678413,679077,679078,683505,683506,683521,683522,683568,683569,683570,683571,683601,683602,683603,683604,683605,683606,683768,683769,683770,683771,683954,683955,683956,683957,687157,687158,687159,687160,687161,687162,687163,687164,687165,687166,687167,687168,687169,687170,687765,687766,687767,687768,687769,687770,687771,687772,687773,687774,687775,687776,687777,687778,687779,687780,687781,687782,687783,687784,687785,687786,687969,687970,687971,687972,687973,687974,687975,687976,687977,687978,687979,687980,687981,687982,687983,687984,687985,687986,687987,687988,687990,687991,687992,687993,687994,687995,688056,688057,688058,688059,688079,688080,688081,688082,688083,688084,688085,688086,688087,688088,688089,688090,688091,688092,688093,688094,688095,688096,688097,688098,688099,688100,688101,688102,688103,688104,688105,688106,688107,688108,688109,688110,688111,688112,688114,688115,688116,688117,688118,688119,688120,688121,688122,688123,688124,688125,688126,688128,688129,688635,690160,690161,695120,695121,702284,702285,703307,703308,709683,709684,710633,710634,712323,712324,714391,714392,716071,716072,717350,717351,718594,718595,718662,718663,720329,720330,720373,720374,720460,720461,720642,720643,720755,720756,720771,720772,720774,720775,720776,720777,720778,720779,720882,720883,720884,720885,720886,720887,720888,720889,720890,720891,720892,720893,720894,720896,720897,721403,724187,724188,731429,731430,732781,732782,737790,737791,737982,737983,739991,739992,744261,744262,747876,747877,748017,748018,748646,748647,748648,748649,748650,748651,748652,748653,753068,753069,753070,753071,753097,753098,753099,753100,753101,753102,753241,753242,753243,753244,753245,753246,753247,753248,753249,753250,753252,753253,753254,753255,753256,753257,753269,753270,753271,753272,753303,753304,753305,753306,753307,753308,753415,753416,753417,753418,753419,753420,753421,753422,753423,753424,753425,753426,753427,753428,753429,753430,753432,753433,753434,753435,753436,753437,753489,753490,753491,753492,753493,753494,753495,753496,753497,753498,753499,753500,753501,753502,753503,753504,753505,753506,753507,753508,753509,753510,753544,753545,753546,753547,753548,753549,753550,753551,753552,753553,753568,753569,753570,753571,753572,753573,753599,753600,753601,753602,753607,753608,753609,753610,753611,753612,753613,753614,753615,753616,753617,753618,753619,753620,753627,753628,753629,753630,753631,753632,753639,753640,753641,753642,753643,753644,753645,753646,753647,753648,753649,753650,753651,753652,753653,753654,753655,753656,753657,753658,753660,753661,753662,753664,753665,754171,754172,766268,766270,766271,766272,766273,766274,766275,766276,766280,766281,766282,766283,766285,766286,766796,766797,766803,766804,766805,766806,766808,766809,766827,766828,766847,766848,766849,766850,766852,766853,766874,766875,766881,766882,766883,766884,766886,766887,766925,766926,766936,766937,766938,766939,766941,766942,766955,766956,767115,767116,767117,767118,767119,767120,767121,767122,767124,767125,771053,771054,771058,771059,771060,771061,771063,771064,771079,771080,771087,771088,771089,771090,771092,771093,771099,771100,771587,771588,771589,771590,771592,771593,773571,773572,773928,773929,773930,773931,773932,773933,773934,773935,773936,773937,773950,773951,773952,773953,773955,773956,773971,773972,773976,773977,773978,773979,773981,773982,774011,774012,774017,774018,774019,774020,774022,774023,774080,774081,774094,774095,774096,774097,774099,774100,774115,774116,774117,774118,774119,774120,774121,774122,774123,774124,774125,774126,774127,774128,774129,774130,774134,774135,774136,774137,774138,774139,774140,774141,774146,774147,774148,774149,774150,774151,774152,774153,774154,780254,780261,786432") == "0122d53d8ce2b304603b645b42cd86e71d99679a" || 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", "7950,1,192,193,463,701,702,1408,1409,32227,32228,32701,32702,32716,32717,32729,32730,32731,32732,32733,32734,32742,32743,32744,32745,32746,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32758,32759,32760,32761,32762,32763,32764,32765,32766,32767,32768,32770,32961,32962,37548,37549,37550,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37576,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,37642,37643,37644,37645,37646,37647,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37886,37887,37888,37889,37896,37897,37898,37899,38071,38072,38073,38074,38075,38076,38216,38217,38218,38219,38220,38221,38222,38223,38224,38225,38226,38227,38228,38229,38230,38231,38232,38233,38234,38235,38236,38237,38238,38239,38240,38241,38242,38243,38244,38245,38246,38247,38248,38249,38250,38251,38252,38253,38276,38277,38302,38303,38309,38310,38341,38342,38362,38363,38393,38394,38428,38429,38465,38466,38497,38498,38532,38533,38534,38535,38536,38537,38538,38539,38540,38541,38543,38544,38582,38583,38584,38585,38586,38587,38588,38589,39038,39039,39488,39489,39938,39939,39940,39941,39942,39943,40422,40423,40580,40581,41670,41671,41672,41673,41957,41958,41959,41960,41961,41962,42375,42376,42380,42381,42382,42383,42384,42385,42387,42388,42390,42391,42393,42394,42396,42397,42398,42399,42401,42402,42404,42405,42407,42408,42409,42410,42412,42413,42415,42416,42418,42419,42421,42422,42424,42425,42427,42428,42430,42431,42433,42434,42436,42437,42439,42440,42442,42443,42445,42446,42449,42450,42452,42453,42455,42456,42458,42459,42461,42462,42464,42465,42466,42467,42468,42469,42471,42472,42474,42475,42478,42479,42482,42483,42485,42486,42488,42489,42491,42492,42494,42495,42497,42498,42500,42501,42503,42504,42506,42507,42509,42510,42513,42514,42516,42517,42519,42520,42522,42523,42525,42526,42528,42529,42531,42532,42534,42535,42537,42538,42540,42541,42543,42544,42546,42547,42549,42550,42551,42552,42554,42555,42557,42558,42560,42561,42563,42564,42566,42567,42568,42569,42571,42572,42574,42575,42577,42578,42580,42581,42583,42584,42586,42587,42589,42590,42591,42592,42594,42595,42597,42598,42600,42601,42603,42604,42606,42607,42609,42610,42612,42613,42615,42616,42618,42619,42621,42622,42624,42625,42627,42628,42630,42631,42633,42634,42636,42637,42638,42639,42641,42642,42644,42645,42647,42648,42650,42651,42652,42653,42655,42656,42658,42659,42661,42662,42664,42665,42667,42668,42670,42671,42673,42674,42676,42677,42679,42680,42683,42684,42686,42687,42689,42690,42692,42693,42695,42696,42698,42699,42700,42701,42703,42704,42706,42707,42709,42710,42712,42713,42715,42716,42717,42718,42720,42721,42723,42724,42726,42727,42729,42730,42732,42733,42734,42735,42737,42738,42740,42741,42743,42744,42746,42747,42749,42750,42751,42752,42754,42755,42757,42758,42760,42761,42763,42764,42766,42767,42768,42769,42771,42772,42774,42775,42777,42778,42780,42781,42782,42783,42785,42786,42788,42789,42791,42792,42794,42795,42797,42798,42800,42801,42803,42804,42806,42807,42809,42810,42812,42813,42814,42815,42817,42818,42820,42821,42823,42824,42826,42827,42829,42830,42832,42833,42835,42836,42838,42839,42841,42842,42845,42846,42847,42848,42849,42850,42851,42852,42856,42857,43210,43211,43213,43214,43216,43217,43219,43220,43223,43224,43226,43227,43228,43229,43276,43277,43287,43288,43289,43290,43305,43306,43320,43321,43322,43323,43324,43325,43326,43327,43328,43329,43330,43331,43332,43333,43363,43364,43371,43372,43379,43380,43381,43382,43385,43386,43387,43388,43389,43390,43391,43392,43393,43394,43395,43396,43397,43398,43399,43400,43401,43402,43403,43404,43405,43406,43407,43408,43409,43410,43412,43413,43414,43415,43416,43417,43421,43422,43423,43424,43426,43427,43429,43430,43432,43433,43443,43444,43459,43460,43477,43478,43507,43508,43537,43538,43565,43566,45004,45005,45818,45819,46712,46713,46719,46720,46724,46725,46729,46730,46734,46735,48180,48181,48210,48211,48240,48241,48270,48271,48300,48301,48305,48306,48310,48311,48319,48320,48353,48354,48358,48359,48384,48385,48410,48411,48437,48438,48465,48466,48468,48469,48471,48472,53032,53033,53045,53046,53052,53053,53059,53060,53069,53070,53076,53077,53110,53111,53145,53146,53176,53177,53208,53209,53245,53246,53281,53282,53287,53288,53293,53294,53298,53299,53328,53329,53359,53360,53388,53389,53418,53419,53427,53428,53436,53437,53445,53446,53454,53455,53457,53458,53463,53464,53469,53470,53480,53481,53501,53502,53523,53524,53544,53545,53565,53566,53568,53569,53578,53579,53588,53589,53598,53599,53609,53610,53618,53619,53627,53628,53636,53637,53645,53646,53671,53672,53675,53676,53678,53679,53693,53694,53708,53709,53723,53724,53738,53739,53743,53744,53748,53749,53777,53778,53805,53806,53833,53834,53860,53861,53887,53888,53893,53894,53898,53899,53901,53902,53923,53924,53945,53946,53966,53967,53987,53988,53990,53991,53996,53997,54035,54036,54076,54077,54080,54081,54085,54086,54157,54158,54162,54163,54175,54176,54178,54179,54182,54183,54195,54196,54200,54201,54210,54211,54220,54221,54230,54231,54240,54241,54268,54269,54297,54298,54326,54327,54355,54356,54360,54361,54365,54366,54371,54372,54378,54379,54384,54385,54391,54392,54484,54485,54584,54585,54589,54590,54606,54607,54638,54639,54700,54701,54766,54767,54828,54829,54890,54891,54966,54967,55048,55049,55124,55125,55206,55207,55288,55289,55365,55366,55448,55449,55524,55525,55606,55607,55682,55683,55758,55759,55839,55840,55914,55915,55996,55997,56078,56079,56154,56155,56237,56238,56313,56314,56315,56316,56318,56319,56320,56321,56322,56323,56324,56325,56326,56327,56328,56329,56330,56331,56332,56333,56334,56335,56340,56341,56342,56343,56344,56345,56349,56350,56381,56382,56407,56408,56775,56776,56833,56834,57253,57254,57297,57298,57475,57476,57479,57480,57495,57496,57780,57781,59547,59548,59604,59605,59941,59942,61510,61511,61523,61524,61594,61595,61651,61652,62089,62090,62117,62118,62382,62383,62385,62386,62393,62394,62437,62438,62654,62655,62688,62689,62950,62951,62955,62956,62987,62988,62990,62991,62998,62999,63134,63135,64382,64383,64385,64386,64397,64398,64405,64406,64471,64472,64991,64992,64993,64994,64999,65000,65031,65032,65068,65069,65445,65446,65517,65518,65522,65523,65525,65526,65533,65536,65537,66608,67263,67265,67266,69903,69904,71397,71398,73221,73222,73313,73433,73434,76261,76262,76421,76422,77250,77251,77345,77346,79030,79031,82297,82298,82387,82388,82389,82390,82391,82392,82597,82598,82599,82600,82602,82603,82604,82605,82606,82607,82621,82622,82623,82624,83121,83122,83123,83124,83125,83126,83127,83128,83129,83130,83993,83994,83995,83996,84044,84045,84046,84047,84048,84049,87008,87009,87010,87011,87014,87015,87016,87017,87018,87019,87036,87037,87038,87039,91176,91177,91178,91179,91185,91186,91187,91188,91189,91190,91223,91224,91225,91226,91228,91229,91230,91231,91232,91233,91263,91264,91265,91266,91268,91269,91270,91271,91272,91273,91312,91313,91314,91315,91317,91318,91319,91320,91321,91322,91334,91335,91336,91337,91348,91349,91350,91351,91352,91353,91359,91360,91361,91362,91368,91369,91370,91371,91377,91378,91379,91380,91381,91382,91449,91450,91451,91452,91589,91590,91591,91592,91593,91594,94104,94105,94106,94107,94701,94702,94703,94704,94705,94706,96608,96609,96610,96611,96652,96653,96654,96655,96656,96657,97618,97619,97620,97621,97775,97776,97777,97778,97779,97780,97781,97782,97783,97784,98252,98253,98254,98255,98256,98257,98260,98261,98262,98263,98264,98265,98271,98272,98273,98274,98276,98277,98278,98279,98280,98281,98302,98304,98306,98497,98498,99842,102735,114901,114902,115169,115170,115457,115458,115775,115776,116089,116090,116092,116093,116327,116328,116375,116376,116377,116378,116380,116381,117726,117727,117731,117732,117733,117734,117736,117737,117791,117792,117796,117797,117798,117799,117801,117802,117813,117814,120739,120740,120741,120742,120744,120745,127062,127063,127067,127068,127069,127070,127072,127073,127140,127141,127151,127152,127153,127154,127156,127157,127213,127214,127316,127317,127318,127319,127321,127322,127634,127635,127636,127637,128089,128090,128091,128092,128094,128095,129057,129058,129386,129387,129388,129389,129391,129392,130660,130661,130665,130666,130667,130668,130670,130671,130677,130678,130688,130689,130690,130691,130693,130694,130738,130739,130740,130741,130742,130743,130744,130745,130746,130747,130748,130749,130750,130751,130781,130782,130783,130784,130786,130787,130846,130847,130851,130852,130853,130854,130856,130857,130866,130867,130874,130875,130876,130877,130878,130879,130880,130881,130882,130883,130884,130885,130889,130890,130891,130892,130894,130895,130931,130932,130951,130952,130953,130954,130956,130957,130984,130985,130986,130987,130988,130989,130990,130991,131035,131036,131037,131038,131040,131041,131059,131060,131065,131066,131067,131068,131069,131070,131072,131073,140318,140319,140320,140322,140323,140324,140325,140326,140327,140349,140350,140351,140352,140354,140355,140356,140357,140358,140359,140366,140367,140368,140369,140371,140372,140373,140374,140375,140376,140397,140398,140399,140400,140402,140403,140404,140405,140406,140407,140444,140445,140446,140447,141191,141192,141193,141194,141195,141196,143470,143471,143472,143473,143633,143634,143635,143636,143637,143638,143639,143640,143641,143642,143643,143644,144522,144523,144524,144525,144526,144527,144892,144893,144894,144895,145044,145045,145046,145047,145048,145049,145281,145282,145283,145284,145285,145286,145287,145288,145298,145299,145302,145303,145304,145305,145306,145307,145308,145309,145316,145317,145319,145320,145321,145322,145323,145324,145325,145326,145338,145339,145341,145342,145343,145344,147779,147780,147781,147782,147784,147785,147786,147787,147788,147789,147790,147791,147847,147848,147850,147851,147852,147853,147854,147855,147856,147857,147896,147897,147901,147902,147904,147905,147917,147918,147920,147921,147925,147926,147931,147932,147935,147936,147943,147944,147950,147951,147953,147954,147957,147958,147959,147960,147966,147967,147973,147974,148019,148020,148021,148022,148023,148024,148035,148036,148046,148047,148054,148055,148061,148062,148074,148075,148081,148082,148087,148088,148089,148090,148104,148105,148115,148116,148125,148126,148148,148149,148153,148154,148155,148156,148159,148160,148164,148165,148170,148171,148186,148187,148195,148196,148201,148202,148217,148218,148292,148293,148296,148297,148300,148301,148302,148303,148307,148308,148434,148435,148441,148442,148447,148448,148460,148461,148475,148476,148512,148513,148532,148533,148537,148538,148544,148545,148548,148549,148558,148559,148565,148566,148570,148571,148620,148621,148622,148623,148632,148633,148651,148652,148709,148710,148716,148717,148724,148725,148779,148780,148783,148784,148787,148788,148794,148795,148805,148806,148817,148818,148834,148835,148844,148845,148853,148854,148857,148858,148865,148866,148870,148871,148888,148889,148899,148900,148931,148932,148964,148965,148977,148978,148995,148996,148999,149000,149014,149015,149021,149022,149030,149031,149035,149036,149081,149082,149118,149119,149124,149125,149126,149127,149299,149300,149312,149313,149532,149533,149554,149555,149564,149565,149566,149567,149601,149602,149604,149605,149649,149650,149683,149684,149685,149686,149687,149688,149689,149690,149733,149734,149736,149737,149803,149804,149905,149906,149992,149993,149996,149997,150097,150098,150102,150103,150167,150168,150177,150178,150182,150183,150214,150215,150437,150438,150596,150597,150867,150868,150873,150874,150896,150897,150907,150908,150936,150937,150946,150947,150948,150949,150956,150957,151123,151124,151128,151129,151136,151137,151150,151151,151362,151363,151364,151365,151370,151371,151378,151379,151384,151385,151390,151391,151396,151397,151405,151406,151424,151425,151432,151433,151436,151437,151465,151466,151490,151491,151499,151500,151592,151593,151641,151642,151650,151651,151658,151659,151662,151663,151672,151673,151674,151675,151683,151684,151687,151688,151695,151696,151746,151747,151752,151753,151756,151757,151847,151848,152209,152210,152213,152214,152266,152267,152287,152288,152299,152300,152311,152312,152316,152317,152318,152319,152321,152322,152335,152336,152344,152345,152347,152348,152415,152416,152425,152426,152429,152430,152433,152434,152435,152436,152440,152441,152476,152477,152488,152489,152493,152494,152498,152499,152567,152568,152580,152581,152584,152585,152586,152587,152599,152600,152603,152604,152608,152609,152615,152616,152624,152625,152629,152630,152632,152633,152637,152638,152666,152667,152675,152676,152679,152680,152686,152687,152693,152694,154013,154014,154070,154071,154076,154077,154080,154081,154086,154087,154092,154093,154094,154095,154098,154099,154146,154147,154226,154227,154324,154325,154326,154327,154334,154335,154338,154339,154345,154346,154350,154351,154355,154356,154363,154364,154368,154369,154371,154372,154398,154399,154400,154401,154437,154438,154443,154444,154451,154452,154474,154475,154484,154485,154488,154489,154491,154492,154496,154497,154500,154501,154505,154506,154514,154515,154546,154547,154635,154636,154647,154648,154654,154655,154657,154658,154677,154678,154682,154683,154691,154692,154843,154844,154849,154850,154878,154879,154890,154891,154895,154896,154897,154898,155366,155367,155778,155779,155805,155806,155852,155853,155871,155872,155875,155876,155879,155880,155881,155882,155883,155884,155886,155887,155888,155889,158913,158914,158916,158917,158918,158919,158920,158921,158922,158923,158925,158926,158981,158982,158983,158984,158987,158988,158989,158990,158991,158992,158993,158994,159010,159011,159016,159017,159022,159023,159098,159099,159100,159101,159143,159144,159226,159227,159232,159233,159234,159235,159252,159253,159254,159255,159260,159261,159264,159265,159337,159338,159340,159341,159377,159378,159469,159470,159473,159474,159475,159476,159491,159492,159497,159498,159500,159501,159551,159552,159553,159554,159584,159585,159629,159630,159632,159633,159634,159635,159652,159653,159658,159659,159662,159663,159728,159729,159731,159732,159769,159770,159850,159851,159853,159854,159855,159856,159871,159872,159877,159878,159880,159881,159935,159936,159937,159938,159968,159969,160017,160018,160020,160021,160022,160023,160036,160037,160198,160199,160200,160201,160202,160203,160205,160206,160211,160212,160214,160215,160219,160220,160223,160224,160232,160233,160236,160237,160238,160239,160240,160241,160242,160243,160244,160245,160246,160247,160248,160249,160250,160251,160254,160255,160256,160257,160265,160266,160268,160269,160270,160271,160275,160276,160278,160279,160281,160282,160284,160285,160288,160289,160292,160293,160296,160297,160299,160300,160302,160303,160305,160306,160308,160309,160311,160312,160314,160315,160317,160318,160321,160322,160324,160325,160327,160328,160330,160331,160333,160334,160337,160338,160340,160341,160343,160344,160346,160347,160349,160350,160351,160352,160354,160355,160357,160358,160360,160361,160363,160364,160366,160367,160368,160369,160371,160372,160374,160375,160377,160378,160380,160381,160383,160384,160386,160387,160389,160390,160392,160393,160395,160396,160398,160399,160401,160402,160404,160405,160407,160408,160409,160410,160411,160412,160414,160415,160417,160418,160421,160422,160425,160426,160430,160431,160434,160435,160438,160439,160441,160442,160444,160445,160447,160448,160450,160451,160453,160454,160456,160457,160458,160459,160460,160461,160462,160463,160468,160469,160470,160471,160472,160473,160476,160477,160480,160481,160484,160485,160488,160489,160490,160491,160494,160495,160498,160499,160502,160503,160506,160507,160510,160511,160512,160513,160516,160517,160520,160521,160524,160525,160528,160529,160532,160533,160536,160537,160620,160621,160626,160627,160628,160629,160630,160631,160632,160633,160641,160642,160664,160665,160666,160667,160668,160669,160674,160675,160676,160677,160678,160679,160680,160681,160683,160684,160685,160686,160687,160688,160689,160690,160699,160700,160701,160702,160707,160708,160718,160719,160746,160747,160774,160775,160776,160777,160778,160779,160780,160781,160795,160796,160797,160798,160801,160802,160805,160806,160807,160808,160811,160812,160813,160814,160817,160818,160820,160821,160824,160825,160826,160827,160829,160830,160832,160833,160838,160839,160841,160842,160843,160844,160846,160847,160849,160850,160855,160856,160858,160859,160861,160862,160866,160867,160872,160873,160876,160877,160881,160882,160883,160884,160886,160887,160888,160889,160892,160893,160897,160898,160902,160903,160907,160908,160912,160913,160917,160918,160922,160923,160927,160928,160932,160933,160937,160938,160942,160943,160944,160945,160947,160948,161092,161093,161105,161106,161107,161108,161109,161110,161111,161112,161114,161115,161117,161118,161119,161120,161122,161123,161301,161302,161526,161527,161528,161529,161530,161531,161532,161533,161535,161536,161538,161539,161540,161541,161695,161696,161806,161807,161935,161936,162060,162061,162181,162182,162315,162316,162320,162321,162326,162327,162328,162329,162332,162333,162334,162335,162336,162337,162338,162339,162340,162341,162342,162343,162364,162365,162370,162371,162385,162386,162403,162404,162408,162409,162415,162416,162417,162418,162419,162420,162425,162426,162427,162428,162433,162434,162439,162440,162448,162449,162458,162459,162468,162469,162470,162471,162472,162473,162474,162475,162476,162477,162478,162479,162490,162491,162492,162493,162494,162495,162496,162497,162499,162500,162501,162502,162503,162504,162505,162506,162507,162508,162509,162510,162511,162512,162513,162514,162515,162516,162517,162518,162519,162520,162521,162522,162523,162524,162525,162526,162527,162528,162529,162530,162531,162532,162533,162534,162535,162536,162537,162538,162539,162540,162541,162542,162543,162544,162545,162546,162547,162548,162549,162550,162551,162552,162553,162554,162555,162556,162557,162558,162560,162561,162564,162565,162566,162567,162568,162569,162570,162571,162606,162607,162608,162609,162611,162612,162617,162618,162619,162620,162621,162622,162623,162624,162625,162626,162627,162628,162629,162630,162631,162632,162633,162634,162635,162636,162637,162638,162639,162640,162641,162642,162643,162644,162645,162646,162647,162648,162652,162653,162656,162657,162662,162663,162667,162668,162670,162671,162673,162674,162677,162678,162681,162682,162686,162687,162690,162691,162694,162695,162698,162699,162702,162703,162706,162707,162711,162712,162716,162717,162720,162721,162723,162724,162727,162728,162731,162732,162735,162736,162739,162740,162744,162745,162748,162749,162751,162752,162756,162757,162761,162762,162764,162765,162768,162769,162773,162774,162777,162778,162781,162782,162789,162790,162793,162794,162797,162798,162800,162801,162804,162805,162810,162811,163371,163372,163373,163374,163375,163376,163377,163378,163379,163380,163381,163382,163383,163384,163389,163390,163392,163393,163394,163395,163397,163398,163401,163402,163414,163415,163417,163418,163419,163420,163421,163422,163423,163424,163445,163446,163449,163450,163470,163471,163497,163498,163518,163519,163545,163546,163573,163574,163598,163599,163600,163601,163602,163603,163604,163605,163606,163607,163608,163609,163610,163611,163612,163613,163614,163615,163616,163617,163618,163619,163620,163621,163622,163623,163624,163625,163626,163627,163628,163629,163630,163631,163632,163633,163634,163635,163636,163637,163638,163639,163640,163641,163642,163643,163644,163645,163646,163647,163648,163649,163650,163651,163652,163653,163654,163655,163656,163657,163658,163659,163660,163661,163662,163663,163664,163665,163666,163667,163668,163669,163670,163671,163672,163673,163674,163675,163676,163677,163678,163679,163680,163681,163682,163683,163684,163685,163686,163687,163688,163689,163690,163691,163692,163693,163694,163695,163696,163697,163698,163699,163700,163701,163702,163703,163704,163705,163706,163707,163708,163709,163710,163711,163712,163713,163714,163715,163716,163717,163734,163735,163736,163737,163738,163739,163740,163741,163742,163743,163744,163745,163746,163747,163748,163749,163750,163751,163752,163753,163756,163757,163760,163761,163764,163765,163766,163767,163784,163785,163786,163787,163788,163789,163790,163791,163792,163793,163794,163795,163796,163797,163798,163799,163800,163801,163802,163803,163804,163805,163806,163807,163808,163809,163810,163811,163812,163813,163814,163815,163816,163817,163818,163819,163820,163821,163822,163823,163824,163825,163826,163827,163828,163829,163830,163831,163832,163833,163834,163835,163836,163837,163838,163840,163842,164033,164034,174588,174589,177826,177827,180234,180235,191231,191232,191251,191252,191308,191309,191310,191311,191313,191314,193584,193585,194254,194255,194256,194257,194258,194259,194296,194297,194298,194299,194301,194302,195621,195622,195629,195630,195631,195632,195634,195635,195688,195689,195745,195746,195747,195748,195750,195751,195753,195754,195755,195756,195758,195760,195776,195779,195789,195790,195791,195793,195822,195823,195892,195894,195897,195898,195903,195904,196061,196062,196063,196064,196066,196067,196141,196142,196151,196152,196153,196154,196155,196156,196277,196278,196279,196280,196281,196282,196283,196284,196285,196286,196287,196288,196297,196298,196299,196300,196302,196303,196380,196381,196382,196383,196384,196385,196386,196387,196388,196389,196393,196394,196395,196396,196397,196398,196399,196400,196402,196403,196411,196412,196416,196417,196418,196419,196421,196422,196452,196453,196454,196455,196456,196457,196458,196459,196460,196461,196570,196571,196572,196573,196574,196575,196576,196577,196578,196579,196580,196581,196582,196583,196584,196585,196586,196587,196597,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,197115,206744,229376,229378,229569,229570,230077,230078,249439,249440,252491,252492,253532,253533,261848,261849,261919,261920,262011,262012,262013,262014,262015,262016,262020,262021,262022,262023,262025,262026,262061,262062,262066,262067,262068,262069,262071,262072,262119,262120,262126,262127,262128,262129,262135,262136,262137,262138,262142,262143,262144,262145,294912,294914,295105,295106,295613,295614,302440,302441,304574,304575,323475,323476,324882,324883,325315,325324,325325,325326,325327,325328,325330,325331,325342,325343,325347,325348,325349,325350,325352,325353,325363,325364,325368,325369,325370,325371,325373,325374,325383,325384,325388,325389,325390,325391,325393,325394,325407,325408,325580,325581,325582,325583,325585,325586,327176,327177,327178,327179,327180,327181,327182,327183,327190,327191,327192,327193,327195,327196,327366,327367,327502,327503,327504,327505,327506,327507,327508,327509,327510,327511,327512,327513,327537,327538,327539,327540,327541,327542,327546,327547,327548,327549,327551,327552,327560,327561,327589,327590,327591,327592,327593,327594,327595,327596,327597,327598,327599,327600,327601,327602,327603,327604,327605,327606,327607,327608,327609,327610,327615,327616,327617,327618,327619,327620,327621,327622,327623,327624,327625,327626,327630,327631,327632,327633,327635,327636,327659,327660,327664,327665,327666,327667,327669,327670,327676,327677,327678,327679,327680,327681,328187,328628,360448,360449,360955,361009,361010,361042,361043,361292,361293,362106,362107,362108,362109,362110,362111,362156,362157,362185,362186,362187,362188,362514,362515,363689,363690,363691,363692,363693,363694,363695,363696,363697,363698,363699,363700,363834,363835,363837,363838,363839,363840,363963,363964,363965,363966,367146,367147,367148,367149,368267,368268,368363,368364,368365,368366,368367,368368,368397,368398,368401,368402,368404,368405,368406,368407,368622,368623,368624,368625,368626,368627,368631,368632,368917,368918,368922,368923,368927,368928,368946,368947,368950,393216,393217,393723,393932,393933,393949,393950,394332,394333,396348,396349,396416,396417,396776,396777,398894,398895,410019,410020,410033,410034,410115,410116,410200,410201,410652,410653,410690,410691,410961,410962,411020,411021,411269,411270,411310,411311,411615,411616,411621,411622,411654,411655,411657,411658,411665,411666,411821,411822,413270,413271,413273,413274,413285,413286,413295,413296,413367,413368,414044,414045,416479,416480,416481,416482,416483,416484,416485,416486,416487,416488,416489,416490,416494,416495,416497,416498,416499,416500,416501,416502,416503,416504,416505,416506,416515,416516,416557,416558,416559,416560,416561,416562,416574,416575,416576,416577,416578,416579,416580,416581,416613,416614,416615,416616,416617,416618,416619,416620,416621,416622,416623,416624,416629,416630,416660,416661,416662,416663,416666,416667,416669,416670,416671,416672,416673,416674,417077,417078,417079,417080,417442,417443,422607,422608,422609,422610,422611,422612,422613,422614,422615,422616,422617,422618,422620,422621,422622,422623,422625,422626,422627,422628,422629,422630,422631,422632,422633,422634,422635,422636,422637,422638,422639,422640,422641,422642,422643,422644,422645,422646,422654,422655,422696,422697,422741,422742,422790,422791,423413,423414,423585,423586,423692,423693,423701,423702,423719,423720,423730,423731,423739,423740,425038,425039,425047,425048,425067,425068,425078,425079,425086,425087,425312,425313,425365,425366,425377,425378,425451,425452,425503,425504,425534,425535,425547,425548,425563,425564,425580,425581,425590,425591,425617,425618,425717,425718,425732,425733,425742,425743,425755,425756,425804,425805,425817,425818,425863,425864,425981,425984,425985,426491,427353,427354,427437,427438,427444,427445,427513,427514,427546,427547,427938,427939,428046,428047,428254,428255,428411,428412,428762,428763,428773,428774,428782,428783,428795,428796,428806,428807,428819,428820,428830,428831,428919,428920,428936,428937,428949,428950,429048,429049,429096,429097,429107,429108,429413,429414,429415,429416,429425,429426,429474,429475,429529,429530,429589,429590,430329,430330,430535,430536,430661,430662,430671,430672,430693,430694,430705,430706,430715,430716,432268,432269,432278,432279,432301,432302,432312,432313,432320,432321,432583,432584,432642,432643,432655,432656,432741,432742,432804,432805,432840,432841,432855,432856,432873,432874,432892,432893,432903,432904,432925,432926,432956,432957,433076,433077,433093,433094,433105,433106,433119,433120,433177,433178,433191,433192,433246,433247,434286,434287,434428,434429,434527,434528,434534,434535,434614,434615,434653,434654,435125,435126,435253,435254,435501,435502,435684,435685,436098,436099,436111,436112,436121,436122,443376,443377,443391,443392,443403,443404,443417,443418,443428,443429,443535,443536,443555,443556,443568,443569,443685,443686,443742,443743,444709,444710,444721,444722,445074,445075,445076,445077,445078,445079,445080,445081,445082,445083,445084,445085,445086,445087,445088,445089,445090,445091,445092,445093,445096,445097,445098,445099,445100,445101,445102,445103,445108,445109,445112,445113,445114,445115,445116,445117,445118,445119,445120,445121,445122,445123,445124,445125,445127,445128,445129,445130,445131,445132,445133,445134,445135,445136,445137,445138,445139,445140,445141,445142,445143,445144,445145,445146,445147,445148,445149,445150,445151,445152,445153,445154,445157,445158,445159,445160,445161,445162,445163,445164,445179,445180,445181,445182,445183,445184,445212,445213,445222,445223,445224,445225,445233,445234,445239,445240,445311,445312,445321,445322,445328,445329,445354,445355,445772,445773,446078,446079,446084,446085,446089,446090,446102,446103,446109,446110,446119,446120,446160,446161,446165,446166,446171,446172,446176,446177,446181,446182,446186,446187,446194,446195,446373,446374,446378,446379,446384,446385,446411,446412,446417,446418,446475,446476,446503,446504,446513,446514,446531,446532,446549,446550,447633,447634,450824,450825,450852,450853,451069,451070,451099,451100,451107,451108,451121,451122,451137,451138,451147,451148,451163,451164,451179,451180,451250,451251,451319,451320,451335,451336,451341,451342,451347,451348,451359,451360,451478,451479,451518,451519,451578,451579,451643,451644,452514,452515,452540,452541,452598,452599,452891,452892,453220,453221,453227,453228,453234,453235,453242,453243,453265,453266,453513,453514,453556,453557,453609,453610,453617,453618,454324,454325,455809,455810,455818,455819,455827,455828,455927,455928,455951,455952,455969,455970,456111,456112,456130,456131,456165,456166,456172,456173,456179,456180,456189,456190,456207,456208,456219,456220,456336,456337,456397,456398,456405,456406,456496,456497,456702,456703,456738,456739,456749,456750,456895,456896,457087,457088,457094,457095,457137,457138,457161,457162,457222,457223,457233,457234,457408,457409,457415,457416,457623,457624,457711,457712,457804,457805,458105,458106,458193,458194,458204,458205,458378,458379,458450,458451,458476,458477,458538,458539,458566,458567,458571,458572,458710,458711,458724,458725,458734,458735,458740,458741,458747,458748,458749,458752,458753,459259,459287,459288,478832,478833,479922,479923,480081,480082,481218,481219,481221,481222,481288,481289,481290,481291,481292,481293,481294,481295,481296,481297,481298,481299,481300,481301,481302,481303,481304,481305,481306,481307,481308,481309,481310,481311,481312,481313,481314,481315,481316,481317,481318,481319,481320,481321,481322,481323,481324,481325,481328,481329,481378,481379,481386,481387,481457,481458,481528,481529,481599,481600,481601,481602,481603,481604,481760,481761,481869,481870,482013,482014,482115,482116,482306,482307,482466,482467,482530,482531,482679,482680,482884,482885,482979,482980,483134,483135,483197,483198,483199,483200,483201,483202,483203,483204,483205,483206,483207,483208,483209,483210,483219,483220,483221,483222,483224,483225,483226,483227,483254,483255,483256,483257,483283,483284,483285,483286,483313,483314,483315,483316,483328,483329,483330,483331,483339,483340,483341,483342,483346,483347,483348,483349,483355,483356,483357,483358,483359,483360,483361,483362,483364,483365,483366,483367,483376,483377,483378,483379,483380,483381,483382,483383,483384,483385,483386,483387,483388,483389,483390,483391,483469,483470,483471,483472,483473,483474,483475,483476,483477,483478,483479,483480,483481,483482,483483,483484,483486,483487,483488,483489,483490,483491,483492,483493,483529,483530,483531,483532,483568,483569,483570,483571,483572,483573,483574,483575,483576,483577,483578,483579,483580,483581,483583,483584,483586,483587,483588,483589,483590,483591,483592,483593,483594,483595,483596,483597,483598,483599,483600,483601,483602,483603,483604,483605,483606,483607,489027,489028,489029,489030,489031,489032,489033,489034,489035,489036,489037,489038,489039,489040,489041,489042,489046,489047,489050,489051,489055,489056,489060,489061,489065,489066,489067,489068,489069,489070,489073,489074,489075,489076,489077,489078,489079,489080,489081,489082,489083,489084,489085,489086,489087,489088,489089,489090,489091,489092,489093,489094,489095,489096,489097,489098,489099,489100,489101,489102,489103,489104,489105,489106,489107,489108,489109,489110,489111,489112,489113,489114,489115,489116,489117,489118,489119,489120,489121,489122,489123,489124,489125,489126,489127,489128,489129,489130,489131,489132,489133,489134,489135,489136,489137,489138,489139,489140,489141,489142,489143,489144,489145,489146,489147,489148,489149,489150,489154,489155,489160,489161,489162,489163,489285,489286,489287,489288,489289,489290,489291,489292,489293,489294,490184,490185,490186,490187,490188,490189,490190,490191,490192,490193,490194,490195,490196,490197,490298,490299,490300,490301,490302,490303,490416,490417,490421,490422,490423,490424,490425,490426,490427,490428,490429,490430,490433,490434,491330,491331,491389,491390,491497,491498,491499,491500,491505,491506,491511,491512,491513,491514,491515,491516,491517,491520,491521,492027,492042,492043,502518,502519,504371,504372,506412,506413,506659,506660,507004,507005,508100,508101,508656,508657,509733,509734,511550,511551,513250,513251,513721,513722,514401,514402,514776,514777,514895,514896,516616,516617,519771,519772,520700,520701,522761,522762,523123,523124,523936,523937,523938,523939,523940,523941,523945,523946,523947,523948,523949,523950,523958,523959,523960,523961,523985,523986,523987,523988,523989,523990,524203,524204,524205,524206,524207,524208,524209,524210,524211,524212,524213,524214,524215,524216,524257,524258,524260,524261,524262,524263,524264,524265,524266,524267,524285,524288,524289,524795,524842,524843,524885,524886,524894,524895,524919,524920,525087,525088,525099,525100,525107,525108,525295,525296,525331,525332,525337,525338,525345,525346,525384,525385,525514,525515,525523,525524,525531,525532,525555,525556,525561,525562,525738,525739,525752,525753,525764,525765,525864,525865,525870,525871,525879,525880,525957,525958,525973,525974,526102,526103,526521,526522,526834,526835,526843,526844,526902,526903,526919,526920,526954,526955,527022,527023,527038,527039,527054,527055,529403,529404,529446,529447,529475,529476,529483,529484,529488,529489,529566,529567,529571,529572,529658,529659,529670,529671,529699,529700,529739,529740,529775,529776,529789,529790,529795,529796,529819,529820,529848,529849,529871,529872,529879,529880,529915,529916,529921,529922,529927,529928,529944,529945,529950,529951,529963,529964,529988,529989,530021,530022,530031,530032,530231,530232,530316,530317,530324,530325,530342,530343,530350,530351,530359,530360,530379,530380,530528,530529,530540,530541,530956,530957,531395,531396,531404,531405,531410,531411,531436,531437,531452,531453,531479,531480,531499,531500,531505,531506,531512,531513,531546,531547,531568,531569,531574,531575,531590,531591,531613,531614,531623,531624,531632,531633,531642,531643,531677,531678,531715,531716,531736,531737,531742,531743,531747,531748,531833,531834,531839,531840,531881,531882,531906,531907,531921,531922,531927,531928,531936,531937,531947,531948,531958,531959,531964,531965,531972,531973,531981,531982,531987,531988,532008,532009,532013,532014,532058,532059,532067,532068,532095,532096,532117,532118,532163,532164,532177,532178,532234,532235,533457,533458,533463,533464,533485,533486,534660,534661,534671,534672,534709,534710,534719,534720,534758,534759,534763,534764,534770,534771,534778,534779,534784,534785,534957,534958,534986,534987,535000,535001,535006,535007,535015,535016,535021,535022,535036,535037,535053,535054,535059,535060,535076,535077,535088,535089,535094,535095,535107,535108,535129,535130,535135,535136,535142,535143,535158,535159,535192,535193,535253,535254,535262,535263,535269,535270,535277,535278,535296,535297,535323,535324,535329,535330,535340,535341,535346,535347,535374,535375,535379,535380,536355,536356,536362,536363,536390,536391,536397,536398,536484,536485,536496,536497,536513,536514,536532,536533,536537,536538,536547,536548,537130,537131,537255,537256,537260,537261,537301,537302,537307,537308,537680,537681,537697,537698,537708,537709,537713,537714,537749,537750,537755,537756,537797,537798,537849,537850,537927,537928,538012,538013,538044,538045,538065,538066,538112,538113,538221,538222,538325,538326,538334,538335,538373,538374,538381,538382,538392,538393,538514,538515,538534,538535,538568,538569,538600,538601,538642,538643,538652,538653,538660,538661,538669,538670,538780,538781,538911,538912,538961,538962,538968,538969,538974,538975,538981,538982,539064,539065,539070,539071,539077,539078,539082,539083,539093,539094,539099,539100,539104,539105,539113,539114,539122,539123,539129,539130,539142,539143,539155,539156,539179,539180,539242,539243,539265,539266,539272,539273,539299,539300,539679,539680,539886,539887,539917,539918,539955,539956,539965,539966,539974,539975,539998,539999,540004,540005,540248,540249,540254,540255,540261,540262,540276,540277,540283,540284,540345,540346,540394,540395,540412,540413,540419,540420,540611,540612,540661,540662,540684,540685,540692,540693,541121,541122,541134,541135,541143,541144,541179,541180,541181,541182,542790,542791,542801,542802,542814,542815,542932,542933,542941,542942,542943,542944,542951,542952,542972,542973,542978,542979,542984,542985,542990,542991,543002,543003,543009,543010,543015,543016,543028,543029,543034,543035,543041,543042,543048,543049,543052,543053,543054,543055,543056,543057,543058,543059,543079,543080,543081,543082,543120,543121,543130,543131,543132,543133,543141,543142,543145,543146,543230,543231,543241,543242,543248,543249,543284,543285,543288,543289,543292,543293,543344,543345,543377,543378,543391,543392,543396,543397,543406,543407,543462,543463,543465,543466,543470,543471,543474,543475,543478,543479,543481,543482,543488,543489,543635,543636,543639,543640,543789,543790,543794,543795,543830,543831,543836,543837,543949,543950,543960,543961,543983,543984,544006,544007,549018,549019,549022,549023,549029,549030,549045,549046,549063,549064,549073,549074,549091,549092,549109,549110,549186,549187,549263,549264,549279,549280,549284,549285,549289,549290,550225,550226,550239,550240,550491,550492,550548,550549,550634,550635,550722,550723,550833,550834,551126,551127,551455,551456,551461,551462,551467,551468,551507,551508,551512,551513,551519,551520,551702,551703,551730,551731,552146,552147,552206,552207,552284,552285,552291,552292,552297,552298,553332,553333,553370,553371,555306,555307,555313,555314,555323,555324,555465,555466,555499,555500,555522,555523,555767,555768,555794,555795,555830,555831,555836,555837,555843,555844,555860,555861,555863,555864,555868,555869,556087,556088,556105,556106,556558,556559,556706,556707,556727,556728,556763,556764,556784,556785,556798,556799,556939,556940,557026,557027,557033,557034,557044,557045,557051,557052,557054,557056,557057,557563,558998,558999,559124,559125,559608,559609,559869,559870,560137,560138,560239,560240,560273,560274,560362,560363,560373,560374,560628,560629,560723,560724,560823,560824,561136,561137,561174,561175,561179,561180,561479,561480,561588,561589,561621,561622,561674,561675,561678,561679,561682,561683,561689,561690,561895,561896,561916,561917,561958,561959,561971,561972,561976,561977,562162,562163,562166,562167,562171,562172,562176,562177,562180,562181,562185,562186,562191,562192,562195,562196,562199,562200,562203,562204,562207,562208,562211,562212,562215,562216,562219,562220,562223,562224,562227,562228,562232,562233,562236,562237,562240,562241,562243,562244,562246,562247,562249,562250,562267,562268,562273,562274,562334,562335,562343,562344,562384,562385,562398,562399,562403,562404,562413,562414,562420,562421,562431,562432,562437,562438,562500,562501,562522,562523,562528,562529,562541,562542,562548,562549,562744,562745,562793,562794,563024,563025,563029,563030,563036,563037,563173,563174,563181,563182,563188,563189,563193,563194,563312,563313,563316,563317,563374,563375,563391,563392,563406,563407,563560,563561,563564,563565,563574,563575,563673,563674,563679,563680,563701,563702,564631,564632,564845,564846,565057,565058,565652,565653,566074,566075,566084,566085,566108,566109,566152,566153,566185,566186,566232,566233,566333,566334,566352,566353,566363,566364,566384,566385,566450,566451,566495,566496,566502,566503,566506,566507,566511,566512,566613,566614,566617,566618,566723,566724,566737,566738,566786,566787,566806,566807,566811,566812,566842,566843,566856,566857,566890,566891,566925,566926,566932,566933,566975,566976,566979,566980,566983,566984,567002,567003,567007,567008,567027,567028,567073,567074,567133,567134,567143,567144,567445,567446,567583,567584,567608,567609,567635,567636,567838,567839,567850,567851,567860,567861,567864,567865,567903,567904,567914,567915,567949,567950,567981,567982,567985,567986,567990,567991,568021,568022,568045,568046,568050,568051,568078,568079,568114,568115,568135,568136,568139,568140,568149,568150,568158,568159,568167,568168,568170,568171,568271,568272,568350,568351,568361,568362,568365,568366,568401,568402,568414,568415,568431,568432,568434,568435,568439,568440,568449,568450,568461,568462,568474,568475,568479,568480,568492,568493,568516,568517,568524,568525,568533,568534,568712,568713,569480,569481,569524,569525,569528,569529,569536,569537,569567,569568,569571,569572,569631,569632,569640,569641,569682,569683,569710,569711,569777,569778,569790,569791,569870,569871,572106,572107,572110,572111,572134,572135,572168,572169,572179,572180,573609,573610,573623,573624,573678,573679,573688,573689,573753,573754,573757,573758,573763,573764,573770,573771,573774,573775,573778,573779,574034,574035,574071,574072,574091,574092,574095,574096,574104,574105,574120,574121,574139,574140,574161,574162,574165,574166,574186,574187,574199,574200,574203,574204,574235,574236,574239,574240,574245,574246,574272,574273,574345,574346,574428,574429,574436,574437,574443,574444,574449,574450,574475,574476,574516,574517,574521,574522,574613,574614,574624,574625,574630,574631,574645,574646,574649,574650,574655,574656,576268,576269,576275,576276,576311,576312,576320,576321,576415,576416,576430,576431,576452,576453,576477,576478,576486,576487,576494,576495,576775,576776,576778,576779,576841,576842,576845,576846,577392,577393,577415,577416,577427,577428,577431,577432,577477,577478,577481,577482,577529,577530,577595,577596,577752,577753,577934,577935,577990,577991,578029,578030,578081,578082,578214,578215,578348,578349,578357,578358,578404,578405,578412,578413,578429,578430,578575,578576,578597,578598,578641,578642,578684,578685,578733,578734,578741,578742,578749,578750,578758,578759,578892,578893,579064,579065,579127,579128,579133,579134,579137,579138,579143,579144,579282,579283,579286,579287,579291,579292,579295,579296,579307,579308,579460,579461,579515,579516,579519,579520,579523,579524,579537,579538,579545,579546,579554,579555,579559,579560,579577,579578,579595,579596,579626,579627,579657,579658,579661,579662,579667,579668,579702,579703,579764,579765,580313,580314,580567,580568,580602,580603,580651,580652,580683,580684,580687,580688,580976,580977,580980,580981,580985,580986,580994,580995,581003,581004,581275,581276,581294,581295,581298,581299,581359,581360,581446,581447,581517,581518,581539,581540,581546,581547,581555,581556,581899,581900,581925,581926,581933,581934,581935,581936,581943,581944,581968,581969,581975,581976,581979,581980,581984,581985,581998,581999,582005,582006,582009,582010,582022,582023,582027,582028,582033,582034,582039,582040,582041,582042,582043,582044,582045,582046,582050,582051,582058,582059,582072,582073,582386,582387,582393,582394,582417,582418,582442,582443,582456,582457,582470,582471,582476,582477,582500,582501,582531,582532,582541,582542,582572,582573,582577,582578,582579,582580,582582,582583,582585,582586,582589,582590,582593,582594,582596,582597,582601,582602,582605,582606,582610,582611,582613,582614,582626,582627,582630,582631,582634,582635,582638,582639,582649,582650,582653,582654,582657,582658,582666,582667,582672,582673,582678,582679,582681,582682,582685,582686,582692,582693,582696,582697,582699,582700,582704,582705,582708,582709,582710,582711,583091,583092,583158,583159,583217,583218,583251,583252,583300,583301,583321,583322,583435,583436,583538,583539,583604,583605,583649,583650,583709,583710,583789,583790,583908,583909,584184,584185,584242,584243,584452,584453,584563,584564,584631,584632,585077,585078,585109,585110,585162,585163,585219,585220,585275,585276,585308,585309,585337,585338,585379,585380,585420,585421,585628,585629,585630,585631,585633,585634,585646,585647,585649,585650,585655,585656,585661,585662,585667,585668,585686,585687,585693,585694,585707,585708,585722,585723,585730,585731,585733,585734,585736,585737,585739,585740,585742,585743,585745,585746,585749,585750,585774,585775,585777,585778,585781,585782,585784,585785,585828,585829,585830,585831,585953,585954,586221,586222,586346,586347,586475,586476,586708,586709,586773,586774,586976,586977,587124,587125,587263,587264,587549,587550,587551,587552,587553,587554,587555,587556,587557,587558,587577,587578,587579,587580,587583,587584,587585,587586,587600,587601,587610,587611,587612,587613,587614,587615,587639,587640,587679,587680,587681,587682,587695,587696,587697,587698,587719,587720,587721,587722,587767,587768,587769,587770,587771,587772,587773,587774,587775,587776,587777,587778,587779,587780,587781,587782,587783,587784,587785,587786,587787,587788,587789,587790,587791,587792,587793,587794,587795,587796,587797,587798,587799,587800,587801,587802,587803,587804,587805,587806,587807,587808,587809,587810,587812,587813,587814,587815,587816,587817,587818,587819,587820,587821,587822,587823,587824,587825,587826,587827,587828,587829,587830,587831,587832,587833,587834,587835,587836,587837,587838,587839,587840,587841,587842,587843,587844,587845,587846,587847,587848,587849,587850,587851,587852,587853,587854,587855,587856,587857,587858,587859,587860,587861,587862,587863,587865,587866,587867,587868,587869,587870,587871,587872,587873,587874,587875,587876,587878,587879,587880,587881,587882,587883,587891,587892,587893,587894,587900,587901,587902,587903,587904,587905,587909,587910,587912,587913,587914,587915,587919,587920,587922,587923,587924,587925,587929,587930,587931,587932,587955,587956,587979,587980,588014,588015,588051,588052,588081,588082,588083,588084,588130,588131,588179,588180,588246,588247,588281,588282,588318,588319,588350,588351,588374,588375,588379,588380,588403,588404,588427,588428,588462,588463,588498,588499,588519,588520,588525,588526,588547,588548,588565,588566,588573,588574,588620,588621,588669,588670,588736,588737,588771,588772,588807,588808,588842,588843,588865,588866,588867,588868,588973,588974,588975,588976,588977,588978,588988,588989,588990,588991,588992,588993,589011,589012,589013,589014,589015,589016,589056,589057,589058,589059,589060,589061,589062,589063,589064,589065,589077,589078,589081,589082,589099,589100,589109,589110,589212,589213,589369,589370,589382,589383,589668,589669,589686,589687,589694,589695,589696,589697,589698,589699,589700,589701,589713,589714,589717,589718,589735,589736,589745,589746,589758,589759,589776,589777,589784,589785,589786,589787,589789,589790,589792,589793,589794,589795,589796,589797,589798,589799,589801,589802,589803,589804,589805,589806,589809,589810,589813,589814,589816,589817,589818,589819,589820,589821,589822,589824,589825,590331,591543,591544,591646,591647,591803,591804,593016,593017,593302,593303,593304,593305,593306,593307,593308,593309,593310,593311,593312,593313,593314,593315,593316,593317,593318,593319,593320,593321,593323,593324,593326,593327,593328,593329,593332,593333,593336,593337,593338,593339,593340,593341,593342,593343,593345,593346,593353,593354,593355,593356,593360,593361,593362,593363,593365,593366,593368,593369,593372,593373,593374,593375,593376,593377,593378,593379,593381,593382,593384,593385,593386,593387,593388,593389,593390,593391,593393,593394,593395,593396,593398,593399,593401,593402,593404,593405,593406,593407,593408,593409,593411,593412,593413,593414,593415,593416,593417,593418,593419,593420,593421,593422,593423,593424,593425,593426,593427,593428,593430,593431,593434,593435,593438,593439,593440,593441,593443,593444,593446,593447,593448,593449,593450,593451,593452,593453,593454,593455,593457,593458,593460,593461,593462,593463,593464,593465,593467,593468,593470,593471,593473,593474,593476,593477,593479,593480,593481,593482,593485,593486,593489,593490,593492,593493,593495,593496,593497,593498,593746,593747,593864,593865,594088,594089,594326,594327,594328,594329,594330,594331,594635,594636,594637,594638,594639,594640,595307,595308,595309,595310,595658,595659,595660,595661,595662,595663,596100,596101,596102,596103,596729,596730,596731,596732,596733,596734,601327,601328,601329,601330,601371,601372,601373,601374,601375,601376,601386,601387,601388,601389,601393,601394,601395,601396,601397,601398,601657,601658,601659,601660,614410,614411,614412,614413,614414,614415,620581,620582,620583,620584,620586,620587,620588,620589,620590,620591,620871,620872,620873,620874,622303,622304,622305,622306,622307,622308,622309,622310,622345,622346,622347,622348,622349,622350,622351,622352,622355,622356,622357,622358,622359,622360,622374,622375,622376,622377,622405,622406,622407,622408,622409,622410,622419,622420,622421,622422,622423,622424,622425,622426,622427,622428,622429,622430,622431,622432,622433,622434,622573,622574,622575,622576,622577,622578,622579,622580,622582,622583,622584,622585,622586,622587,622588,622589,622590,622592,622593,623099,628243,628244,628731,628732,629269,629270,630972,630973,634066,634067,634387,634388,634456,634457,634823,634824,634825,634826,637576,637577,637578,637579,637587,637588,637589,637590,637591,637592,637703,637704,637705,637706,639410,639411,639412,639413,639414,639415,641430,641431,641432,641433,641476,641477,641478,641479,641480,641481,642427,642428,642429,642430,642432,642433,642434,642435,642439,642440,642441,642442,642443,642444,642445,642446,642447,642448,642461,642462,642463,642464,642481,642482,642483,642484,642485,642486,642891,642892,642893,642894,643107,643108,643109,643110,643111,643112,644172,644173,644174,644175,644256,644257,644258,644259,644260,644261,644597,644598,644599,644600,645151,645152,645153,645154,645155,645156,651340,651341,651342,651343,651863,651864,651865,651866,651867,651868,652556,652557,652558,652559,652564,652565,652566,652567,652568,652569,652609,652610,652611,652612,653023,653024,653025,653026,653027,653028,653327,653328,653329,653330,653455,653456,653457,653458,653459,653460,653859,653860,653861,653862,653867,653868,653869,653870,653874,653875,653876,653877,653878,653879,653891,653892,653893,653894,653899,653900,653901,653902,653903,653904,653905,653906,653907,653908,653914,653915,653916,653917,653918,653919,653929,653930,653931,653932,653935,653936,653937,653938,653939,653940,653950,653951,653952,653953,654075,654076,654077,654078,654079,654080,654404,654405,654406,654407,654408,654409,654410,654411,654412,654413,654425,654426,654427,654428,654429,654430,654494,654495,654496,654497,654498,654499,654500,654501,654502,654503,654759,654760,654761,654762,654763,654764,654765,654766,654767,654768,654769,654770,654771,654772,654773,654774,654775,654776,654777,654778,654822,654823,654824,654825,654826,654827,654833,654834,654835,654836,654966,654967,654968,654969,654970,654971,655158,655159,655160,655161,655177,655178,655179,655180,655181,655182,655341,655342,655343,655344,655345,655346,655347,655348,655349,655350,655351,655352,655353,655354,655355,655356,655357,655360,655361,655867,657605,657606,667625,667626,669681,669682,671567,671568,672865,672866,674129,674130,674962,674963,675961,675962,676769,676770,677564,677565,678412,678413,679077,679078,683505,683506,683521,683522,683568,683569,683570,683571,683601,683602,683603,683604,683605,683606,683768,683769,683770,683771,683954,683955,683956,683957,687157,687158,687159,687160,687161,687162,687163,687164,687165,687166,687167,687168,687169,687170,687765,687766,687767,687768,687769,687770,687771,687772,687773,687774,687775,687776,687777,687778,687779,687780,687781,687782,687783,687784,687785,687786,687969,687970,687971,687972,687973,687974,687975,687976,687977,687978,687979,687980,687981,687982,687983,687984,687985,687986,687987,687988,687990,687991,687992,687993,687994,687995,688056,688057,688058,688059,688079,688080,688081,688082,688083,688084,688085,688086,688087,688088,688089,688090,688091,688092,688093,688094,688095,688096,688097,688098,688099,688100,688101,688102,688103,688104,688105,688106,688107,688108,688109,688110,688111,688112,688114,688115,688116,688117,688118,688119,688120,688121,688122,688123,688124,688125,688126,688128,688129,688635,690160,690161,695120,695121,702284,702285,703307,703308,709683,709684,710633,710634,712323,712324,714391,714392,716071,716072,717350,717351,718594,718595,718662,718663,720329,720330,720373,720374,720460,720461,720642,720643,720755,720756,720771,720772,720774,720775,720776,720777,720778,720779,720882,720883,720884,720885,720886,720887,720888,720889,720890,720891,720892,720893,720894,720896,720897,721403,724187,724188,731429,731430,732781,732782,737790,737791,737982,737983,739991,739992,744261,744262,747876,747877,748017,748018,748646,748647,748648,748649,748650,748651,748652,748653,753068,753069,753070,753071,753097,753098,753099,753100,753101,753102,753241,753242,753243,753244,753245,753246,753247,753248,753249,753250,753252,753253,753254,753255,753256,753257,753269,753270,753271,753272,753303,753304,753305,753306,753307,753308,753415,753416,753417,753418,753419,753420,753421,753422,753423,753424,753425,753426,753427,753428,753429,753430,753432,753433,753434,753435,753436,753437,753489,753490,753491,753492,753493,753494,753495,753496,753497,753498,753499,753500,753501,753502,753503,753504,753505,753506,753507,753508,753509,753510,753544,753545,753546,753547,753548,753549,753550,753551,753552,753553,753568,753569,753570,753571,753572,753573,753599,753600,753601,753602,753607,753608,753609,753610,753611,753612,753613,753614,753615,753616,753617,753618,753619,753620,753627,753628,753629,753630,753631,753632,753639,753640,753641,753642,753643,753644,753645,753646,753647,753648,753649,753650,753651,753652,753653,753654,753655,753656,753657,753658,753660,753661,753662,753664,753665,754171,754172,766268,766270,766271,766272,766273,766274,766275,766276,766280,766281,766282,766283,766285,766286,766796,766797,766803,766804,766805,766806,766808,766809,766827,766828,766847,766848,766849,766850,766852,766853,766874,766875,766881,766882,766883,766884,766886,766887,766925,766926,766936,766937,766938,766939,766941,766942,766955,766956,767115,767116,767117,767118,767119,767120,767121,767122,767124,767125,771053,771054,771058,771059,771060,771061,771063,771064,771079,771080,771087,771088,771089,771090,771092,771093,771099,771100,771587,771588,771589,771590,771592,771593,773571,773572,773928,773929,773930,773931,773932,773933,773934,773935,773936,773937,773950,773951,773952,773953,773955,773956,773971,773972,773976,773977,773978,773979,773981,773982,774011,774012,774017,774018,774019,774020,774022,774023,774080,774081,774094,774095,774096,774097,774099,774100,774115,774116,774117,774118,774119,774120,774121,774122,774123,774124,774125,774126,774127,774128,774129,774130,774134,774135,774136,774137,774138,774139,774140,774141,774146,774147,774148,774149,774150,774151,774152,774153,774154,780254,780261,786432") && 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;
if (range_sha1("/dev/block/bootdevice/by-name/vendor", "5240,1,128,129,414,643,644,8836,8838,8839,8840,8841,8842,8843,8844,8845,8846,8847,8848,8849,8850,8854,8855,8859,8860,8864,8865,8869,8870,8874,8875,8879,8880,8884,8885,8888,8889,8890,8891,8892,8893,8894,8895,8899,8900,8904,8905,8909,8910,8916,8917,8918,8919,8920,8921,8922,8923,8927,8928,8929,8930,8932,8933,8950,8951,8954,8955,8956,8957,8958,8959,8963,8964,8965,8966,8968,8969,9003,9004,9009,9010,9011,9012,9014,9015,9021,9022,9033,9034,9035,9036,9038,9039,9089,9090,9099,9100,9101,9102,9104,9105,9122,9123,9124,9125,9126,9127,9142,9143,9147,9148,9152,9153,9157,9158,9162,9163,9167,9168,9172,9173,9177,9178,9182,9183,9187,9188,9197,9198,9204,9205,9208,9209,9210,9211,9212,9213,9219,9220,9221,9222,9224,9225,9231,9232,9237,9238,9239,9240,9242,9243,9250,9251,9252,9253,9254,9255,9259,9260,9264,9265,9269,9270,9274,9275,9279,9280,9284,9285,9335,9336,9339,9340,9341,9342,9343,9344,9356,9357,9369,9370,9371,9372,9384,9385,9397,9398,9399,9400,9401,9402,9403,9404,9408,9409,9413,9414,9418,9419,9423,9424,9428,9429,9433,9434,9438,9439,9443,9444,9448,9449,9453,9454,9460,9461,9462,9463,9952,9953,11041,11042,11066,11067,12990,12991,13368,13369,14088,14089,14984,14985,14986,14987,14999,15000,15012,15013,15014,15015,15016,15017,15018,15019,15023,15024,15028,15029,15033,15034,15038,15039,15043,15044,15048,15049,15053,15054,15058,15059,15063,15064,15068,15069,15073,15074,15078,15079,15083,15084,15090,15091,15092,15093,15098,15099,15100,15101,15103,15104,15119,15120,15131,15132,15133,15134,15136,15137,15172,15173,15216,15217,15218,15219,15221,15222,15405,15406,15411,15412,15413,15414,15416,15417,15428,15429,15434,15435,15444,15445,15446,15447,15448,15449,15450,15451,15453,15454,16033,16034,16039,16040,16041,16042,16044,16045,16075,16076,17232,18819,18820,18821,18822,18823,18824,18825,18826,18899,18900,18921,18922,18964,18965,18966,18967,18968,18969,18970,18971,18974,18975,18976,18977,18983,18984,18985,18986,18987,18988,18990,18991,18993,18994,18995,18996,18997,18998,18999,19000,19001,19002,19003,19004,19006,19007,19013,19014,19019,19020,19095,19096,19099,19100,19105,19106,19107,19108,19109,19110,19111,19112,19113,19114,19115,19116,19117,19118,19119,19120,19121,19122,19123,19124,19125,19126,25255,25256,25257,25258,25259,25260,25276,25277,25290,25291,25714,25715,25772,25773,25775,25776,26237,26238,26906,26907,27635,27636,28202,28203,28240,28241,28266,28267,28404,28405,28416,28417,29442,29443,29660,29661,29662,29663,30125,30126,30127,30128,30129,30130,30131,30132,30133,30134,31684,31685,31695,31696,31715,31716,31717,31718,31719,31720,31721,31722,32673,32674,32675,32676,32677,32678,32679,32680,32681,32682,32683,32684,32685,32686,32687,32688,32715,32716,32717,32718,32750,32751,32752,32753,32754,32755,32766,32768,32770,32897,32898,42336,42351,42352,42379,42380,42401,42402,42429,42430,42457,42458,42485,42486,42507,42508,42535,42536,42557,42558,42585,42586,42607,42608,42635,42636,42657,42658,42666,42667,42688,42689,42710,42711,42732,42733,42754,42755,42782,42783,42810,42811,42838,42839,42866,42867,42894,42895,42922,42923,42941,42942,42957,42958,42973,42974,42989,42990,43005,43006,43021,43022,43037,43038,43053,43054,43069,43070,43085,43086,43101,43102,43117,43118,43133,43134,43149,43150,43165,43166,43193,43194,43215,43216,43243,43244,43271,43272,43299,43300,43321,43322,43349,43350,43371,43372,43399,43400,43421,43422,43449,43450,43471,43472,43499,43500,43508,43509,43530,43531,43558,43559,43586,43587,43614,43615,43642,43643,43661,43662,43677,43678,43693,43694,43709,43710,43725,43726,43741,43742,43757,43758,43773,43774,43789,43790,43805,43806,43821,43822,43837,43838,43865,43866,43887,43888,43915,43916,43943,43944,43971,43972,43993,43994,44021,44022,44043,44044,44071,44072,44093,44094,44121,44122,44143,44144,44171,44172,44193,44194,44202,44203,44224,44225,44246,44247,44268,44269,44296,44297,44318,44319,44340,44341,44368,44369,44396,44397,44424,44425,44452,44453,44471,44472,44487,44488,44503,44504,44519,44520,44535,44536,44551,44552,44567,44568,44583,44584,44599,44600,44615,44616,44631,44632,44647,44648,44675,44676,44697,44698,44725,44726,44753,44754,44781,44782,44803,44804,44831,44832,44853,44854,44881,44882,44903,44904,44931,44932,44953,44954,44981,44982,45003,45004,45012,45013,45034,45035,45056,45057,45078,45079,45106,45107,45128,45129,45150,45151,45178,45179,45206,45207,45234,45235,45262,45263,45284,45285,45312,45313,45334,45335,45356,45357,45384,45385,45406,45407,45428,45429,45456,45457,45484,45485,45512,45513,45540,45541,45568,45569,45596,45597,45615,45616,45631,45632,45647,45648,45663,45664,45679,45680,45695,45696,45711,45712,45727,45728,45743,45744,45771,45772,45793,45794,45821,45822,45843,45844,45871,45872,45893,45894,45921,45922,45943,45944,45971,45972,45980,45981,46002,46003,46024,46025,46046,46047,46074,46075,46102,46103,46121,46122,46137,46138,46153,46154,46169,46170,46185,46186,46201,46202,46217,46218,46233,46234,46249,46250,46277,46278,46299,46300,46327,46328,46349,46350,46377,46378,46399,46400,46427,46428,46449,46450,46477,46478,46505,46506,46533,46534,46552,46553,46568,46569,46584,46585,46600,46601,46616,46617,46632,46633,46648,46649,46664,46665,46680,46681,46708,46709,46730,46731,46758,46759,46780,46781,46808,46809,46830,46831,46858,46859,46880,46881,46908,46909,46930,46931,46939,46940,46961,46962,46983,46984,47005,47006,47033,47034,47061,47062,47083,47084,47111,47112,47139,47140,47167,47168,47195,47196,47214,47215,47230,47231,47246,47247,47262,47263,47278,47279,47294,47295,47310,47311,47326,47327,47342,47343,47370,47371,47392,47393,47420,47421,47442,47443,47470,47471,47492,47493,47520,47521,47542,47543,47570,47571,47579,47580,47601,47602,47623,47624,47645,47646,47673,47674,47701,47702,47720,47721,47736,47737,47752,47753,47768,47769,47784,47785,47800,47801,47816,47817,47832,47833,47848,47849,47876,47877,47898,47899,47926,47927,47948,47949,47976,47977,47998,47999,48026,48027,48048,48049,48076,48077,48098,48099,48107,48108,48129,48130,48151,48152,48173,48174,48201,48202,48229,48230,48238,48239,48260,48261,48282,48283,48304,48305,48332,48333,48360,48361,48388,48389,48416,48417,48435,48436,48451,48452,48467,48468,48483,48484,48499,48500,48515,48516,48531,48532,48547,48548,48563,48564,48579,48580,48607,48608,48635,48636,48663,48664,48691,48692,48713,48714,48741,48742,48763,48764,48791,48792,48813,48814,48841,48842,48863,48864,48872,48873,48894,48895,48916,48917,48938,48939,48960,48961,48982,48983,49010,49011,49038,49039,49066,49067,49094,49095,49122,49123,49150,49151,49178,49179,49206,49207,49225,49226,49241,49242,49257,49258,49273,49274,49289,49290,49305,49306,49321,49322,49337,49338,49353,49354,49369,49370,49385,49386,49407,49408,49435,49436,49463,49464,49491,49492,49513,49514,49541,49542,49563,49564,49591,49592,49613,49614,49641,49642,49650,49651,49672,49673,49700,49701,49728,49729,49750,49751,49772,49773,49800,49801,49828,49829,49850,49851,49872,49873,49900,49901,49928,49929,49956,49957,49984,49985,50012,50013,50031,50032,50047,50048,50063,50064,50079,50080,50095,50096,50111,50112,50127,50128,50143,50144,50159,50160,50175,50176,50191,50192,50207,50208,50223,50224,50251,50252,50273,50274,50301,50302,50329,50330,50357,50358,50385,50386,50413,50414,50441,50442,50469,50470,50488,50489,50504,50505,50520,50521,50536,50537,50552,50553,50568,50569,50584,50585,50600,50601,50616,50617,50632,50633,50648,50649,50664,50665,50680,50681,50708,50709,50730,50731,50758,50759,50786,50787,50814,50815,50842,50843,50870,50871,50892,50893,50920,50921,50942,50943,50970,50971,50992,50993,51020,51021,51029,51030,51051,51052,51073,51074,51095,51096,51117,51118,51139,51140,51167,51168,51195,51196,51217,51218,51245,51246,51267,51268,51295,51296,51317,51318,51345,51346,51354,51355,51376,51377,51398,51399,51420,51421,51442,51443,51464,51465,51483,51484,51499,51500,51515,51516,51531,51532,51547,51548,51563,51564,51579,51580,51595,51596,51623,51624,51651,51652,51679,51680,51707,51708,51735,51736,51763,51764,51772,51773,51794,51795,51816,51817,51844,51845,51872,51873,51891,51892,51907,51908,51923,51924,51939,51940,51955,51956,51971,51972,51987,51988,52003,52004,52019,52020,52035,52036,52051,52052,52079,52080,52107,52108,52135,52136,52163,52164,52185,52186,52213,52214,52235,52236,52263,52264,52285,52286,52313,52314,52335,52336,52363,52364,52385,52386,52394,52395,52416,52417,52438,52439,52460,52461,52482,52483,52504,52505,52532,52533,52560,52561,52579,52580,52595,52596,52611,52612,52627,52628,52643,52644,52659,52660,52675,52676,52691,52692,52707,52708,52723,52724,52739,52740,52767,52768,52789,52790,52817,52818,52839,52840,52867,52868,52889,52890,52917,52918,52939,52940,52967,52968,52989,52990,52998,52999,53020,53021,53039,53040,53055,53056,53071,53072,53087,53088,53103,53104,53119,53120,53135,53136,53151,53152,53167,53168,53183,53184,53199,53200,53227,53228,53249,53250,53277,53278,53299,53300,53327,53328,53349,53350,53377,53378,53399,53400,53427,53428,53449,53450,53458,53459,53480,53481,53502,53503,53524,53525,53552,53553,53580,53581,53602,53603,53624,53625,53652,53653,53680,53681,53699,53700,53715,53716,53731,53732,53747,53748,53763,53764,53779,53780,53795,53796,53811,53812,53827,53828,53843,53844,53859,53860,53887,53888,53909,53910,53937,53938,53959,53960,53987,53988,54009,54010,54037,54038,54059,54060,54087,54088,54109,54110,54118,54119,54140,54141,54162,54163,54184,54185,54212,54213,54240,54241,54268,54269,54296,54297,54315,54316,54331,54332,54347,54348,54363,54364,54379,54380,54395,54396,54411,54412,54433,54434,54455,54456,54464,54465,54486,54487,54508,54509,54536,54537,54564,54565,54583,54584,54599,54600,54615,54616,54631,54632,54647,54648,54663,54664,54679,54680,54695,54696,54717,54718,54739,54740,54767,54768,54789,54790,54817,54818,54839,54840,54867,54868,54889,54890,54898,54899,54920,54921,54942,54943,54970,54971,54998,54999,55026,55027,55054,55055,55082,55083,55110,55111,55138,55139,55157,55158,55173,55174,55189,55190,55205,55206,55221,55222,55237,55238,55253,55254,55269,55270,55285,55286,55301,55302,55317,55318,55339,55340,55358,55359,55374,55375,55390,55391,55406,55407,55422,55423,55438,55439,55454,55455,55470,55471,55486,55487,55502,55503,55518,55519,55540,55541,55562,55563,55584,55585,55606,55607,55628,55629,55637,55638,55659,55660,55681,55682,55703,55704,55725,55726,55747,55748,55769,55770,55778,55779,55800,55801,55822,55823,55844,55845,55872,55873,55900,55901,55919,55920,55935,55936,55951,55952,55967,55968,55983,55984,56005,56006,56014,56015,56036,56037,56058,56059,56086,56087,56114,56115,56142,56143,56170,56171,56198,56199,56226,56227,56254,56255,56273,56274,56289,56290,56305,56306,56321,56322,56337,56338,56353,56354,56369,56370,56385,56386,56401,56402,56417,56418,56439,56440,56461,56462,56483,56484,56505,56506,56527,56528,56536,56537,56558,56559,56580,56581,56608,56609,56636,56637,56664,56665,56692,56693,56720,56721,56748,56749,56776,56777,56795,56796,56811,56812,56827,56828,56843,56844,56859,56860,56875,56876,56891,56892,56907,56908,56923,56924,56939,56940,56961,56962,56983,56984,57005,57006,57027,57028,57049,57050,57058,57059,57080,57081,57102,57103,57130,57131,57158,57159,57177,57178,57193,57194,57209,57210,57225,57226,57241,57242,57257,57258,57273,57274,57289,57290,57305,57306,57321,57322,57337,57338,57365,57366,57387,57388,57415,57416,57437,57438,57465,57466,57487,57488,57515,57516,57537,57538,57565,57566,57587,57588,57596,57597,57618,57619,57640,57641,57662,57663,57690,57691,57718,57719,57746,57747,57774,57775,57793,57794,57809,57810,57825,57826,57841,57842,57857,57858,57873,57874,57889,57890,57917,57918,57945,57946,57967,57968,57995,57996,58004,58005,58026,58027,58048,58049,58070,58071,58092,58093,58120,58121,58148,58149,58167,58168,58183,58184,58199,58200,58215,58216,58231,58232,58247,58248,58263,58264,58279,58280,58307,58308,58329,58330,58357,58358,58376,58377,58392,58393,58408,58409,58424,58425,58440,58441,58456,58457,58472,58473,58488,58489,58516,58517,58538,58539,58566,58567,58588,58589,58616,58617,58638,58639,58666,58667,58688,58689,58716,58717,58738,58739,58747,58748,58769,58770,58791,58792,58819,58820,58847,58848,58869,58870,58897,58898,58919,58920,58947,58948,58969,58970,58997,58998,59016,59017,59032,59033,59048,59049,59064,59065,59080,59081,59096,59097,59112,59113,59128,59129,59156,59157,59178,59179,59206,59207,59228,59229,59256,59257,59278,59279,59306,59307,59328,59329,59356,59357,59365,59366,59387,59388,59409,59410,59437,59438,59465,59466,59474,59475,59496,59497,59518,59519,59546,59547,59574,59575,59593,59594,59612,59613,59628,59629,59644,59645,59660,59661,59676,59677,59692,59693,59708,59709,59724,59725,59740,59741,59756,59757,59772,59773,59788,59789,59804,59805,59820,59821,59836,59837,59864,59865,59892,59893,59914,59915,59936,59937,59964,59965,59992,59993,60014,60015,60036,60037,60064,60065,60092,60093,60114,60115,60136,60137,60164,60165,60192,60193,60214,60215,60236,60237,60264,60265,60292,60293,60314,60315,60336,60337,60345,60346,60354,60355,60376,60377,60398,60399,60420,60421,60442,60443,60470,60471,60498,60499,60526,60527,60554,60555,60582,60583,60610,60611,60638,60639,60666,60667,60685,60686,60701,60702,60717,60718,60733,60734,60749,60750,60765,60766,60781,60782,60797,60798,60813,60814,60829,60830,60845,60846,60873,60874,60895,60896,60923,60924,60945,60946,60973,60974,60995,60996,61023,61024,61045,61046,61073,61074,61095,61096,61104,61105,61126,61127,61148,61149,61170,61171,61198,61199,61226,61227,61254,61255,61282,61283,61301,61302,61317,61318,61333,61334,61349,61350,61365,61366,61381,61382,61397,61398,61425,61426,61453,61454,61481,61482,61503,61504,61525,61526,61534,61535,61556,61557,61578,61579,61600,61601,61622,61623,61650,61651,61678,61679,61706,61707,61734,61735,61753,61754,61769,61770,61785,61786,61801,61802,61817,61818,61833,61834,61842,61843,61864,61865,61886,61887,61914,61915,61942,61943,61970,61971,61998,61999,62026,62027,62045,62046,62061,62062,62077,62078,62093,62094,62109,62110,62125,62126,62141,62142,62157,62158,62173,62174,62189,62190,62205,62206,62227,62228,62249,62250,62271,62272,62293,62294,62315,62316,62324,62325,62346,62347,62368,62369,62390,62391,62418,62419,62446,62447,62465,62466,62481,62482,62497,62498,62513,62514,62529,62530,62545,62546,62561,62562,62577,62578,62593,62594,62609,62610,62625,62626,62641,62642,62669,62670,62697,62698,62713,62714,62729,62730,62745,62746,62761,62762,62783,62784,62811,62812,62833,62834,62855,62856,62883,62884,62911,62912,62939,62940,62948,62949,62970,62971,62992,62993,63014,63015,63036,63037,63064,63065,63083,63084,63099,63100,63115,63116,63131,63132,63147,63148,63163,63164,63179,63180,63195,63196,63211,63212,63227,63228,63243,63244,63259,63260,63287,63288,63315,63316,63331,63332,63347,63348,63363,63364,63379,63380,63401,63402,63429,63430,63451,63452,63473,63474,63501,63502,63529,63530,63557,63558,63566,63567,63588,63589,63610,63611,63632,63633,63654,63655,63682,63683,63710,63711,63732,63733,63751,63752,63767,63768,63783,63784,63799,63800,63815,63816,63831,63832,63847,63848,63863,63864,63879,63880,63895,63896,63923,63924,63945,63946,63973,63974,63995,63996,64023,64024,64045,64046,64073,64074,64095,64096,64123,64124,64145,64146,64173,64174,64182,64183,64204,64205,64226,64227,64248,64249,64276,64277,64304,64305,64332,64333,64360,64361,64382,64383,64401,64402,64417,64418,64433,64434,64449,64450,64465,64466,64481,64482,64497,64498,64513,64514,64529,64530,64545,64546,64573,64574,64595,64596,64623,64624,64645,64646,64673,64674,64695,64696,64723,64724,64745,64746,64773,64774,64795,64796,64823,64824,64832,64833,64854,64855,64876,64877,64898,64899,64926,64927,64954,64955,64982,64983,65001,65002,65017,65018,65033,65034,65049,65050,65065,65066,65081,65082,65097,65098,65113,65114,65129,65130,65145,65146,65161,65162,65177,65178,65193,65194,65221,65222,65243,65244,65271,65272,65287,65288,65303,65304,65319,65320,65335,65336,65357,65358,65385,65386,65407,65408,65429,65430,65457,65458,65479,65480,65507,65508,65529,65530,65534,65536,65537,66050,66108,66109,66138,66139,66150,66151,66153,66154,66161,66162,66165,66166,66169,66170,66188,66189,66418,66419,66650,66651,66706,66707,66764,66765,66779,66780,66786,66787,67305,67306,67334,67335,67342,67343,67629,67630,67632,67633,67637,67638,67645,67646,67896,67897,68145,68146,68155,68156,68223,68224,68230,68231,68244,68245,68293,68294,68299,68300,68306,68307,68328,68329,68379,68380,68443,68444,68456,68457,68604,68605,68647,68648,68691,68692,68694,68695,68703,68704,68708,68709,68719,68720,68724,68725,68754,68755,68948,68949,68958,68959,68962,68963,68967,68968,68995,68996,69010,69011,69019,69020,69026,69027,69032,69033,69038,69039,69044,69045,69052,69053,69060,69061,69066,69067,69072,69073,69079,69080,69087,69088,69091,69092,69098,69099,69104,69105,69110,69111,69126,69127,69132,69133,69142,69143,69149,69150,69156,69157,69162,69163,69170,69171,69177,69178,69181,69182,69188,69189,69200,69201,69206,69207,69280,69281,69282,69283,69345,69346,69411,69412,69482,69483,69484,69485,69587,69588,69744,69745,69755,69756,69757,69758,69963,69964,69965,69966,69972,98304,98306,98433,98434,111218,111240,111241,111255,111256,111305,111306,112542,112543,112560,112561,112702,112703,112778,112779,112780,112781,112791,112792,112799,112800,112805,112806,112819,112820,112846,112847,113571,113572,113614,113615,113629,113630,113678,113679,113691,113692,113813,113814,113899,113900,113941,113942,113980,113981,114010,114011,114030,114031,114039,114040,114224,114225,114368,114369,114379,114380,114396,114397,114406,114407,114547,114548,114554,114555,114584,114585,114590,114591,114609,114610,114621,114622,114656,114657,114899,114900,114906,114907,114912,114913,114919,114920,114924,114925,114929,114930,114967,114968,114986,114987,114994,114995,115009,115010,115053,115054,115063,115064,115073,115074,115078,115079,115084,115085,115098,115099,115103,115104,115108,115109,115121,115122,115139,115140,115154,115155,115171,115172,115186,115187,115201,115202,115218,115219,115235,115236,115276,115277,115296,115297,115338,115339,115375,115376,115390,115391,115408,115409,115415,115416,115423,115424,115473,115474,115479,115480,115485,115486,115500,115501,115515,115516,115521,115522,115526,115527,115532,115533,115537,115538,115542,115543,115584,115585,116391,116392,117508,117509,117526,117527,118098,118099,118104,118105,118110,118111,118136,118137,118142,118143,118150,118151,118157,118158,118164,118165,118171,118172,118178,118179,118185,118186,118192,118193,118199,118200,118206,118207,118213,118214,118220,118221,118227,118228,118234,118235,118241,118242,118248,118249,118255,118256,118262,118263,118269,118270,118276,118277,118283,118284,118290,118291,118297,118298,118305,118306,118313,118314,118320,118321,118326,118327,118331,118332,118338,118339,118363,118364,118369,118370,119645,119646,126493,126494,127544,127545,128602,128603,128638,128639,128645,128646,128652,128653,128713,128714,128718,128719,128723,128724,128934,128935,128954,128955,128960,128961,129145,129146,129326,129327,129514,129515,129670,130333,130357,130358,130766,130767,130785,130786,130801,130802,130810,130811,130832,130833,130860,130861,130888,130889,130916,130917,130935,130936,130951,130952,130967,130968,130983,130984,130999,131000,131015,131016,131031,131032,131047,131048,131063,131064,131069,131072,131073,163840,163842,163969,163970,164483,164510,164511,164532,164533,164560,164561,164582,164583,164591,164592,164613,164614,164635,164636,164657,164658,164679,164680,164707,164708,164735,164736,164763,164764,164791,164792,164819,164820,164838,164839,164854,164855,164870,164871,164886,164887,164902,164903,164918,164919,164934,164935,164950,164951,164966,164967,164982,164983,165010,165011,165038,165039,165060,165061,165088,165089,165110,165111,165138,165139,165160,165161,165188,165189,165197,165198,165219,165220,165241,165242,165263,165264,165285,165286,165313,165314,165341,165342,165369,165370,165397,165398,165416,165417,165432,165433,165448,165449,165464,165465,165480,165481,165496,165497,165512,165513,165528,165529,165544,165545,165560,165561,165588,165589,165616,165617,165638,165639,165666,165667,165688,165689,165716,165717,165738,165739,165766,165767,165775,165776,165797,165798,165819,165820,165841,165842,165863,165864,165891,165892,165919,165920,165938,165939,165954,165955,165970,165971,165986,165987,166002,166003,166018,166019,166034,166035,166050,166051,166066,166067,166094,166095,166116,166117,166144,166145,166172,166173,166200,166201,166222,166223,166250,166251,166272,166273,166300,166301,166322,166323,166350,166351,166359,166360,166381,166382,166403,166404,166425,166426,166453,166454,166481,166482,166509,166510,166537,166538,166565,166566,166593,166594,166621,166622,166640,166641,166656,166657,166672,166673,166688,166689,166704,166705,166720,166721,166736,166737,166752,166753,166768,166769,166784,166785,166800,166801,166822,166823,166844,166845,166866,166867,166888,166889,166910,166911,166919,166920,166941,166942,166963,166964,166985,166986,167013,167014,167041,167042,167069,167070,167097,167098,167125,167126,167153,167154,167181,167182,167200,167201,167216,167217,167232,167233,167248,167249,167264,167265,167280,167281,167296,167297,167312,167313,167328,167329,167344,167345,167360,167361,167382,167383,167404,167405,167426,167427,167448,167449,167470,167471,167479,167480,167501,167502,167523,167524,167545,167546,167573,167574,167601,167602,167629,167630,167657,167658,167685,167686,167713,167714,167741,167742,167760,167761,167776,167777,167792,167793,167808,167809,167824,167825,167840,167841,167856,167857,167872,167873,167888,167889,167904,167905,167920,167921,167942,167943,167964,167965,167986,167987,168008,168009,168030,168031,168039,168040,168061,168062,168083,168084,168105,168106,168133,168134,168161,168162,168189,168190,168217,168218,168245,168246,168273,168274,168301,168302,168320,168321,168336,168337,168352,168353,168368,168369,168384,168385,168400,168401,168416,168417,168432,168433,168448,168449,168464,168465,168480,168481,168502,168503,168524,168525,168546,168547,168568,168569,168590,168591,168599,168600,168621,168622,168643,168644,168665,168666,168693,168694,168721,168722,168821,168822,168886,168887,168894,168895,168907,168908,168913,168914,168920,168921,168975,168976,169004,169005,169059,169060,169075,169076,169085,169086,169135,169136,169171,169172,169182,169183,169198,169199,169206,169207,169212,169213,169219,169220,169230,169231,169344,169345,169364,169365,170359,170360,170365,170366,170372,170373,170384,170385,170390,170391,170396,170397,170467,170468,172140,172141,172148,172149,172428,172429,172434,172435,172453,172454,172459,172460,172467,172468,172474,172475,172484,172485,172497,172498,172509,172510,172528,172529,172616,172617,172672,172673,172700,172701,172767,172768,172775,172776,172790,172791,172796,172797,172819,172820,172826,172827,172833,172834,172842,172843,172872,172873,172938,172939,172972,172973,173005,173006,173040,173041,173045,173046,173078,173079,173084,173085,173117,173118,173151,173152,173157,173158,173191,173192,173201,173202,173210,173211,173220,173221,173240,173241,173263,173264,173553,173554,176132,176133,181867,181868,184085,184086,184093,184094,184114,184115,184223,184224,184250,184251,184304,184305,184335,184336,184361,184362,184375,184376,184382,184383,184407,184408,184418,184419,184656,184657,190394,190395,190403,190404,190414,190415,190423,190424,190433,190434,190457,190458,190480,190481,190572,190573,190578,190579,190645,190646,190796,190797,190813,190814,190906,190907,190943,190944,190950,190951,190958,190959,190977,190978,191127,191128,191439,191440,191454,191455,191507,191508,191652,191653,191660,191661,191670,191671,191689,191690,191734,191735,191740,191741,191936,191937,191947,191948,191952,191953,191963,191964,191972,191973,191977,191978,191986,191987,191993,191994,192002,192003,192308,192309,192636,192637,192698,192699,192703,192704,192709,192710,192862,192863,192870,192871,192879,192880,193076,193077,193273,193274,193470,193471,193482,193483,193493,193494,193690,193691,193700,193701,193898,193899,194096,194097,194293,194294,194490,194491,194687,194688,194885,194886,194896,194897,195093,195094,195105,195106,195118,195119,195126,195127,195140,195141,195148,195149,195156,195157,195164,195165,195174,195175,195182,195183,195192,195193,195199,195200,195206,195207,195213,195214,195220,195221,195229,195230,195236,195237,195243,195244,195250,195251,195257,195258,195265,195266,195273,195274,195284,195285,195295,195296,195306,195307,195319,195320,195326,195327,195338,195339,195348,195349,195356,195357,195364,195365,195372,195373,195382,195383,195404,195405,195415,195416,195424,195425,195437,195438,195446,195447,195456,195457,195464,195465,195477,195478,195490,195491,195503,195504,195514,195515,195522,195523,195537,195538,195548,195549,195559,195560,195565,195566,195576,195577,195586,195587,195596,195597,195607,195608,195613,195614,195810,195811,196007,196008,196203,196204,196399,196400,196595,196596,196605,196608,196609,229376,229378,229505,229506,230019,230214,230215,230411,230412,230607,230608,230803,230804,230999,231000,231195,231196,231391,231392,231587,231588,231783,231784,231790,231791,231812,231813,231833,231834,231841,231842,231854,231855,231864,231865,231874,231875,231881,231882,231891,231892,232087,232088,232283,232284,232479,232480,232675,232676,232871,232872,233068,233069,233264,233265,233461,233462,233657,233658,233853,233854,234049,234050,234059,234060,234070,234071,234078,234079,234089,234090,234099,234100,234109,234110,234119,234120,234126,234127,234136,234137,234146,234147,234156,234157,234167,234168,234177,234178,234187,234188,234198,234199,234208,234209,234215,234216,234226,234227,234234,234235,234242,234243,234249,234250,234259,234260,234269,234270,234285,234286,235095,235096,235292,235293,235302,235303,235499,235500,235509,235510,235706,235707,235718,235719,235915,235916,235927,235928,236123,236124,236133,236134,236329,236330,236341,236342,236537,236538,236549,236550,236745,236746,236755,236756,236951,236952,236961,236962,237157,237158,237167,237168,237190,237191,237238,237239,237248,237249,237270,237271,237523,237524,237566,237567,237585,237586,237603,237604,237616,237617,237623,237624,237629,237630,237636,237637,237642,237643,237841,237842,237844,237845,237851,237852,237883,237884,237954,237955,238025,238026,238670,238671,239026,239027,239032,239033,239038,239039,239053,239054,239058,239059,239065,239066,239072,239073,239094,239095,239127,239128,239151,239152,239158,239159,239208,239209,239220,239221,239227,239228,239238,239239,239241,239242,239250,239251,239257,239258,239285,239286,239305,239306,239343,239344,239386,239387,239402,239403,239411,239412,239429,239430,239447,239448,239453,239454,239459,239460,239464,239465,239470,239471,239476,239477,239490,239491,239522,239523,239526,239527,239563,239564,239576,239577,239592,239593,239597,239598,239600,239601,242100,242101,242103,242104,242108,242109,242114,242115,242121,242122,242130,242131,242200,242201,242203,242204,242234,242235,242240,242241,242317,242318,242323,242324,242331,242332,242337,242338,243166,243167,243172,243173,243260,243261,243266,243267,243351,243352,243430,243431,243522,243523,243537,243538,243609,243610,243615,243616,243741,243742,243747,243748,243892,243893,243905,243906,244045,244046,244180,244181,244732,244733,245018,245019,245031,245032,245089,245090,245096,245097,245104,245105,245150,245151,245167,245168,245185,245186,245240,245241,245265,245266,245288,245289,245303,245304,245312,245313,245319,245320,245325,245326,245702,245703,245720,245721,245727,245728,245772,245773,245778,245779,245800,245801,245805,245806,245810,245811,245816,245817,245822,245823,245832,245833,245838,245839,245849,245850,245855,245856,246035,246036,246040,246041,246051,246052,246059,246060,246065,246066,246079,246080,246875,246876,247056,247057,247218,247219,247255,247256,247310,247311,247322,247323,247330,247331,247621,247622,247648,247649,247656,247657,247943,247944,247948,247949,247954,247955,247961,247962,247972,247973,248222,248223,248468,248469,248478,248479,248525,248526,248533,248534,248546,248547,248583,248584,248590,248591,248599,248600,248617,248618,248658,248659,248713,248714,248724,248725,248799,248800,248829,248830,248859,248860,248864,248865,248873,248874,248879,248880,248890,248891,248896,248897,248922,248923,249064,249065,249073,249074,249078,249079,249084,249085,249105,249106,249107,249108,249119,249120,249498,249499,249506,249507,249513,249514,249520,249521,249533,249534,249540,249541,249547,249548,249555,249556,249563,249564,249570,249571,249577,249578,249585,249586,249593,249594,249599,249600,249607,249608,249614,249615,249621,249622,249636,249637,249643,249644,249653,249654,249661,249662,249669,249670,249676,249677,249684,249685,249692,249693,249698,249699,249705,249706,249707,249708,249709,249710,249711,249712,249713,249714,249736,249737,249746,249747,249766,249767,249768,249769,249778,249779,249797,249798,249799,249800,249801,249802,249843,249844,249887,249888,250113,250114,250340,250341,250448,250449,250456,250457,250475,250476,250493,250494,250569,250570,250578,250579,250589,250590,250896,250897,251032,251033,251049,251050,251261,251262,251286,251287,251394,251395,252217,252218,252367,252368,252377,252378,252460,252461,252818,252819,252903,252904,252987,252988,252994,252995,253055,253056,253057,253058,253118,253119,253183,253184,253253,253254,253257,253258,253259,253260,253274,253275,253297,253298,253357,253358,255179,255180,255204,255205,255405,255406,255518,255519,255520,255521,255531,255532,255547,255548,255554,255555,255559,255560,255574,255575,255607,255608,256730,256731,256777,256778,256794,256795,256855,256856,256870,256871,257007,257008,257122,257123,257176,257177,257223,257224,257263,257264,257288,257289,257297,257298,257506,257507,257718,257719,257729,257730,257749,257750,257760,257761,257930,257931,257935,257936,257967,257968,257972,257973,257992,257993,258005,258006,258048,258049,258348,258349,258354,258355,258361,258362,258366,258367,258373,258374,258377,258378,258381,258382,258405,258406,258412,258413,258430,258431,258484,258485,258499,258500,258509,258510,258513,258514,258517,258518,258534,258535,258537,258538,258540,258541,258557,258558,258578,258579,258595,258596,258612,258613,258629,258630,258646,258647,258663,258664,258711,258712,258732,258733,258783,258784,258800,258801,258824,258825,258830,258831,258837,258838,258908,258909,258912,258913,258916,258917,258933,258934,258951,258952,258955,258956,258959,258960,258963,258964,258966,258967,258969,258970,259022,259023,260344,260345,260364,260365,260368,260369,260372,260373,260401,260402,260405,260406,260412,260413,260419,260420,260428,260429,260432,260433,260464,260465,260468,260469,260514,260515,260520,260521,260526,260527,260605,260606,260608,260609,260947,260948,260969,260970,260973,260974,261171,261172,261364,261365,261564,261565,261770,261771,261802,261803,261939,261940,262031,262032,262035,262036,262042,262043,262055,262056,262061,262062,262137,262138,262142,262144,262145,294912,294914,295041,295042,295555,296289,296290,297057,297058,297093,297094,297150,297151,297168,297169,297178,297179,297242,297243,297287,297288,297299,297300,297306,297307,297312,297313,297440,297441,297463,297464,299014,299015,299028,299029,299033,299034,299038,299039,299120,299121,300805,300806,300812,300813,300831,300832,300836,300837,300843,300844,300848,300849,300858,300859,300871,300872,300883,300884,300908,300909,301005,301006,301087,301088,301120,301121,301214,301215,301222,301223,301239,301240,301243,301244,301274,301275,301280,301281,301285,301286,301293,301294,301332,301333,301420,301421,301463,301464,301506,301507,301542,301543,301587,301588,301590,301591,301633,301634,301637,301638,301680,301681,301723,301724,301727,301728,301770,301771,301792,301793,301816,301817,302122,302123,305795,305796,313407,313408,316688,316689,316696,316697,316720,316721,316861,316862,316894,316895,316970,316971,317010,317011,317040,317041,317055,317056,317060,317061,317092,317093,317103,317104,317499,317500,317508,317509,317518,317519,317526,317527,317537,317538,317562,317563,317568,317569,317589,317590,317788,317789,317806,317807,317875,317876,317878,317879,317895,317896,318217,318218,318565,318566,318581,318582,318594,318595,318621,318622,318632,318633,318660,318661,319012,319013,319033,319034,319047,319048,319052,319053,319056,319057,319062,319063,319066,319067,319304,319305,319338,319339,319904,319905,319909,319910,319914,319915,319932,319933,319936,319937,319940,319941,319946,319947,319953,319954,319986,319987,320016,320017,320134,320135,320140,320141,320205,320206,320219,320220,320226,320227,320238,320239,320241,320242,320250,320251,320257,320258,320292,320293,320309,320310,320318,320319,320336,320337,320354,320355,320358,320359,320362,320363,320365,320366,320369,320370,320374,320375,320389,320390,320433,320434,320447,320448,320463,320464,320467,320468,323056,323057,323060,323061,323063,323064,323067,323068,323073,323074,323081,323082,323159,323160,323162,323163,323204,323205,323209,323210,323311,323312,323317,323318,323329,323330,323333,323334,324191,324192,324196,324197,324301,324302,324306,324307,324415,324416,324512,324513,324634,324635,324650,324651,324745,324746,324750,324751,324910,324911,324915,324916,325121,325122,325137,325138,325311,325312,325479,325480,326118,326119,326648,326649,326656,326657,326732,326733,326739,326740,326746,326747,326807,326808,326826,326827,326847,326848,326924,326925,326956,326957,326983,326984,327000,327001,327008,327009,327013,327014,327017,327018,327624,327625,327645,327646,327651,327652,327656,327657,327660,327661,327663,327664,327667,327668,327671,327672,327676,327677,327678,327680,327681,360448,360449,393216,393217,425984,425985,458752,458753,491520,491521") == "b5e8ecc3b4fc621cf68d2be9be3ba649d62aebe7" || block_image_verify("/dev/block/bootdevice/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat")) then
ui_print("Verified vendor image...");
else
check_first_block("/dev/block/bootdevice/by-name/vendor");
ifelse (block_image_recover("/dev/block/bootdevice/by-name/vendor", "5240,1,128,129,414,643,644,8836,8838,8839,8840,8841,8842,8843,8844,8845,8846,8847,8848,8849,8850,8854,8855,8859,8860,8864,8865,8869,8870,8874,8875,8879,8880,8884,8885,8888,8889,8890,8891,8892,8893,8894,8895,8899,8900,8904,8905,8909,8910,8916,8917,8918,8919,8920,8921,8922,8923,8927,8928,8929,8930,8932,8933,8950,8951,8954,8955,8956,8957,8958,8959,8963,8964,8965,8966,8968,8969,9003,9004,9009,9010,9011,9012,9014,9015,9021,9022,9033,9034,9035,9036,9038,9039,9089,9090,9099,9100,9101,9102,9104,9105,9122,9123,9124,9125,9126,9127,9142,9143,9147,9148,9152,9153,9157,9158,9162,9163,9167,9168,9172,9173,9177,9178,9182,9183,9187,9188,9197,9198,9204,9205,9208,9209,9210,9211,9212,9213,9219,9220,9221,9222,9224,9225,9231,9232,9237,9238,9239,9240,9242,9243,9250,9251,9252,9253,9254,9255,9259,9260,9264,9265,9269,9270,9274,9275,9279,9280,9284,9285,9335,9336,9339,9340,9341,9342,9343,9344,9356,9357,9369,9370,9371,9372,9384,9385,9397,9398,9399,9400,9401,9402,9403,9404,9408,9409,9413,9414,9418,9419,9423,9424,9428,9429,9433,9434,9438,9439,9443,9444,9448,9449,9453,9454,9460,9461,9462,9463,9952,9953,11041,11042,11066,11067,12990,12991,13368,13369,14088,14089,14984,14985,14986,14987,14999,15000,15012,15013,15014,15015,15016,15017,15018,15019,15023,15024,15028,15029,15033,15034,15038,15039,15043,15044,15048,15049,15053,15054,15058,15059,15063,15064,15068,15069,15073,15074,15078,15079,15083,15084,15090,15091,15092,15093,15098,15099,15100,15101,15103,15104,15119,15120,15131,15132,15133,15134,15136,15137,15172,15173,15216,15217,15218,15219,15221,15222,15405,15406,15411,15412,15413,15414,15416,15417,15428,15429,15434,15435,15444,15445,15446,15447,15448,15449,15450,15451,15453,15454,16033,16034,16039,16040,16041,16042,16044,16045,16075,16076,17232,18819,18820,18821,18822,18823,18824,18825,18826,18899,18900,18921,18922,18964,18965,18966,18967,18968,18969,18970,18971,18974,18975,18976,18977,18983,18984,18985,18986,18987,18988,18990,18991,18993,18994,18995,18996,18997,18998,18999,19000,19001,19002,19003,19004,19006,19007,19013,19014,19019,19020,19095,19096,19099,19100,19105,19106,19107,19108,19109,19110,19111,19112,19113,19114,19115,19116,19117,19118,19119,19120,19121,19122,19123,19124,19125,19126,25255,25256,25257,25258,25259,25260,25276,25277,25290,25291,25714,25715,25772,25773,25775,25776,26237,26238,26906,26907,27635,27636,28202,28203,28240,28241,28266,28267,28404,28405,28416,28417,29442,29443,29660,29661,29662,29663,30125,30126,30127,30128,30129,30130,30131,30132,30133,30134,31684,31685,31695,31696,31715,31716,31717,31718,31719,31720,31721,31722,32673,32674,32675,32676,32677,32678,32679,32680,32681,32682,32683,32684,32685,32686,32687,32688,32715,32716,32717,32718,32750,32751,32752,32753,32754,32755,32766,32768,32770,32897,32898,42336,42351,42352,42379,42380,42401,42402,42429,42430,42457,42458,42485,42486,42507,42508,42535,42536,42557,42558,42585,42586,42607,42608,42635,42636,42657,42658,42666,42667,42688,42689,42710,42711,42732,42733,42754,42755,42782,42783,42810,42811,42838,42839,42866,42867,42894,42895,42922,42923,42941,42942,42957,42958,42973,42974,42989,42990,43005,43006,43021,43022,43037,43038,43053,43054,43069,43070,43085,43086,43101,43102,43117,43118,43133,43134,43149,43150,43165,43166,43193,43194,43215,43216,43243,43244,43271,43272,43299,43300,43321,43322,43349,43350,43371,43372,43399,43400,43421,43422,43449,43450,43471,43472,43499,43500,43508,43509,43530,43531,43558,43559,43586,43587,43614,43615,43642,43643,43661,43662,43677,43678,43693,43694,43709,43710,43725,43726,43741,43742,43757,43758,43773,43774,43789,43790,43805,43806,43821,43822,43837,43838,43865,43866,43887,43888,43915,43916,43943,43944,43971,43972,43993,43994,44021,44022,44043,44044,44071,44072,44093,44094,44121,44122,44143,44144,44171,44172,44193,44194,44202,44203,44224,44225,44246,44247,44268,44269,44296,44297,44318,44319,44340,44341,44368,44369,44396,44397,44424,44425,44452,44453,44471,44472,44487,44488,44503,44504,44519,44520,44535,44536,44551,44552,44567,44568,44583,44584,44599,44600,44615,44616,44631,44632,44647,44648,44675,44676,44697,44698,44725,44726,44753,44754,44781,44782,44803,44804,44831,44832,44853,44854,44881,44882,44903,44904,44931,44932,44953,44954,44981,44982,45003,45004,45012,45013,45034,45035,45056,45057,45078,45079,45106,45107,45128,45129,45150,45151,45178,45179,45206,45207,45234,45235,45262,45263,45284,45285,45312,45313,45334,45335,45356,45357,45384,45385,45406,45407,45428,45429,45456,45457,45484,45485,45512,45513,45540,45541,45568,45569,45596,45597,45615,45616,45631,45632,45647,45648,45663,45664,45679,45680,45695,45696,45711,45712,45727,45728,45743,45744,45771,45772,45793,45794,45821,45822,45843,45844,45871,45872,45893,45894,45921,45922,45943,45944,45971,45972,45980,45981,46002,46003,46024,46025,46046,46047,46074,46075,46102,46103,46121,46122,46137,46138,46153,46154,46169,46170,46185,46186,46201,46202,46217,46218,46233,46234,46249,46250,46277,46278,46299,46300,46327,46328,46349,46350,46377,46378,46399,46400,46427,46428,46449,46450,46477,46478,46505,46506,46533,46534,46552,46553,46568,46569,46584,46585,46600,46601,46616,46617,46632,46633,46648,46649,46664,46665,46680,46681,46708,46709,46730,46731,46758,46759,46780,46781,46808,46809,46830,46831,46858,46859,46880,46881,46908,46909,46930,46931,46939,46940,46961,46962,46983,46984,47005,47006,47033,47034,47061,47062,47083,47084,47111,47112,47139,47140,47167,47168,47195,47196,47214,47215,47230,47231,47246,47247,47262,47263,47278,47279,47294,47295,47310,47311,47326,47327,47342,47343,47370,47371,47392,47393,47420,47421,47442,47443,47470,47471,47492,47493,47520,47521,47542,47543,47570,47571,47579,47580,47601,47602,47623,47624,47645,47646,47673,47674,47701,47702,47720,47721,47736,47737,47752,47753,47768,47769,47784,47785,47800,47801,47816,47817,47832,47833,47848,47849,47876,47877,47898,47899,47926,47927,47948,47949,47976,47977,47998,47999,48026,48027,48048,48049,48076,48077,48098,48099,48107,48108,48129,48130,48151,48152,48173,48174,48201,48202,48229,48230,48238,48239,48260,48261,48282,48283,48304,48305,48332,48333,48360,48361,48388,48389,48416,48417,48435,48436,48451,48452,48467,48468,48483,48484,48499,48500,48515,48516,48531,48532,48547,48548,48563,48564,48579,48580,48607,48608,48635,48636,48663,48664,48691,48692,48713,48714,48741,48742,48763,48764,48791,48792,48813,48814,48841,48842,48863,48864,48872,48873,48894,48895,48916,48917,48938,48939,48960,48961,48982,48983,49010,49011,49038,49039,49066,49067,49094,49095,49122,49123,49150,49151,49178,49179,49206,49207,49225,49226,49241,49242,49257,49258,49273,49274,49289,49290,49305,49306,49321,49322,49337,49338,49353,49354,49369,49370,49385,49386,49407,49408,49435,49436,49463,49464,49491,49492,49513,49514,49541,49542,49563,49564,49591,49592,49613,49614,49641,49642,49650,49651,49672,49673,49700,49701,49728,49729,49750,49751,49772,49773,49800,49801,49828,49829,49850,49851,49872,49873,49900,49901,49928,49929,49956,49957,49984,49985,50012,50013,50031,50032,50047,50048,50063,50064,50079,50080,50095,50096,50111,50112,50127,50128,50143,50144,50159,50160,50175,50176,50191,50192,50207,50208,50223,50224,50251,50252,50273,50274,50301,50302,50329,50330,50357,50358,50385,50386,50413,50414,50441,50442,50469,50470,50488,50489,50504,50505,50520,50521,50536,50537,50552,50553,50568,50569,50584,50585,50600,50601,50616,50617,50632,50633,50648,50649,50664,50665,50680,50681,50708,50709,50730,50731,50758,50759,50786,50787,50814,50815,50842,50843,50870,50871,50892,50893,50920,50921,50942,50943,50970,50971,50992,50993,51020,51021,51029,51030,51051,51052,51073,51074,51095,51096,51117,51118,51139,51140,51167,51168,51195,51196,51217,51218,51245,51246,51267,51268,51295,51296,51317,51318,51345,51346,51354,51355,51376,51377,51398,51399,51420,51421,51442,51443,51464,51465,51483,51484,51499,51500,51515,51516,51531,51532,51547,51548,51563,51564,51579,51580,51595,51596,51623,51624,51651,51652,51679,51680,51707,51708,51735,51736,51763,51764,51772,51773,51794,51795,51816,51817,51844,51845,51872,51873,51891,51892,51907,51908,51923,51924,51939,51940,51955,51956,51971,51972,51987,51988,52003,52004,52019,52020,52035,52036,52051,52052,52079,52080,52107,52108,52135,52136,52163,52164,52185,52186,52213,52214,52235,52236,52263,52264,52285,52286,52313,52314,52335,52336,52363,52364,52385,52386,52394,52395,52416,52417,52438,52439,52460,52461,52482,52483,52504,52505,52532,52533,52560,52561,52579,52580,52595,52596,52611,52612,52627,52628,52643,52644,52659,52660,52675,52676,52691,52692,52707,52708,52723,52724,52739,52740,52767,52768,52789,52790,52817,52818,52839,52840,52867,52868,52889,52890,52917,52918,52939,52940,52967,52968,52989,52990,52998,52999,53020,53021,53039,53040,53055,53056,53071,53072,53087,53088,53103,53104,53119,53120,53135,53136,53151,53152,53167,53168,53183,53184,53199,53200,53227,53228,53249,53250,53277,53278,53299,53300,53327,53328,53349,53350,53377,53378,53399,53400,53427,53428,53449,53450,53458,53459,53480,53481,53502,53503,53524,53525,53552,53553,53580,53581,53602,53603,53624,53625,53652,53653,53680,53681,53699,53700,53715,53716,53731,53732,53747,53748,53763,53764,53779,53780,53795,53796,53811,53812,53827,53828,53843,53844,53859,53860,53887,53888,53909,53910,53937,53938,53959,53960,53987,53988,54009,54010,54037,54038,54059,54060,54087,54088,54109,54110,54118,54119,54140,54141,54162,54163,54184,54185,54212,54213,54240,54241,54268,54269,54296,54297,54315,54316,54331,54332,54347,54348,54363,54364,54379,54380,54395,54396,54411,54412,54433,54434,54455,54456,54464,54465,54486,54487,54508,54509,54536,54537,54564,54565,54583,54584,54599,54600,54615,54616,54631,54632,54647,54648,54663,54664,54679,54680,54695,54696,54717,54718,54739,54740,54767,54768,54789,54790,54817,54818,54839,54840,54867,54868,54889,54890,54898,54899,54920,54921,54942,54943,54970,54971,54998,54999,55026,55027,55054,55055,55082,55083,55110,55111,55138,55139,55157,55158,55173,55174,55189,55190,55205,55206,55221,55222,55237,55238,55253,55254,55269,55270,55285,55286,55301,55302,55317,55318,55339,55340,55358,55359,55374,55375,55390,55391,55406,55407,55422,55423,55438,55439,55454,55455,55470,55471,55486,55487,55502,55503,55518,55519,55540,55541,55562,55563,55584,55585,55606,55607,55628,55629,55637,55638,55659,55660,55681,55682,55703,55704,55725,55726,55747,55748,55769,55770,55778,55779,55800,55801,55822,55823,55844,55845,55872,55873,55900,55901,55919,55920,55935,55936,55951,55952,55967,55968,55983,55984,56005,56006,56014,56015,56036,56037,56058,56059,56086,56087,56114,56115,56142,56143,56170,56171,56198,56199,56226,56227,56254,56255,56273,56274,56289,56290,56305,56306,56321,56322,56337,56338,56353,56354,56369,56370,56385,56386,56401,56402,56417,56418,56439,56440,56461,56462,56483,56484,56505,56506,56527,56528,56536,56537,56558,56559,56580,56581,56608,56609,56636,56637,56664,56665,56692,56693,56720,56721,56748,56749,56776,56777,56795,56796,56811,56812,56827,56828,56843,56844,56859,56860,56875,56876,56891,56892,56907,56908,56923,56924,56939,56940,56961,56962,56983,56984,57005,57006,57027,57028,57049,57050,57058,57059,57080,57081,57102,57103,57130,57131,57158,57159,57177,57178,57193,57194,57209,57210,57225,57226,57241,57242,57257,57258,57273,57274,57289,57290,57305,57306,57321,57322,57337,57338,57365,57366,57387,57388,57415,57416,57437,57438,57465,57466,57487,57488,57515,57516,57537,57538,57565,57566,57587,57588,57596,57597,57618,57619,57640,57641,57662,57663,57690,57691,57718,57719,57746,57747,57774,57775,57793,57794,57809,57810,57825,57826,57841,57842,57857,57858,57873,57874,57889,57890,57917,57918,57945,57946,57967,57968,57995,57996,58004,58005,58026,58027,58048,58049,58070,58071,58092,58093,58120,58121,58148,58149,58167,58168,58183,58184,58199,58200,58215,58216,58231,58232,58247,58248,58263,58264,58279,58280,58307,58308,58329,58330,58357,58358,58376,58377,58392,58393,58408,58409,58424,58425,58440,58441,58456,58457,58472,58473,58488,58489,58516,58517,58538,58539,58566,58567,58588,58589,58616,58617,58638,58639,58666,58667,58688,58689,58716,58717,58738,58739,58747,58748,58769,58770,58791,58792,58819,58820,58847,58848,58869,58870,58897,58898,58919,58920,58947,58948,58969,58970,58997,58998,59016,59017,59032,59033,59048,59049,59064,59065,59080,59081,59096,59097,59112,59113,59128,59129,59156,59157,59178,59179,59206,59207,59228,59229,59256,59257,59278,59279,59306,59307,59328,59329,59356,59357,59365,59366,59387,59388,59409,59410,59437,59438,59465,59466,59474,59475,59496,59497,59518,59519,59546,59547,59574,59575,59593,59594,59612,59613,59628,59629,59644,59645,59660,59661,59676,59677,59692,59693,59708,59709,59724,59725,59740,59741,59756,59757,59772,59773,59788,59789,59804,59805,59820,59821,59836,59837,59864,59865,59892,59893,59914,59915,59936,59937,59964,59965,59992,59993,60014,60015,60036,60037,60064,60065,60092,60093,60114,60115,60136,60137,60164,60165,60192,60193,60214,60215,60236,60237,60264,60265,60292,60293,60314,60315,60336,60337,60345,60346,60354,60355,60376,60377,60398,60399,60420,60421,60442,60443,60470,60471,60498,60499,60526,60527,60554,60555,60582,60583,60610,60611,60638,60639,60666,60667,60685,60686,60701,60702,60717,60718,60733,60734,60749,60750,60765,60766,60781,60782,60797,60798,60813,60814,60829,60830,60845,60846,60873,60874,60895,60896,60923,60924,60945,60946,60973,60974,60995,60996,61023,61024,61045,61046,61073,61074,61095,61096,61104,61105,61126,61127,61148,61149,61170,61171,61198,61199,61226,61227,61254,61255,61282,61283,61301,61302,61317,61318,61333,61334,61349,61350,61365,61366,61381,61382,61397,61398,61425,61426,61453,61454,61481,61482,61503,61504,61525,61526,61534,61535,61556,61557,61578,61579,61600,61601,61622,61623,61650,61651,61678,61679,61706,61707,61734,61735,61753,61754,61769,61770,61785,61786,61801,61802,61817,61818,61833,61834,61842,61843,61864,61865,61886,61887,61914,61915,61942,61943,61970,61971,61998,61999,62026,62027,62045,62046,62061,62062,62077,62078,62093,62094,62109,62110,62125,62126,62141,62142,62157,62158,62173,62174,62189,62190,62205,62206,62227,62228,62249,62250,62271,62272,62293,62294,62315,62316,62324,62325,62346,62347,62368,62369,62390,62391,62418,62419,62446,62447,62465,62466,62481,62482,62497,62498,62513,62514,62529,62530,62545,62546,62561,62562,62577,62578,62593,62594,62609,62610,62625,62626,62641,62642,62669,62670,62697,62698,62713,62714,62729,62730,62745,62746,62761,62762,62783,62784,62811,62812,62833,62834,62855,62856,62883,62884,62911,62912,62939,62940,62948,62949,62970,62971,62992,62993,63014,63015,63036,63037,63064,63065,63083,63084,63099,63100,63115,63116,63131,63132,63147,63148,63163,63164,63179,63180,63195,63196,63211,63212,63227,63228,63243,63244,63259,63260,63287,63288,63315,63316,63331,63332,63347,63348,63363,63364,63379,63380,63401,63402,63429,63430,63451,63452,63473,63474,63501,63502,63529,63530,63557,63558,63566,63567,63588,63589,63610,63611,63632,63633,63654,63655,63682,63683,63710,63711,63732,63733,63751,63752,63767,63768,63783,63784,63799,63800,63815,63816,63831,63832,63847,63848,63863,63864,63879,63880,63895,63896,63923,63924,63945,63946,63973,63974,63995,63996,64023,64024,64045,64046,64073,64074,64095,64096,64123,64124,64145,64146,64173,64174,64182,64183,64204,64205,64226,64227,64248,64249,64276,64277,64304,64305,64332,64333,64360,64361,64382,64383,64401,64402,64417,64418,64433,64434,64449,64450,64465,64466,64481,64482,64497,64498,64513,64514,64529,64530,64545,64546,64573,64574,64595,64596,64623,64624,64645,64646,64673,64674,64695,64696,64723,64724,64745,64746,64773,64774,64795,64796,64823,64824,64832,64833,64854,64855,64876,64877,64898,64899,64926,64927,64954,64955,64982,64983,65001,65002,65017,65018,65033,65034,65049,65050,65065,65066,65081,65082,65097,65098,65113,65114,65129,65130,65145,65146,65161,65162,65177,65178,65193,65194,65221,65222,65243,65244,65271,65272,65287,65288,65303,65304,65319,65320,65335,65336,65357,65358,65385,65386,65407,65408,65429,65430,65457,65458,65479,65480,65507,65508,65529,65530,65534,65536,65537,66050,66108,66109,66138,66139,66150,66151,66153,66154,66161,66162,66165,66166,66169,66170,66188,66189,66418,66419,66650,66651,66706,66707,66764,66765,66779,66780,66786,66787,67305,67306,67334,67335,67342,67343,67629,67630,67632,67633,67637,67638,67645,67646,67896,67897,68145,68146,68155,68156,68223,68224,68230,68231,68244,68245,68293,68294,68299,68300,68306,68307,68328,68329,68379,68380,68443,68444,68456,68457,68604,68605,68647,68648,68691,68692,68694,68695,68703,68704,68708,68709,68719,68720,68724,68725,68754,68755,68948,68949,68958,68959,68962,68963,68967,68968,68995,68996,69010,69011,69019,69020,69026,69027,69032,69033,69038,69039,69044,69045,69052,69053,69060,69061,69066,69067,69072,69073,69079,69080,69087,69088,69091,69092,69098,69099,69104,69105,69110,69111,69126,69127,69132,69133,69142,69143,69149,69150,69156,69157,69162,69163,69170,69171,69177,69178,69181,69182,69188,69189,69200,69201,69206,69207,69280,69281,69282,69283,69345,69346,69411,69412,69482,69483,69484,69485,69587,69588,69744,69745,69755,69756,69757,69758,69963,69964,69965,69966,69972,98304,98306,98433,98434,111218,111240,111241,111255,111256,111305,111306,112542,112543,112560,112561,112702,112703,112778,112779,112780,112781,112791,112792,112799,112800,112805,112806,112819,112820,112846,112847,113571,113572,113614,113615,113629,113630,113678,113679,113691,113692,113813,113814,113899,113900,113941,113942,113980,113981,114010,114011,114030,114031,114039,114040,114224,114225,114368,114369,114379,114380,114396,114397,114406,114407,114547,114548,114554,114555,114584,114585,114590,114591,114609,114610,114621,114622,114656,114657,114899,114900,114906,114907,114912,114913,114919,114920,114924,114925,114929,114930,114967,114968,114986,114987,114994,114995,115009,115010,115053,115054,115063,115064,115073,115074,115078,115079,115084,115085,115098,115099,115103,115104,115108,115109,115121,115122,115139,115140,115154,115155,115171,115172,115186,115187,115201,115202,115218,115219,115235,115236,115276,115277,115296,115297,115338,115339,115375,115376,115390,115391,115408,115409,115415,115416,115423,115424,115473,115474,115479,115480,115485,115486,115500,115501,115515,115516,115521,115522,115526,115527,115532,115533,115537,115538,115542,115543,115584,115585,116391,116392,117508,117509,117526,117527,118098,118099,118104,118105,118110,118111,118136,118137,118142,118143,118150,118151,118157,118158,118164,118165,118171,118172,118178,118179,118185,118186,118192,118193,118199,118200,118206,118207,118213,118214,118220,118221,118227,118228,118234,118235,118241,118242,118248,118249,118255,118256,118262,118263,118269,118270,118276,118277,118283,118284,118290,118291,118297,118298,118305,118306,118313,118314,118320,118321,118326,118327,118331,118332,118338,118339,118363,118364,118369,118370,119645,119646,126493,126494,127544,127545,128602,128603,128638,128639,128645,128646,128652,128653,128713,128714,128718,128719,128723,128724,128934,128935,128954,128955,128960,128961,129145,129146,129326,129327,129514,129515,129670,130333,130357,130358,130766,130767,130785,130786,130801,130802,130810,130811,130832,130833,130860,130861,130888,130889,130916,130917,130935,130936,130951,130952,130967,130968,130983,130984,130999,131000,131015,131016,131031,131032,131047,131048,131063,131064,131069,131072,131073,163840,163842,163969,163970,164483,164510,164511,164532,164533,164560,164561,164582,164583,164591,164592,164613,164614,164635,164636,164657,164658,164679,164680,164707,164708,164735,164736,164763,164764,164791,164792,164819,164820,164838,164839,164854,164855,164870,164871,164886,164887,164902,164903,164918,164919,164934,164935,164950,164951,164966,164967,164982,164983,165010,165011,165038,165039,165060,165061,165088,165089,165110,165111,165138,165139,165160,165161,165188,165189,165197,165198,165219,165220,165241,165242,165263,165264,165285,165286,165313,165314,165341,165342,165369,165370,165397,165398,165416,165417,165432,165433,165448,165449,165464,165465,165480,165481,165496,165497,165512,165513,165528,165529,165544,165545,165560,165561,165588,165589,165616,165617,165638,165639,165666,165667,165688,165689,165716,165717,165738,165739,165766,165767,165775,165776,165797,165798,165819,165820,165841,165842,165863,165864,165891,165892,165919,165920,165938,165939,165954,165955,165970,165971,165986,165987,166002,166003,166018,166019,166034,166035,166050,166051,166066,166067,166094,166095,166116,166117,166144,166145,166172,166173,166200,166201,166222,166223,166250,166251,166272,166273,166300,166301,166322,166323,166350,166351,166359,166360,166381,166382,166403,166404,166425,166426,166453,166454,166481,166482,166509,166510,166537,166538,166565,166566,166593,166594,166621,166622,166640,166641,166656,166657,166672,166673,166688,166689,166704,166705,166720,166721,166736,166737,166752,166753,166768,166769,166784,166785,166800,166801,166822,166823,166844,166845,166866,166867,166888,166889,166910,166911,166919,166920,166941,166942,166963,166964,166985,166986,167013,167014,167041,167042,167069,167070,167097,167098,167125,167126,167153,167154,167181,167182,167200,167201,167216,167217,167232,167233,167248,167249,167264,167265,167280,167281,167296,167297,167312,167313,167328,167329,167344,167345,167360,167361,167382,167383,167404,167405,167426,167427,167448,167449,167470,167471,167479,167480,167501,167502,167523,167524,167545,167546,167573,167574,167601,167602,167629,167630,167657,167658,167685,167686,167713,167714,167741,167742,167760,167761,167776,167777,167792,167793,167808,167809,167824,167825,167840,167841,167856,167857,167872,167873,167888,167889,167904,167905,167920,167921,167942,167943,167964,167965,167986,167987,168008,168009,168030,168031,168039,168040,168061,168062,168083,168084,168105,168106,168133,168134,168161,168162,168189,168190,168217,168218,168245,168246,168273,168274,168301,168302,168320,168321,168336,168337,168352,168353,168368,168369,168384,168385,168400,168401,168416,168417,168432,168433,168448,168449,168464,168465,168480,168481,168502,168503,168524,168525,168546,168547,168568,168569,168590,168591,168599,168600,168621,168622,168643,168644,168665,168666,168693,168694,168721,168722,168821,168822,168886,168887,168894,168895,168907,168908,168913,168914,168920,168921,168975,168976,169004,169005,169059,169060,169075,169076,169085,169086,169135,169136,169171,169172,169182,169183,169198,169199,169206,169207,169212,169213,169219,169220,169230,169231,169344,169345,169364,169365,170359,170360,170365,170366,170372,170373,170384,170385,170390,170391,170396,170397,170467,170468,172140,172141,172148,172149,172428,172429,172434,172435,172453,172454,172459,172460,172467,172468,172474,172475,172484,172485,172497,172498,172509,172510,172528,172529,172616,172617,172672,172673,172700,172701,172767,172768,172775,172776,172790,172791,172796,172797,172819,172820,172826,172827,172833,172834,172842,172843,172872,172873,172938,172939,172972,172973,173005,173006,173040,173041,173045,173046,173078,173079,173084,173085,173117,173118,173151,173152,173157,173158,173191,173192,173201,173202,173210,173211,173220,173221,173240,173241,173263,173264,173553,173554,176132,176133,181867,181868,184085,184086,184093,184094,184114,184115,184223,184224,184250,184251,184304,184305,184335,184336,184361,184362,184375,184376,184382,184383,184407,184408,184418,184419,184656,184657,190394,190395,190403,190404,190414,190415,190423,190424,190433,190434,190457,190458,190480,190481,190572,190573,190578,190579,190645,190646,190796,190797,190813,190814,190906,190907,190943,190944,190950,190951,190958,190959,190977,190978,191127,191128,191439,191440,191454,191455,191507,191508,191652,191653,191660,191661,191670,191671,191689,191690,191734,191735,191740,191741,191936,191937,191947,191948,191952,191953,191963,191964,191972,191973,191977,191978,191986,191987,191993,191994,192002,192003,192308,192309,192636,192637,192698,192699,192703,192704,192709,192710,192862,192863,192870,192871,192879,192880,193076,193077,193273,193274,193470,193471,193482,193483,193493,193494,193690,193691,193700,193701,193898,193899,194096,194097,194293,194294,194490,194491,194687,194688,194885,194886,194896,194897,195093,195094,195105,195106,195118,195119,195126,195127,195140,195141,195148,195149,195156,195157,195164,195165,195174,195175,195182,195183,195192,195193,195199,195200,195206,195207,195213,195214,195220,195221,195229,195230,195236,195237,195243,195244,195250,195251,195257,195258,195265,195266,195273,195274,195284,195285,195295,195296,195306,195307,195319,195320,195326,195327,195338,195339,195348,195349,195356,195357,195364,195365,195372,195373,195382,195383,195404,195405,195415,195416,195424,195425,195437,195438,195446,195447,195456,195457,195464,195465,195477,195478,195490,195491,195503,195504,195514,195515,195522,195523,195537,195538,195548,195549,195559,195560,195565,195566,195576,195577,195586,195587,195596,195597,195607,195608,195613,195614,195810,195811,196007,196008,196203,196204,196399,196400,196595,196596,196605,196608,196609,229376,229378,229505,229506,230019,230214,230215,230411,230412,230607,230608,230803,230804,230999,231000,231195,231196,231391,231392,231587,231588,231783,231784,231790,231791,231812,231813,231833,231834,231841,231842,231854,231855,231864,231865,231874,231875,231881,231882,231891,231892,232087,232088,232283,232284,232479,232480,232675,232676,232871,232872,233068,233069,233264,233265,233461,233462,233657,233658,233853,233854,234049,234050,234059,234060,234070,234071,234078,234079,234089,234090,234099,234100,234109,234110,234119,234120,234126,234127,234136,234137,234146,234147,234156,234157,234167,234168,234177,234178,234187,234188,234198,234199,234208,234209,234215,234216,234226,234227,234234,234235,234242,234243,234249,234250,234259,234260,234269,234270,234285,234286,235095,235096,235292,235293,235302,235303,235499,235500,235509,235510,235706,235707,235718,235719,235915,235916,235927,235928,236123,236124,236133,236134,236329,236330,236341,236342,236537,236538,236549,236550,236745,236746,236755,236756,236951,236952,236961,236962,237157,237158,237167,237168,237190,237191,237238,237239,237248,237249,237270,237271,237523,237524,237566,237567,237585,237586,237603,237604,237616,237617,237623,237624,237629,237630,237636,237637,237642,237643,237841,237842,237844,237845,237851,237852,237883,237884,237954,237955,238025,238026,238670,238671,239026,239027,239032,239033,239038,239039,239053,239054,239058,239059,239065,239066,239072,239073,239094,239095,239127,239128,239151,239152,239158,239159,239208,239209,239220,239221,239227,239228,239238,239239,239241,239242,239250,239251,239257,239258,239285,239286,239305,239306,239343,239344,239386,239387,239402,239403,239411,239412,239429,239430,239447,239448,239453,239454,239459,239460,239464,239465,239470,239471,239476,239477,239490,239491,239522,239523,239526,239527,239563,239564,239576,239577,239592,239593,239597,239598,239600,239601,242100,242101,242103,242104,242108,242109,242114,242115,242121,242122,242130,242131,242200,242201,242203,242204,242234,242235,242240,242241,242317,242318,242323,242324,242331,242332,242337,242338,243166,243167,243172,243173,243260,243261,243266,243267,243351,243352,243430,243431,243522,243523,243537,243538,243609,243610,243615,243616,243741,243742,243747,243748,243892,243893,243905,243906,244045,244046,244180,244181,244732,244733,245018,245019,245031,245032,245089,245090,245096,245097,245104,245105,245150,245151,245167,245168,245185,245186,245240,245241,245265,245266,245288,245289,245303,245304,245312,245313,245319,245320,245325,245326,245702,245703,245720,245721,245727,245728,245772,245773,245778,245779,245800,245801,245805,245806,245810,245811,245816,245817,245822,245823,245832,245833,245838,245839,245849,245850,245855,245856,246035,246036,246040,246041,246051,246052,246059,246060,246065,246066,246079,246080,246875,246876,247056,247057,247218,247219,247255,247256,247310,247311,247322,247323,247330,247331,247621,247622,247648,247649,247656,247657,247943,247944,247948,247949,247954,247955,247961,247962,247972,247973,248222,248223,248468,248469,248478,248479,248525,248526,248533,248534,248546,248547,248583,248584,248590,248591,248599,248600,248617,248618,248658,248659,248713,248714,248724,248725,248799,248800,248829,248830,248859,248860,248864,248865,248873,248874,248879,248880,248890,248891,248896,248897,248922,248923,249064,249065,249073,249074,249078,249079,249084,249085,249105,249106,249107,249108,249119,249120,249498,249499,249506,249507,249513,249514,249520,249521,249533,249534,249540,249541,249547,249548,249555,249556,249563,249564,249570,249571,249577,249578,249585,249586,249593,249594,249599,249600,249607,249608,249614,249615,249621,249622,249636,249637,249643,249644,249653,249654,249661,249662,249669,249670,249676,249677,249684,249685,249692,249693,249698,249699,249705,249706,249707,249708,249709,249710,249711,249712,249713,249714,249736,249737,249746,249747,249766,249767,249768,249769,249778,249779,249797,249798,249799,249800,249801,249802,249843,249844,249887,249888,250113,250114,250340,250341,250448,250449,250456,250457,250475,250476,250493,250494,250569,250570,250578,250579,250589,250590,250896,250897,251032,251033,251049,251050,251261,251262,251286,251287,251394,251395,252217,252218,252367,252368,252377,252378,252460,252461,252818,252819,252903,252904,252987,252988,252994,252995,253055,253056,253057,253058,253118,253119,253183,253184,253253,253254,253257,253258,253259,253260,253274,253275,253297,253298,253357,253358,255179,255180,255204,255205,255405,255406,255518,255519,255520,255521,255531,255532,255547,255548,255554,255555,255559,255560,255574,255575,255607,255608,256730,256731,256777,256778,256794,256795,256855,256856,256870,256871,257007,257008,257122,257123,257176,257177,257223,257224,257263,257264,257288,257289,257297,257298,257506,257507,257718,257719,257729,257730,257749,257750,257760,257761,257930,257931,257935,257936,257967,257968,257972,257973,257992,257993,258005,258006,258048,258049,258348,258349,258354,258355,258361,258362,258366,258367,258373,258374,258377,258378,258381,258382,258405,258406,258412,258413,258430,258431,258484,258485,258499,258500,258509,258510,258513,258514,258517,258518,258534,258535,258537,258538,258540,258541,258557,258558,258578,258579,258595,258596,258612,258613,258629,258630,258646,258647,258663,258664,258711,258712,258732,258733,258783,258784,258800,258801,258824,258825,258830,258831,258837,258838,258908,258909,258912,258913,258916,258917,258933,258934,258951,258952,258955,258956,258959,258960,258963,258964,258966,258967,258969,258970,259022,259023,260344,260345,260364,260365,260368,260369,260372,260373,260401,260402,260405,260406,260412,260413,260419,260420,260428,260429,260432,260433,260464,260465,260468,260469,260514,260515,260520,260521,260526,260527,260605,260606,260608,260609,260947,260948,260969,260970,260973,260974,261171,261172,261364,261365,261564,261565,261770,261771,261802,261803,261939,261940,262031,262032,262035,262036,262042,262043,262055,262056,262061,262062,262137,262138,262142,262144,262145,294912,294914,295041,295042,295555,296289,296290,297057,297058,297093,297094,297150,297151,297168,297169,297178,297179,297242,297243,297287,297288,297299,297300,297306,297307,297312,297313,297440,297441,297463,297464,299014,299015,299028,299029,299033,299034,299038,299039,299120,299121,300805,300806,300812,300813,300831,300832,300836,300837,300843,300844,300848,300849,300858,300859,300871,300872,300883,300884,300908,300909,301005,301006,301087,301088,301120,301121,301214,301215,301222,301223,301239,301240,301243,301244,301274,301275,301280,301281,301285,301286,301293,301294,301332,301333,301420,301421,301463,301464,301506,301507,301542,301543,301587,301588,301590,301591,301633,301634,301637,301638,301680,301681,301723,301724,301727,301728,301770,301771,301792,301793,301816,301817,302122,302123,305795,305796,313407,313408,316688,316689,316696,316697,316720,316721,316861,316862,316894,316895,316970,316971,317010,317011,317040,317041,317055,317056,317060,317061,317092,317093,317103,317104,317499,317500,317508,317509,317518,317519,317526,317527,317537,317538,317562,317563,317568,317569,317589,317590,317788,317789,317806,317807,317875,317876,317878,317879,317895,317896,318217,318218,318565,318566,318581,318582,318594,318595,318621,318622,318632,318633,318660,318661,319012,319013,319033,319034,319047,319048,319052,319053,319056,319057,319062,319063,319066,319067,319304,319305,319338,319339,319904,319905,319909,319910,319914,319915,319932,319933,319936,319937,319940,319941,319946,319947,319953,319954,319986,319987,320016,320017,320134,320135,320140,320141,320205,320206,320219,320220,320226,320227,320238,320239,320241,320242,320250,320251,320257,320258,320292,320293,320309,320310,320318,320319,320336,320337,320354,320355,320358,320359,320362,320363,320365,320366,320369,320370,320374,320375,320389,320390,320433,320434,320447,320448,320463,320464,320467,320468,323056,323057,323060,323061,323063,323064,323067,323068,323073,323074,323081,323082,323159,323160,323162,323163,323204,323205,323209,323210,323311,323312,323317,323318,323329,323330,323333,323334,324191,324192,324196,324197,324301,324302,324306,324307,324415,324416,324512,324513,324634,324635,324650,324651,324745,324746,324750,324751,324910,324911,324915,324916,325121,325122,325137,325138,325311,325312,325479,325480,326118,326119,326648,326649,326656,326657,326732,326733,326739,326740,326746,326747,326807,326808,326826,326827,326847,326848,326924,326925,326956,326957,326983,326984,327000,327001,327008,327009,327013,327014,327017,327018,327624,327625,327645,327646,327651,327652,327656,327657,327660,327661,327663,327664,327667,327668,327671,327672,327676,327677,327678,327680,327681,360448,360449,393216,393217,425984,425985,458752,458753,491520,491521") && block_image_verify("/dev/block/bootdevice/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat"), ui_print("vendor recovered successfully."), abort("E2004: vendor partition fails to recover"));
endif;

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

ui_print("Patching vendor image after verification.");
show_progress(0.100000, 0);
block_image_update("/dev/block/bootdevice/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat") ||
  abort("E2001: Failed to update vendor image.");
ui_print("Patching boot image...");
show_progress(0.100000, 10);
apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:50877770:9b309b5cadea9dc456e322653749f8c094333c08:52458826:07f0e49af9309c357d55f8ac39d795fb608b9852",
            "-", 07f0e49af9309c357d55f8ac39d795fb608b9852, 52458826,
            9b309b5cadea9dc456e322653749f8c094333c08, package_extract_file("patch/boot.img.p")) || abort("E3008: Failed to apply patch \"patch/boot.img.p \".");

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

ui_print("Patching firmware images...");
apply_patch("EMMC:/dev/block/bootdevice/by-name/cmnlib:218088:c05218462335a220b7ef2e4cc7dd1df5ea4ed75c:218088:a03171b066cc988948221d96dc0753fc517c8e08",
            "-", a03171b066cc988948221d96dc0753fc517c8e08, 218088,
            c05218462335a220b7ef2e4cc7dd1df5ea4ed75c, package_extract_file("patch/firmware-update/cmnlib.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/cmnlib.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/rpm:224808:fab822db3f63b12989a308444fb2cb84ebf596c2:224808:7573050e1208a0e3afa016b91881480905eba7e2",
            "-", 7573050e1208a0e3afa016b91881480905eba7e2, 224808,
            fab822db3f63b12989a308444fb2cb84ebf596c2, package_extract_file("patch/firmware-update/rpm.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/rpm.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/devcfg:49068:b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d:49068:17bbfa231f23096effd6adc2293f497f11b404b5",
            "-", 17bbfa231f23096effd6adc2293f497f11b404b5, 49068,
            b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d, package_extract_file("patch/firmware-update/devcfg.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/devcfg.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/keymaster:357392:8ede2ddc7144da4c977893f2c18374275cbf01a2:357392:9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e",
            "-", 9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e, 357392,
            8ede2ddc7144da4c977893f2c18374275cbf01a2, package_extract_file("patch/firmware-update/keymaster.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/keymaster.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/xbl:2565745:5c082db0fcfa8551dd0153e6ff46ea2b29e08de1:2565745:c301e4f0a48875af8cb451a9e822dd9cd80a1ffb",
            "-", c301e4f0a48875af8cb451a9e822dd9cd80a1ffb, 2565745,
            5c082db0fcfa8551dd0153e6ff46ea2b29e08de1, package_extract_file("patch/firmware-update/xbl.elf.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/xbl.elf.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/pmic:39752:ed6ba8c0f517db4fad85fb55ed6b4310ab4debf4:39752:b37aed2abaaad0a8887c6fd59af04582e57d7440",
            "-", b37aed2abaaad0a8887c6fd59af04582e57d7440, 39752,
            ed6ba8c0f517db4fad85fb55ed6b4310ab4debf4, package_extract_file("patch/firmware-update/pmic.elf.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/pmic.elf.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/tz:1957888:26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae:1957888:e5594246cfa1e58ed49446ed2b0e5e08052ab005",
            "-", e5594246cfa1e58ed49446ed2b0e5e08052ab005, 1957888,
            26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae, package_extract_file("patch/firmware-update/tz.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/tz.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/cmnlib64:265912:c6f986a4e54b17a30fd76a5a5d5872d5793a8112:265912:2927d7fe56f2a10ad43b32a43edae47070c94251",
            "-", 2927d7fe56f2a10ad43b32a43edae47070c94251, 265912,
            c6f986a4e54b17a30fd76a5a5d5872d5793a8112, package_extract_file("patch/firmware-update/cmnlib64.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/cmnlib64.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/hyp:266240:5c11c3a21f194c6b820cde64a792d8bd9d069fd1:266240:4d53ab2ae709af0e8217c8b433f21a557fa1f458",
            "-", 4d53ab2ae709af0e8217c8b433f21a557fa1f458, 266240,
            5c11c3a21f194c6b820cde64a792d8bd9d069fd1, package_extract_file("patch/firmware-update/hyp.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/hyp.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/mdtpsecapp:1078856:bd3802c08344c95a1980c148984520d24b82dc70:1078856:f27bbb0bd9c078a71399339ae8b90750c78cd4f8",
            "-", f27bbb0bd9c078a71399339ae8b90750c78cd4f8, 1078856,
            bd3802c08344c95a1980c148984520d24b82dc70, package_extract_file("patch/firmware-update/mdtpsecapp.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/mdtpsecapp.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/abl:110592:0250255b31c7d2a795a51f314b93eaebbf58ac44:110592:fe399761ae1adc8c07fe184edbcfb918c96d82d8",
            "-", fe399761ae1adc8c07fe184edbcfb918c96d82d8, 110592,
            0250255b31c7d2a795a51f314b93eaebbf58ac44, package_extract_file("patch/firmware-update/abl.elf.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/abl.elf.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/cmnlibbak:218088:c05218462335a220b7ef2e4cc7dd1df5ea4ed75c:218088:a03171b066cc988948221d96dc0753fc517c8e08",
            "-", a03171b066cc988948221d96dc0753fc517c8e08, 218088,
            c05218462335a220b7ef2e4cc7dd1df5ea4ed75c, package_extract_file("patch/firmware-update/cmnlib.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/cmnlib.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/rpmbak:224808:fab822db3f63b12989a308444fb2cb84ebf596c2:224808:7573050e1208a0e3afa016b91881480905eba7e2",
            "-", 7573050e1208a0e3afa016b91881480905eba7e2, 224808,
            fab822db3f63b12989a308444fb2cb84ebf596c2, package_extract_file("patch/firmware-update/rpm.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/rpm.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/devcfgbak:49068:b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d:49068:17bbfa231f23096effd6adc2293f497f11b404b5",
            "-", 17bbfa231f23096effd6adc2293f497f11b404b5, 49068,
            b6a94e6e1b2c0564eeffa8ab6e5598cdcbab454d, package_extract_file("patch/firmware-update/devcfg.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/devcfg.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/keymasterbak:357392:8ede2ddc7144da4c977893f2c18374275cbf01a2:357392:9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e",
            "-", 9ba7b8c7f8fdf25d3e57ed03687997231ad5d54e, 357392,
            8ede2ddc7144da4c977893f2c18374275cbf01a2, package_extract_file("patch/firmware-update/keymaster.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/keymaster.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/xblbak:2565745:5c082db0fcfa8551dd0153e6ff46ea2b29e08de1:2565745:c301e4f0a48875af8cb451a9e822dd9cd80a1ffb",
            "-", c301e4f0a48875af8cb451a9e822dd9cd80a1ffb, 2565745,
            5c082db0fcfa8551dd0153e6ff46ea2b29e08de1, package_extract_file("patch/firmware-update/xbl.elf.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/xbl.elf.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/tzbak:1957888:26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae:1957888:e5594246cfa1e58ed49446ed2b0e5e08052ab005",
            "-", e5594246cfa1e58ed49446ed2b0e5e08052ab005, 1957888,
            26ce6196c1a30d67a6c16c2229bdcc37fe4dd3ae, package_extract_file("patch/firmware-update/tz.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/tz.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/cmnlib64bak:265912:c6f986a4e54b17a30fd76a5a5d5872d5793a8112:265912:2927d7fe56f2a10ad43b32a43edae47070c94251",
            "-", 2927d7fe56f2a10ad43b32a43edae47070c94251, 265912,
            c6f986a4e54b17a30fd76a5a5d5872d5793a8112, package_extract_file("patch/firmware-update/cmnlib64.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/cmnlib64.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/hypbak:266240:5c11c3a21f194c6b820cde64a792d8bd9d069fd1:266240:4d53ab2ae709af0e8217c8b433f21a557fa1f458",
            "-", 4d53ab2ae709af0e8217c8b433f21a557fa1f458, 266240,
            5c11c3a21f194c6b820cde64a792d8bd9d069fd1, package_extract_file("patch/firmware-update/hyp.mbn.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/hyp.mbn.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/ablbak:110592:0250255b31c7d2a795a51f314b93eaebbf58ac44:110592:fe399761ae1adc8c07fe184edbcfb918c96d82d8",
            "-", fe399761ae1adc8c07fe184edbcfb918c96d82d8, 110592,
            0250255b31c7d2a795a51f314b93eaebbf58ac44, package_extract_file("patch/firmware-update/abl.elf.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/abl.elf.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/modem:106006016:00863afb80565213d0cf074424b1e9ef7a463254:106038784:f23712d9f79be39f18d3f71351845be3139d913c",
            "-", f23712d9f79be39f18d3f71351845be3139d913c, 106038784,
            00863afb80565213d0cf074424b1e9ef7a463254, package_extract_file("patch/firmware-update/NON-HLOS.bin.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/NON-HLOS.bin.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/bluetooth:536576:24d0ed174c52f0e56ba942b8032571b106767494:536576:7776bfa9c57fe6ea09a947adc24f5fd865453d37",
            "-", 7776bfa9c57fe6ea09a947adc24f5fd865453d37, 536576,
            24d0ed174c52f0e56ba942b8032571b106767494, package_extract_file("patch/firmware-update/BTFM.bin.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/BTFM.bin.p \".");
apply_patch("EMMC:/dev/block/bootdevice/by-name/dsp:16777216:6d6bf7ccf098c013339cc8bc9e1d740b13f898e6:16777216:9cfb4ec9ebad969493a055ed0a30be1b1ac4d6e7",
            "-", 9cfb4ec9ebad969493a055ed0a30be1b1ac4d6e7, 16777216,
            6d6bf7ccf098c013339cc8bc9e1d740b13f898e6, package_extract_file("patch/firmware-update/dspso.bin.p")) || abort("E3008: Failed to apply patch \"patch/firmware-update/dspso.bin.p \".");
package_extract_file("META-INF/com/miui/miui_update", "/cache/miui_update");
set_metadata("/cache/miui_update", "uid", 0, "gid", 0, "mode", 0555, "capabilities", 0x0);
run_program("/cache/miui_update");
delete("/cache/miui_update");
show_progress(0.600000, 400);
ui_print("Patching system image after verification.");
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.");
show_progress(0.100000, 2);
