aboutsummaryrefslogtreecommitdiffstats
path: root/pt_br/warning.png
blob: be0546fd95ab34a323f40adff1fe72b9bd762d99 (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 30 00 00 00 30 08 06 00 00 00 57 02 f9 .PNG........IHDR...0...0.....W..
0020 87 00 00 00 09 70 48 59 73 00 00 6e b9 00 00 6e b9 01 7b 67 90 7a 00 00 00 06 62 4b 47 44 00 ff .....pHYs..n...n..{g.z....bKGD..
0040 00 ff 00 ff a0 bd a7 93 00 00 0e 36 49 44 41 54 78 da 95 5a 6b ac 5d c7 55 5e 6b 66 9f 73 ee c3 ...........6IDATx..Zk.].U^kf.s..
0060 f7 69 e7 3a f6 75 7d 93 34 49 13 68 6a 89 38 04 27 94 f4 67 1b 68 41 35 09 02 95 52 50 55 04 34 .i.:.u}.4I.hj.8.'..g.hA5...RPU.4
0080 15 b4 89 00 09 7e b7 52 52 a0 a4 7f e0 07 a4 a5 aa 48 ab 22 55 20 55 20 01 a1 41 e4 07 35 8f d8 .....~.RR........H."U.U...A..5..
00a0 49 95 a4 8e 1f d7 8e 5f bd f6 7d df f3 d8 33 8b 6f ad 99 9b 7d b6 b7 ee 0d dd f6 97 79 ec 99 35 I......_..}...3.o...}.......y..5
00c0 df b7 66 cd 63 9f 98 e9 1d 9e 7f f6 8e 3c 52 01 28 a5 8c 4e 8e 45 c2 86 08 8d 31 6b dd bb f1 ea ..f.c........<R.(..N.E....1k....
00e0 67 80 87 80 f7 32 f3 bb 90 ce 00 23 79 80 2e b0 4c 22 8b 48 4f a2 ee 3f 90 7e b7 4f 74 fa 27 a2 g....2.....#y...L".HO..?.~.Ot.'.
0100 d0 29 c7 e4 99 3d 0c 45 52 73 79 3c 16 a2 9f 8e 71 57 7e bb 0a f8 57 ef 6e 6e ec 44 24 66 31 fb .)...=.ERsy<....qW~...W.nn.D$f1.
0120 81 c7 81 c7 40 f8 7e 72 6e 8c 75 5c 11 16 1d 34 4a 6d 10 76 da db 11 da 8a 55 89 6c 52 8c df 43 ....@.~rn.u\...4Jm.v.....U.lR..C
0140 fe 9b c0 37 80 ab e6 19 62 fc a5 1a eb 87 cb f8 a3 09 f8 17 10 77 37 b5 13 10 a3 44 4b bd fb 14 ...7....b............w7....DK...
0160 88 7c 9c 9d 9b 22 55 54 06 96 f4 4e d0 8f bd 77 ec c6 c6 c8 15 05 6a a0 a9 2c 29 6e 6d 51 0c 51 .|..."UT...N...w......j..,)nmQ.Q
0180 24 3b d7 a9 9c c2 8b 2a 82 90 15 b4 7b 8e 89 9e c1 bb 0b d0 aa 4a 85 d1 75 9b 61 ac 84 ec 2e e0 $;.....*....{........J..u.a.....
01a0 85 ec f5 15 60 5a 07 67 76 40 84 82 36 b8 7e 0e 86 ff 00 c4 27 25 04 38 5a 02 c3 c6 c8 dc 2d 6e ....`Z.gv@..6.~.....'%.8Z.....-n
01c0 e2 c8 11 9e 78 df 7d 32 76 c7 1d dc 9e 9b 23 bf 67 0f b9 56 8b 24 0b 08 6b 6b d4 bf 76 8d b6 4e ....x.}2v.....#.g..V.$..kk..v..N
01e0 bf 29 eb 27 4f f2 fa cb 2f 4b f7 ca 55 65 24 d0 eb a1 3a 09 21 f9 3c 4a 7f 22 2d 37 70 bd e8 60 .).'O.../K..Ue$...:.!.<J."-7p..`
0200 20 de 0b 8d df cf fc 8e 95 71 67 01 ff 36 14 32 9a 0b 22 5e 90 80 f4 8f c3 d0 57 40 fc 7e 35 18 .........qg..6.2.."^......W@.~5.
0220 42 8c ad d1 51 3f fb c8 fb 79 df a3 3f 2b 20 ce c5 d4 24 5a 46 8a bd 9e 41 06 03 82 48 f0 49 ab B...Q?...y..?+....$ZF...A...H.I.
0240 06 04 89 db 6d 72 23 23 c4 45 01 41 eb b4 71 ea 94 2c 7d e7 3b 7c e3 85 17 a4 dc ea 06 cc 9c 63 ....mr##.E.A..q..,}.;|.........c
0260 fc 81 90 ff 24 a2 4f 80 dc ab 80 6f 31 87 92 aa e7 c1 21 11 dc 24 9f 9f 4c 5e 63 1c 04 fe 0a e4 ....$.O....o1.....!..$..L^c.....
0280 f7 84 41 59 fa 76 db ef ff c8 87 f9 d6 5f f9 65 19 5d 58 e0 80 d0 28 57 56 28 76 bb 26 40 48 8c ..AY.v......._.e.]X...(WV(v.&@H.
02a0 74 b6 41 20 83 44 d2 bb 18 ac 4c c4 10 d2 a1 62 66 86 8a c9 49 ea 5f be 2c 57 9f ff 5b be f6 ed t.A..D....L....bf...I._.,W..[...
02c0 bf 97 d8 eb 07 df f6 05 45 59 43 c7 5f 47 e3 6f 39 13 21 a1 34 ba 62 fd 7f b2 94 4a c0 77 73 cc ........EYC._G.o9.!.4.b....J.ws.
02e0 33 10 d2 e0 3e 22 8b f2 a7 41 fe 59 20 86 32 c8 f4 91 f7 f9 85 cf 7d 56 c6 ef b9 87 07 d7 af 5b 3...>"...A.Y..2.......}V.......[
0300 58 08 08 31 9b 99 44 34 03 f5 96 1a a2 20 89 f5 77 21 68 68 59 9f 62 6a 8a 3a f3 f3 d4 5b 5c 94 X..1..D4........w!hhY.bj.:...[\.
0320 8b 5f fa 12 af fe d7 ff 04 df f2 8c 97 0e 78 02 f8 b2 63 f6 e8 19 1c 13 a9 90 02 a6 1e 08 42 fc ._............x...c...........B.
0340 e2 b0 e7 c5 fc 97 3c 0f f2 0c f2 9a 97 10 79 fe e3 1f 73 f3 9f fc a4 84 cd 4d 2e 6f dc b0 b0 30 ......<.......y...s......M.o...0
0360 c4 58 27 1c 35 1f 6a de cf f9 86 48 c0 ca 08 37 13 d3 be e5 16 6a 1f 38 20 d7 9e 7f 9e 2f 3f f7 .X'.5.j....H...7.....j.8...../?.
0380 95 e8 9c 13 70 f5 68 f4 19 74 7d 96 91 67 75 6c 15 3f 75 01 30 a6 85 98 c3 e6 1b 24 16 ff ee f6 ....p.h..t}..gul.?u.0......$....
03a0 df 7f 8a f7 7e f0 83 d2 bb 78 91 25 a0 ca 39 25 9c f7 9d 3a 49 21 b2 18 47 a6 e6 75 bc b3 30 43 ....~....x.%..9%...:I!..G..u..0C
03c0 5a 23 9f cb 69 fc 7e df d2 b1 7b ef 95 f5 13 27 f8 c2 d3 cf 08 95 83 c8 8e 55 c4 2f 09 b6 5b 88 Z#..i.~...{....'.........U./..[.
03e0 70 ea b6 ed 59 e7 7f 57 32 49 0d ab 59 16 b9 0f a4 5f 44 cd 14 ec c6 3b fe f8 8f dc f4 c3 0f 49 p...Y..W2I..Y...._D....;.......I
0400 ef c2 05 06 b1 da a0 96 1f 2a 07 0d 89 a2 45 b3 8f 3d 4e 6e 74 c4 44 9a 71 1d 03 6b 65 e9 6b 5f .........*....E..=Nnt.D.q..ke.k_
0420 25 82 08 87 72 7d 76 ea e1 25 68 33 72 e7 9d d2 3b 77 8e 2f 7c fe 0b 50 1e 1c f8 ae e2 fd fb d1 %...r}v..%h3r...;w./|..P........
0440 ea 65 4e ec c5 8e 96 8d 3c c6 72 2c d4 fd 2d 64 ff 02 ef a7 62 88 e1 f0 13 bf e3 26 8f 1e 95 ee .eN.....<.r,..-d....b......&....
0460 d9 b3 26 37 c2 43 02 60 ca 35 ad 03 75 e5 e6 26 f5 36 36 88 3a 6d a2 91 51 62 c5 a8 01 75 1d ea ..&7.C.`.5..u..&.66.:m..Qb...u..
0480 e2 fd 00 42 1a fd 07 f5 3c 79 47 9b af 9c e2 d6 be 7d 72 e0 b7 7f cb 49 90 00 4e 93 c0 5f 7a c7 ...B....<yG......}r....I..N.._z.
04a0 6d 2a 2c b4 68 4b 7d 33 ee ed 5e e0 66 78 40 84 7d 1e de 39 16 cb 50 ce 3d fa 21 3f f3 c8 23 d2 m*,.hK}3..^.fx@.}..9..P.=.!?..#.
04c0 5b 3c 9f c9 d7 89 c7 66 1e e4 ba 26 00 fd 6d 0b 8d 86 9c 2f 4b 7b 57 42 40 ea d3 20 9e f3 b0 d5 [<.....f...&..m..../K{WB@.......
04e0 eb d9 b6 bb f5 fa 6b dc b9 6d 41 f6 fe c2 87 7d 1c c4 92 3d 3f 08 8e 4f 32 ec 3b 11 07 b7 50 c1 ......k..mA....}...=?..O2.;...P.
0500 69 29 44 62 59 20 76 4f 09 5e 8e 1e 9a f7 73 bf 78 5c b7 37 46 07 25 df 98 66 a4 f5 85 8a a7 ec i)DbY.vO.^....s.x\.7F.%..f......
0520 6e 51 4f ab 24 62 00 4a f5 f9 89 c8 f7 30 03 4e 05 79 9f 6d 54 0b 9f a4 69 5f 23 a5 fb da 6b 3c nQO.$b.J.....0.N.y.mT...i_#...k<
0540 f1 d0 43 d4 3d f5 8a ef fe e0 4d 72 6d f7 24 c7 f8 75 bc 3c bb 7d 43 e1 bc a0 7f 17 ed 67 95 c7 ..C.=.....Mrm.$..u.<.}C......g..
0560 dc f1 8f b2 9d b4 dd 6e 23 54 aa 10 6a e6 4b b4 57 92 02 42 f6 47 32 32 a9 fe e6 96 b5 21 0d 93 .......n#T..j.K.W..B.G22.....!..
0580 e4 ed 6c a3 6e 87 6e b2 3f b8 78 51 a6 1f fd 10 b3 a3 92 45 66 20 ec f7 f2 ae 93 2e 4e 4c 72 80 ..l.n.n.?.xQ.......Ef.......NLr.
05a0 9d fb 55 19 04 da 73 cf dd 7e ec ee bb 09 5b 25 53 08 b5 b8 07 6a e5 ba a8 2c 60 6b 93 62 9a 95 ..U...s..~....[%S....j...,`k.b..
05c0 1a 6c 06 f4 d0 eb 75 b3 2d 25 da 70 4c 43 84 ce 70 79 ed 1a fb e9 69 1a 3f 72 c4 cb c0 66 e6 63 .l....u.-%.pLC..py....i.?r...f.c
05e0 2e ca 41 c7 1c 0b 26 7b 8e 23 dd 0b 94 93 3f 75 ac c8 c6 aa 7d bb b6 f5 6d 6f 9f 80 e5 73 1d b1 ..A...&{.#....?u....}...mo...s..
0600 09 e8 eb c0 49 80 a5 f6 e4 6d b7 df 85 00 e6 44 32 84 66 18 2a 6e b6 8f 84 b0 7e ca 4b 97 68 fc ....I....m.....D2.f.*n....~.K.h.
0620 81 a3 bc f5 df ff ab b3 30 0b 15 c7 05 67 43 c1 69 4b 3b ae b1 df 9e 9d e6 91 85 c3 14 d6 d7 c9 ........0....gC.iK;.............
0640 bc bf 83 51 b9 29 6e 45 f3 aa 1e 8b af 07 72 c3 9e cf 5e b0 59 e9 41 60 e9 b8 29 a0 b1 35 37 9d ...Q.)nE......r...^.Y.A`..)..57.
0660 54 fe f0 1a 8d dc 73 2f b5 e7 6f e5 c1 c5 cb ba 16 3e 4a ec 9e 2d 40 f4 6e 88 38 aa 6d 47 0e 2f T.....s/..o......>J..-@.n.8.mG./
0680 38 87 0b 57 dc dc 30 8f 1a d9 d8 14 21 b5 c5 67 82 b4 b5 85 47 bf d7 57 b2 0d 01 02 f4 21 d0 ee 8..W..0.....!..g....G..W.....!..
06a0 02 e9 a2 97 6d 36 44 34 04 31 21 dd ea a6 f3 e1 3d ef 71 2a 80 99 ee a7 50 de a5 21 f4 30 1a ec ....m6D4.1!.....=.q*....P..!.0..
06c0 41 1a 3b f3 07 dd f6 56 66 4f 33 64 6a bb 44 2d 04 98 21 a0 8f 30 e9 91 64 51 31 0b 70 a9 8f 09 A.;....VfO3dj.D-..!..0..dQ1.p...
06e0 28 bd b3 05 4c 69 06 76 70 52 bd 6c 56 42 49 e1 fa 12 61 5b e5 0d d4 82 ef 04 94 3d 5c 30 d3 31 (...Li.vpR.lVBI...a[.......=\0.1
0700 46 63 9d 59 dc 0c ed b8 b7 05 46 54 c5 77 d3 43 cd 93 14 86 42 af 07 6e 3d 14 eb 21 94 c5 d8 ec Fc.Y......FT.w.C....B..n=..!....
0720 04 ef 9a 21 d4 24 5e b7 4d 62 eb 20 e2 0e d6 41 18 b9 36 8b d6 2b 77 9d 81 f7 92 0a 68 79 66 9c ...!.$^.Mb.....A..6..+w.....hyf.
0740 a0 a2 02 ca 41 fd c2 15 df 49 04 8c 11 04 80 58 1f 80 e8 86 00 b5 31 e8 67 01 16 42 25 b1 48 2d ....A....I.....X......1.g..B%.H-
0760 2c 77 15 a4 6b 12 b7 5f fd d2 f3 63 63 1c d7 30 0f 9e ee d3 19 38 ac 02 5d a1 59 b4 85 07 05 6a ,w..k.._...cc..0.....8..].Y....j
0780 ed 89 b1 3e 95 55 be 21 42 98 54 00 48 0e 76 9c 81 01 88 87 c8 6f 87 90 05 c7 ff c7 39 43 65 6e ...>.U.!B.T.H.v......o......9Cen
07a0 b7 f4 5b 82 e3 ea 06 c1 d2 61 9d 81 69 ca 47 1a a6 a9 3e bd cd dd 60 e7 b8 65 24 4a 10 10 69 08 ..[......a..i.G...>...`..e$J..i.
07c0 00 22 cc 97 89 e3 20 8d c1 8d 05 6b 69 aa cf a9 44 f3 7e e2 a5 eb a9 93 be e8 58 87 64 9e 56 01 .".........ki...D.~.......X.d.V.
07e0 a3 36 4a 08 16 ff 8e 59 f3 cd 85 b4 8b 20 c9 8b 38 96 10 10 82 95 81 4c 88 72 59 f0 2e 09 c0 54 .6J....Y........8......L.rY....T
0800 34 c6 30 87 c4 90 78 00 50 6b 79 10 82 c7 47 c9 e3 5b a1 75 e8 90 dd 91 08 07 22 3b 52 81 a3 45 4.0...x.Pky...G..[.u......";R..E
0820 be 47 24 ef 43 00 6e 8d 16 a3 18 c9 50 17 d0 44 7e 5f d9 18 3e 85 63 35 03 0a 0a da 16 c4 ba f9 .G$.C.n.....P..D~_..>.c5........
0840 46 1a 63 22 89 d4 1e 90 c3 36 9e 7e 10 c0 86 e2 a7 a6 ec 46 ab 4f c4 d9 34 38 73 86 36 ff e9 1f F.c".....6.~.......F.O..48s.6...
0860 29 ae ae 41 48 1a b2 80 0a c8 e1 71 25 31 38 7f 9e e8 c0 01 e2 c2 03 2d a8 77 a6 0e 7f ab 38 04 )..AH......q%18........-.w....8.
0880 c8 10 aa 3c 20 9c 3c 9b 2f 71 19 75 01 8e 00 c7 c4 4a 12 8b 91 5b 6d 84 44 07 24 47 90 6f 81 94 ...<..<./q.u.....J...[m.D.$G.o..
08a0 4b 87 9e de 68 97 97 09 df 03 14 ae 5e a1 70 63 05 82 93 2d f6 09 d9 ef 5b 05 c8 2f 83 dc 38 39 K...h.......^.pc...-....[../..89
08c0 d6 1b 1f 75 5f 7d 55 bd 60 1f 24 ce ee f4 1d a4 18 a0 83 14 b0 f8 f3 3e 79 cb 44 72 be 2d 38 2a ...u_}U.`.$............>y.Dr.-8*
08e0 c6 37 a9 15 d2 57 59 ac 04 a4 3c d2 36 3c 5b 80 a4 9f 9c a2 d8 ef e9 81 69 27 ac 28 e1 d5 55 10 .7...WY...<.6<[.........i'.(..U.
0900 5f 27 d9 ec 91 04 da 7e 52 a8 14 04 0e 5c fd 50 50 3d cb 1a 42 e7 99 79 de 46 f3 cc 48 ed 3e 1e _'.....~R....\.PP=..B..y.F..H.>.
0920 ba 80 ac d4 7f ba 50 63 ac 29 c3 b0 37 8f e5 5f db c8 79 67 07 19 4f ce 90 e4 50 8a 80 75 43 aa ......Pc.)..7.._..yg..O...P..uC.
0940 5b b3 9c 3f 47 fd a5 65 da 60 8b ba 9a 6d b3 9b bd cb 2d d6 fa 3a e1 28 c3 ed 05 d0 46 e7 0b 16 [..?G..e.`...m....-..:.(....F...
0960 3a 89 c2 31 90 90 ea 97 cf d4 b0 b2 9c 43 68 d8 68 28 41 ca da 25 8f 03 8c 72 31 62 5f 54 c8 14 :..1.........Ch.h(A..%...r1b_T..
0980 55 9f 3c 6b 2d cd aa f9 4e 0a 15 a6 e1 27 13 ac c8 56 e5 5a c1 92 ed 06 a7 74 f3 7f 09 e5 4f b1 U.<k-...N....'...V.Z.....t....O.
09a0 29 aa db 63 52 4d 37 19 63 43 a5 2d 3f 0e 05 8f 81 0b f4 e9 ff 70 29 c5 b2 9d 27 76 c6 c0 f3 d7 )..cRM7.cC.-?........p)...'v....
09c0 a9 25 a2 4e ce 7b 7b 65 b3 96 91 06 e9 aa dc ac 7a 89 4f b5 e9 2e 94 4f a0 30 c1 62 8c 79 c7 8e .%.N.{{e........z.O....O.0.b.y..
09e0 35 67 35 43 60 29 12 2d 22 c3 88 71 5b 1b 32 34 22 c4 c9 ea 8a 9d 9a fb 5c cd 04 c4 ec 46 b8 51 5g5C`).-"..q[.24".......\....F.Q
0a00 96 3c dc 3a d2 fb 0b d8 7a 43 44 4e a0 d5 07 98 2d 12 fc 2e 9d 53 99 6f 2a 4b 22 31 c9 e9 f7 d4 .<.:....zCDN....-....S.o*K"1....
0a20 15 c4 79 f3 c1 bb 02 6d 5c 9d b4 11 06 ea cf ae 22 8c 23 ca df 23 a1 d7 8b 1c f6 7f 87 ca 0f 00 ..y....m\.......".#..#..........
0a40 b2 bb fa da e0 0d af 75 85 ec ba bc 67 df 64 da 82 2b 92 b6 d5 06 ec 34 5d 54 76 2a 37 ee 46 b8 .......u....g.d..+.....4]Tv*7.F.
0a60 59 96 da 62 f9 96 8d fb fd b6 15 0f 02 27 81 59 ce b6 77 23 dc f4 58 8a 98 eb 25 d1 ca f4 14 dd Y..b.........'.Y..w#..X...%.....
0a80 f1 ed 7f 20 3f 33 6b 17 36 6b ef 0b ec e5 d7 e9 cc cf ff 1c 4d 2d af d0 5e fb d5 7d 07 01 bb 8f ....?3k.6k..........M-..^..}....
0aa0 bb cd 6d 09 b8 0f b8 64 9b 02 aa df 42 f5 d7 50 f1 19 20 b0 ae c5 4a 48 83 70 a3 2e 0f 54 00 1d ..m....d....B..P......JH.p...T..
0ac0 c7 20 3f 43 6e ef 5e 3d 99 f3 0b 33 67 ef 5a c3 eb e6 1d 09 d7 e3 de b8 b1 0d f3 37 4a 1e 70 b6 ..?Cn.^=...3g.Z............7J.p.
0ae0 d4 38 85 c0 9f c2 c0 0d 23 cf 56 c7 40 36 62 69 1d 34 84 5c f6 40 9b c4 2e 75 86 7e df 90 cb f6 .8......#.V.@6bi.4.\.@...u.~....
0b00 ce d7 fb d4 c1 19 cd 71 19 10 a0 10 a1 eb c0 9f 6d 0b 33 01 80 a6 67 d1 e0 99 6c 38 e4 8e d2 24 .......q........m.3...g...l8...$
0b20 9c 3d 05 f0 30 f2 0c b4 35 67 ef 25 25 64 79 cb 74 b2 fb a8 66 a3 b2 db 74 54 ed 17 cc 90 c3 ee .=..0...5g.%%dy.t...f...tT......
0b40 69 34 3b 07 38 40 8a d1 36 51 17 0e 62 a4 b1 0f 01 44 1f c1 8b 07 73 28 f9 5a 28 0d 2f 5a e7 f4 i4;.8@..6Q..b....D....s(.Z(./Z..
0b60 3f d5 69 8c 38 6f c7 40 3c 31 41 dc 02 4d ef ab 33 c4 7b ab 1b 99 98 a4 16 66 c2 a3 8f a4 4b 1c ?.i.8o.@<1A..M..3.{......f....K.
0b80 60 a9 22 b3 ad c7 7c 3e 9f 42 f6 cf 4b c0 17 f3 ec 44 8b ce ad 7e 92 42 3d fb 24 d0 4b f7 a7 50 `."...|>.B..K....D...~.B=.$.K..P
0ba0 7a 11 9d 26 6d 5b cd 4a 89 f1 38 23 02 b4 d2 65 cf 52 94 33 9c 08 b5 a6 67 88 d6 d6 93 a8 10 2a z..&m[.J..8#...e.R.3....g......*
0bc0 01 a8 1b dd 3f 47 7e a4 4d 4e 99 6d 5f 97 91 da 35 03 c2 28 03 f5 0a f5 3c 0f 6d ed 2b c0 6f 02 ....?G~.MN.m_...5..(....<.m.+.o.
0be0 83 ec 4b 31 91 6f 74 6a 0b ca b1 50 44 e1 71 e4 9f 07 42 5e e4 fa b9 29 6e 62 52 53 08 00 3a 1d ..K1.otj...PD.q...B^...)nbRS..:.
0c00 15 62 a0 a2 55 5d f2 90 ca 9e 3d 79 86 86 77 6f 98 dd 58 37 72 02 90 c2 88 97 00 bc 38 fc e3 d6 .b..U]....=y..wo..X7r.......8...
0c20 d6 a6 c8 da 1a 4b 88 62 02 84 7c e6 f4 cd ec d0 48 f9 29 bc b2 ac e2 44 c9 7b 4e ff db 73 3f 2a .....K.b..|.....H.)....D.{N..s?*
0c40 ff 9c d3 f4 31 3c e3 d4 2b 5e 45 8c 8f 27 f2 ed 0e d0 36 90 89 51 11 45 22 ee 00 76 d5 26 12 01 ....1<..+^E..'....6..Q.E"..v.&..
0c60 08 33 01 c9 eb d5 af 6f 80 64 c4 e5 1b 02 28 f9 98 b7 4d 0f 3c 91 c9 1b dd c6 f9 70 ba 03 5b b9 .3.....o.d....(...M.<......p..[.
0c80 22 6f 73 1a d9 01 bd 3f 0d 13 cf 66 2f 88 8a 73 33 33 d2 ba ed 76 76 b7 cc d9 95 9b f2 6c 00 49 "os....?...f/..s33...vv......l.I
0ca0 48 d1 aa d6 40 4d 40 4c 61 03 58 b8 e8 b7 77 0f a4 91 92 12 5f 5f a3 b0 b8 28 e5 85 45 96 6e 2f H...@M@La.X...w.....__...(..E.n/
0cc0 30 1b 37 47 62 e4 bf 4c dc 24 7f b8 3b b4 2e df ac 42 c9 c4 b4 e4 6d 11 c7 61 ec af f5 ae 04 94 0.7Gb..L.$..;....B....m..a......
0ce0 84 7a 1e 1b e1 e2 f0 82 14 77 de c5 7e 6e 3f f1 d8 58 16 00 23 59 88 85 96 f3 39 5a c5 c8 67 8f .z.......w..~n?..X..#Y....9Z..g.
0d00 db 75 dd 88 77 bb 14 57 57 8c f8 e0 8d d7 39 5e bd 22 12 65 7b af 5f 27 a1 df 10 78 9e d5 f3 dc .u..w..WW.....9^.".e{._'...x....
0d20 20 df 3c 4b ce 74 aa fc 00 cd db 1e 22 d8 b6 af 1f 83 d1 e7 50 fd 00 10 25 a6 50 73 53 93 5c 2c ..<K.t......".......P...%.PsS.\,
0d40 dc 2e c5 bb ef 64 3f 7f 88 dc ec 2c 39 dd 85 46 c7 80 51 13 45 ce 19 79 23 8b 6f 59 c1 47 8c ac .....d?....,9..F..Q.E..y#.oY.G..
0d60 ac d8 97 56 79 f6 8c 94 a7 7f c0 e1 ad b7 44 7a 18 d1 d9 fa 76 22 74 02 c4 7e 0d e4 5f d9 81 fc ...Vy.........Dz....v"t..~.._...
0d80 ce 27 f8 d9 4e 5a 0f b7 01 8b 40 24 fb 56 89 31 5a 74 7d 16 f8 43 66 9a 32 bf 46 0a b6 c0 47 db .'..NZ....@$.V.1Zt}..Cf.2.F...G.
0da0 ce ef db c7 ee c0 41 f1 b7 1e 64 fd 00 77 fa 3d 3b 36 ae 02 6c 91 0a 76 a1 78 63 89 c2 95 2b 12 ......A...d..w.=;6..l..v.xc...+.
0dc0 2e bd c5 e1 f2 25 81 90 28 a5 7d 6b fa 1c 32 ab 28 7d 01 f9 2f ea ad 1c 65 a7 c1 c7 dc 20 5f 13 .....%..(.}k..2.(}../...e....._.
0de0 d0 78 ce 75 f2 21 52 1d e4 28 01 c9 d8 21 11 7a 12 e9 27 88 b2 10 7d 1f 54 6b da 2f b0 06 38 ed .x.u.!R..(...!.z..'...}.Tk./..8.
0e00 4e 45 de 1a 6c e1 6a ac 8b 12 36 7b ac fe 26 c9 c4 57 50 fb 55 a4 4f 67 bf b9 bc 80 81 26 f9 ba NE..l.j...6{..&..WP.U.Og.....&..
0e20 80 5d 9e f3 23 8d 2a 9d de 98 f3 73 c0 e3 cc f4 18 d2 a3 c0 58 1e 90 a5 31 b4 d6 36 2e 64 9b c0 .]..#.*....s........X...1..6.d..
0e40 09 91 b7 ff b1 c7 95 fc de b6 c9 5d 88 37 cd fe 88 22 38 0b 09 0e 94 e3 86 d6 54 ff dc 86 d9 6e ...........].7..."8.......T....n
0e60 89 ef 02 a6 81 ed de 4a e1 46 f6 ee 29 91 f4 cf 6d 28 d0 69 0f 37 84 25 23 ee 8d 78 d3 eb bb 3e .......J.F..)...m(.i.7.%#..x...>
0e80 ff 07 e4 6b 2e c9 d4 e5 55 04 00 00 00 22 7a 54 58 74 53 6f 66 74 77 61 72 65 00 00 78 da 2b 2f ...k....U...."zTXtSoftware..x.+/
0ea0 2f d7 cb cc cb 2e 4e 4e 2c 48 d5 cb 2f 4a 07 00 36 d8 06 58 10 53 ca 5c 00 00 00 00 49 45 4e 44 /.....NN,H../J..6..X.S.\....IEND
0ec0 ae 42 60 82 .B`.
#n671'>671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031
package install_any; # $Id$

use strict;

our @ISA = qw(Exporter);
our %EXPORT_TAGS = (
    all => [ qw(getNextStep spawnShell addToBeDone) ],
);
our @EXPORT_OK = map { @$_ } values %EXPORT_TAGS;

#-######################################################################################
#- misc imports
#-######################################################################################
use common;
use run_program;
use fs::type;
use fs::format;
use partition_table;
use devices;
use fsedit;
use modules;
use detect_devices;
use lang;
use any;
use log;
use pkgs;

#- boot medium (the first medium to take into account).
our $boot_medium = 1;
our $current_medium = $boot_medium;
our $asked_medium = $boot_medium;
our @advertising_images;

#- current ftp root (for getFile) -- XXX must store this per media
our $global_ftp_prefix;

sub drakx_version() { 
    $::move ? sprintf "DrakX-move v%s", cat_('/usr/bin/stage2/move.pm') =~ /move\.pm,v (\S+ \S+ \S+)/
	    : sprintf "DrakX v%s built %s", $::testing ? ('TEST', scalar gmtime()) : (split('/', cat__(getFile("install/stage2/VERSION"))))[2,3];
}

#-######################################################################################
#- Media change variables&functions
#-######################################################################################
my $postinstall_rpms = '';
my $cdrom;
my %iso_images;

sub mountCdrom {
    my ($mountpoint, $o_cdrom) = @_;
    $o_cdrom = $cdrom if !defined $o_cdrom;
    eval { fs::mount::mount($o_cdrom, $mountpoint, "iso9660", 'readonly') };
}

sub useMedium($) {
    #- before ejecting the first CD, there are some files to copy!
    #- does nothing if the function has already been called.
    $_[0] > 1 and method_allows_medium_change($::o->{method}) and setup_postinstall_rpms($::prefix, $::o->{packages});

    $asked_medium eq $_[0] or log::l("selecting new medium '$_[0]'");
    $asked_medium = $_[0];
}
sub changeMedium($$) {
    my ($method, $medium_name) = @_;
    log::l("change to medium $medium_name for method $method (refused by default)");
    0;
}
sub relGetFile($) {
    local $_ = $_[0];
    if (my ($arch) = m|\.([^\.]*)\.rpm$|) {
	$_ = install_medium::by_id($asked_medium)->{rpmsdir} . "/$_";
	s/%{ARCH}/$arch/g;
	s,^/+,,g;
    }
    $_;
}
sub askChangeMedium($$) {
    my ($method, $medium_name) = @_;
    my $allow;
    do {
	local $::o->{method} = $method = 'cdrom' if install_medium::by_id($medium_name)->is_suppl_cd;
	eval { $allow = changeMedium($method, $medium_name) };
    } while $@; #- really it is not allowed to die in changeMedium!!! or install will core with rpmlib!!!
    log::l($allow ? "accepting medium $medium_name" : "refusing medium $medium_name");
    $allow;
}

sub method_is_from_ISO_images($) {
    my ($method) = @_;
    $method eq "disk-iso" || $method eq "nfs-iso";
}
sub method_allows_medium_change($) {
    my ($method) = @_;
    $method eq "cdrom" || method_is_from_ISO_images($method);
}

sub look_for_ISO_images() {
    $iso_images{media} = [];

    ($iso_images{loopdev}, $iso_images{mountpoint}) = cat_("/proc/mounts") =~ m|(/dev/loop\d+)\s+(/tmp/image) iso9660| or return;

    my $get_iso_ids = sub {
	my ($F) = @_;
	my ($vol_id, $app_id) = c::get_iso_volume_ids(fileno $F);
	#- the ISO volume names must end in -Disc\d+ if they are belong (!) to a set
	my ($cd_set) = $vol_id =~ /^(.*)-disc\d+$/i;
	#- else use the full volume name as CD set identifier
	$cd_set ||= $vol_id;
	{ cd_set => $cd_set, app_id => $app_id };
    };

    sysopen(my $F, $iso_images{loopdev}, 0) or return;
    put_in_hash(\%iso_images, $get_iso_ids->($F));

    my $iso_dir = $ENV{ISOPATH};
    #- strip old root and remove iso file from path if present
    $iso_dir =~ s!^/sysroot!!; $iso_dir =~ s![^/]*\.iso$!!;

    foreach my $iso_file (glob("$iso_dir/*.iso")) {
	sysopen($F, $iso_file, 0) or next;
	my $iso_ids = $get_iso_ids->($F);
	$iso_ids->{file} = $iso_file;
	push @{$iso_images{media}}, $iso_ids;
    }
    1;
}

sub find_ISO_image_labelled($) {
    %iso_images or look_for_ISO_images() or return;
    my ($iso_label) = @_;
    find { $_->{app_id} eq $iso_label && $_->{cd_set} eq $iso_images{cd_set} } @{$iso_images{media}};
}

sub changeIso($) {
    my ($iso_label) = @_;
    my $iso_info = find_ISO_image_labelled($iso_label) or return;

    eval { fs::mount::umount($iso_images{mountpoint}) };
    $@ and warnAboutFilesStillOpen();
    devices::del_loop($iso_images{loopdev});

    $iso_images{loopdev} = devices::set_loop($iso_info->{file});
    eval { 
	fs::mount::mount($iso_images{loopdev}, $iso_images{mountpoint}, "iso9660", 'readonly');
	log::l("using ISO image '$iso_label'");
	1;
    };
}

sub errorOpeningFile($) {
    my ($file) = @_;
    $file eq 'XXX' and return; #- special case to force closing file after rpmlib transaction.
    $current_medium eq $asked_medium and log::l("errorOpeningFile $file"), return; #- nothing to do in such case.
    install_medium::by_id($asked_medium)->selected or return; #- not selected means no need to worry about.
    my $current_method = install_medium::by_id($asked_medium)->method || $::o->{method};

    my $max = 32; #- always refuse after $max tries.
    if ($current_method eq "cdrom") {
	cat_("/proc/mounts") =~ m,(/dev/\S+)\s+(/mnt/cdrom|/tmp/image),
	    and ($cdrom, my $mountpoint) = ($1, $2);
	return unless $cdrom;
	ejectCdrom($cdrom, $mountpoint);
	while ($max > 0 && askChangeMedium($current_method, $asked_medium)) {
	    $current_medium = $asked_medium;
	    mountCdrom("/tmp/image");
	    my $getFile = getFile($file); 
	    $getFile && @advertising_images and copy_advertising($::o);
	    $getFile and return $getFile;
	    $current_medium = 'unknown'; #- do not know what CD is inserted now.
	    ejectCdrom($cdrom, $mountpoint);
	    --$max;
	}
    } else {
	while ($max > 0 && askChangeMedium($current_method, $asked_medium)) {
	    $current_medium = $asked_medium;
	    my $getFile = getFile($file); $getFile and return $getFile;
	    $current_medium = 'unknown'; #- do not know what CD image has been copied.
	    --$max;
	}
    }

    #- Do not unselect supplementary CDs.
    return if install_medium::by_id($asked_medium)->is_suppl_cd;

    #- keep in mind the asked medium has been refused.
    #- this means it is no longer selected.
    install_medium::by_id($asked_medium)->refuse;

    #- on cancel, we can expect the current medium to be undefined too,
    #- this enables remounting if selecting a package back.
    $current_medium = 'unknown';

    return;
}
sub getFile {
    my ($f, $o_method, $o_altroot) = @_;
    my $current_method = ($asked_medium ? install_medium::by_id($asked_medium)->method : '') || $::o->{method};
    log::l("getFile $f:$o_method ($asked_medium:$current_method)");
    my $rel = relGetFile($f);
    do {
	if ($f =~ m|^http://|) {
	    require http;
	    http::getFile($f);
	} elsif ($o_method =~ /crypto|update/i) {
	    require crypto;
	    crypto::getFile($f);
	} elsif ($current_method eq "ftp") {
	    require ftp;
	    ftp::getFile($rel, @{ install_medium::by_id($asked_medium)->{ftp_prefix} || $global_ftp_prefix || [] });
	} elsif ($current_method eq "http") {
	    require http;
	    http::getFile(($ENV{URLPREFIX} || $o_altroot) . "/$rel");
	} else {
	    #- try to open the file, but examine if it is present in the repository,
	    #- this allows handling changing a media when some of the files on the
	    #- first CD have been copied to other to avoid media change...
	    my $f2 = "$postinstall_rpms/$f";
	    $o_altroot ||= '/tmp/image';
	    $f2 = "$o_altroot/$rel" if $rel !~ m,^/, && (!$postinstall_rpms || !-e $f2);
	    my $F; open($F, $f2) ? $F : do { $f2 !~ /XXX/ and log::l("Can not open $f2: $!"); undef };
	}
    } || errorOpeningFile($f);
}

sub getLocalFile {
    my ($file) = @_;
    my $F;
    open($F, $file) ? $F : do { log::l("Can not open $file: $!"); undef };
}

sub getAndSaveFile {
    my ($file, $local) = @_ == 1 ? ("install/stage2/live$_[0]", $_[0]) : @_;
    local $/ = \ (16 * 1024);
    my $f = ref($file) ? $file : getFile($file) or return;
    open(my $F, ">$local") or log::l("getAndSaveFile(opening $local): $!"), return;
    local $_;
    while (<$f>) { syswrite($F, $_) or die("getAndSaveFile($local): $!") }
    1;
}


#-######################################################################################
#- Post installation RPMS from cdrom only, functions
#-######################################################################################
sub setup_postinstall_rpms($$) {
    my ($prefix, $packages) = @_;

    $postinstall_rpms and return;
    $postinstall_rpms = "$prefix/usr/postinstall-rpm";

    require pkgs;

    log::l("postinstall rpms directory set to $postinstall_rpms");
    clean_postinstall_rpms(); #- make sure in case of previous upgrade problem.
    mkdir_p($postinstall_rpms);

    my %toCopy;
    #- compute closure of package that may be copied, use INSTALL category
    #- in rpmsrate.
    pkgs::select_by_package_names($packages, $packages->{needToCopy} || [], 0, \%toCopy);
    delete $packages->{rpmdb};

    my @toCopy = grep { $_ && !$_->flag_selected } map { $packages->{depslist}[$_] } keys %toCopy;

    #- extract headers of package, this is necessary for getting
    #- the complete filename of each package.
    #- copy the package files in the postinstall RPMS directory.
    #- last arg is default medium '' known as the CD#1.
    #- cp_af does not handle correctly a missing file.
    eval { cp_af((grep { -r $_ } map { "/tmp/image/" . relGetFile($_->filename) } @toCopy), $postinstall_rpms) };

    log::l("copying Auto Install Floppy");
    getAndSaveInstallFloppies($::o, $postinstall_rpms, 'auto_install');
}

sub clean_postinstall_rpms() {
    $postinstall_rpms and -d $postinstall_rpms and rm_rf($postinstall_rpms);
}


#-######################################################################################
#- Functions
#-######################################################################################
sub getNextStep {
    my ($o) = @_;
    find { !$o->{steps}{$_}{done} && $o->{steps}{$_}{reachable} } @{$o->{orderedSteps}};
}

sub dont_run_directly_stage2() {
    readlink("/usr/bin/runinstall2") eq "runinstall2.sh";
}

sub is_network_install {
    my ($o) = @_;
    member($o->{method}, qw(ftp http nfs));
}


sub start_i810fb() {
    my ($vga) = cat_('/proc/cmdline') =~ /vga=(\S+)/;
    return if !$vga || listlength(cat_('/proc/fb'));

    my %vga_to_xres = (0x311 => '640', 0x314 => '800', 0x317 => '1024');
    my $xres = $vga_to_xres{$vga} || '800';